From: "Qi, Fuli" <qi.fuli@jp.fujitsu.com>
To: 'Dan Williams' <dan.j.williams@intel.com>
Cc: linux-nvdimm <linux-nvdimm@lists.01.org>
Subject: RE: [RFC PATCH v4] ndctl: monitor: add ndctl monitor daemon
Date: Thu, 29 Mar 2018 10:02:27 +0000 [thread overview]
Message-ID: <0DEDF3B159719A448A49EF0E7B11E3222764A26E@g01jpexmbkw01> (raw)
In-Reply-To: <CAPcyv4jPghKyQ6AuVJ-R=fiKcQufzHs-DExzcyHTbshF-2bq1Q@mail.gmail.com>
> -----Original Message-----
> From: Dan Williams [mailto:dan.j.williams@intel.com]
> Sent: Thursday, March 15, 2018 3:20 AM
> To: Qi, Fuli/斉 福利 <qi.fuli@jp.fujitsu.com>
> Cc: linux-nvdimm <linux-nvdimm@lists.01.org>
> Subject: Re: [RFC PATCH v4] ndctl: monitor: add ndctl monitor daemon
>
> On Tue, Mar 13, 2018 at 4:33 AM, QI Fuli <qi.fuli@jp.fujitsu.com> wrote:
> > This is the v4 patch for ndctl monitor daemon, a tiny daemon to monitor the
> > smart events of nvdimm DIMMs. Users can run a monitor as a one-shot
> command
> > or a daemon in background by using the [--daemon] option. DIMMs to monitor
> > can be selected by [--dimm] [--bus] [--region] [--namespace] options.
> > When a smart event fires, monitor daemon will log the notification which
> > including dimm health status to syslog or a logfile by setting [--log] option.
> > The notification follows json format and can be consumed by log collectors
> > like Fluented.
> >
> > For example, a monitor daemon can be started by the following command:
> > # ndctl monitor --dimm nmem1 --log /var/log/monitor.log --daemon
> daemon-name
> >
> > Then check the monitor daemon status by using systemd:
> > # systemctl status ndctl-monitor@daemon-name.service
> >
> > To stop the monitor daemon by:
> > # systemctl stop ndctl-monitor@daemon-name.service
> >
> > Also, a monitor daemon can be started by systemd:
> > # systemctl start ndctl-monitor.service
> > Which monitors all dimms.
> >
> > In this implemention, when a ndctl monitor starts with [--daemon] option, all
> > the arguments will be saved into a temp file named as daemon-name and placed
> > under /etc/sysconfig/ndctl/ directory. The temp file would be used as an
> > EnvironmentFile by systemd, and it would be deleted automatically when the
> > systemd service is stopped.
>
> The monitors started by hand should be kept separate from the monitors
> started by systemd. The default monitor started by systemd should get
> its configuration from /etc/ndctl.conf, and we should otherwise have a
> --conf-file option to the monitor to override the default
> configuration. Any other monitors started outside of the systemd
> should remain independent.
>
I prefer to add an EnvironmentFile like /etc/sysconfig/ndctl/monitor to systemd
rather than add a configuration file. According to [1], environment variable
substitution is supported in systemd.service, so we can define the variables through
"EnvironmentFile=/etc/sysconfig/ndctl/monitor".
In this fashion, we do not need to add any extra codes to parse the configuration file.
In this case, [--conf-file] option is not necessary either.
According to [2], sytemd units can be instantiated from a template file, thus we only
need to add a template unit file in advance.
If user wants to run multiple monitors with different configurations, they can differentiate
them by adding multiple EnvironmentFiles, like /etc/sysconfig/ndctl/<monitor1...n>.
Then the monitors can be started by command like
"# systemctl start ndctl-monitor@<monitor1...n>.service".
When the monitors started by hand, it will do not need any configuration files,
because we can add options and parameters directly.
[1]https://www.freedesktop.org/software/systemd/man/systemd.service.html
[2]https://www.freedesktop.org/software/systemd/man/systemd.unit.html
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm
next prev parent reply other threads:[~2018-03-29 9:55 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-13 11:33 [RFC PATCH v4] ndctl: monitor: add ndctl monitor daemon QI Fuli
2018-03-14 18:19 ` Dan Williams
2018-03-15 10:41 ` Qi, Fuli
2018-03-16 1:03 ` Dan Williams
2018-03-16 7:33 ` Yasunori Goto
2018-03-16 10:01 ` Qi, Fuli
2018-03-16 6:55 ` Yasunori Goto
2018-03-16 13:28 ` Dan Williams
2018-03-17 0:23 ` Yasunori Goto
2018-03-19 11:27 ` Qi, Fuli
2018-03-19 14:27 ` Dan Williams
2018-03-20 1:03 ` Qi, Fuli
2018-03-29 10:02 ` Qi, Fuli [this message]
2018-03-29 22:59 ` Dan Williams
2018-03-30 7:34 ` Qi, Fuli
2018-03-30 16:34 ` Dan Williams
2018-04-02 0:10 ` Qi, Fuli
2018-04-05 23:17 ` Qi, Fuli
2018-04-06 19:02 ` Dan Williams
2018-04-09 8:38 ` Qi, Fuli
2018-04-09 17:45 ` Dan Williams
2018-04-10 2:15 ` Qi, Fuli
2018-04-10 3:06 ` Verma, Vishal L
2018-04-04 14:28 ` Jeff Moyer
2018-04-05 21:08 ` Qi, Fuli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0DEDF3B159719A448A49EF0E7B11E3222764A26E@g01jpexmbkw01 \
--to=qi.fuli@jp.fujitsu.com \
--cc=dan.j.williams@intel.com \
--cc=linux-nvdimm@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).