All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Williams <dan.j.williams@intel.com>
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
Date: Thu, 29 Mar 2018 15:59:42 -0700	[thread overview]
Message-ID: <CAPcyv4jGnJ7geYUsQxjnSiHnRwCOWx8HOYVcx+Bom7AfRYLsyA@mail.gmail.com> (raw)
In-Reply-To: <0DEDF3B159719A448A49EF0E7B11E3222764A26E@g01jpexmbkw01>

On Thu, Mar 29, 2018 at 3:02 AM, Qi, Fuli <qi.fuli@jp.fujitsu.com> wrote:
>
>
>> -----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

This seems to needlessly tie ndctl to systemd, it should be able to
operate without requiring systemd. I expect it would be
straightforward to copy the configuration file implementation from
git.
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

  reply	other threads:[~2018-03-29 22:53 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
2018-03-29 22:59     ` Dan Williams [this message]
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=CAPcyv4jGnJ7geYUsQxjnSiHnRwCOWx8HOYVcx+Bom7AfRYLsyA@mail.gmail.com \
    --to=dan.j.williams@intel.com \
    --cc=linux-nvdimm@lists.01.org \
    --cc=qi.fuli@jp.fujitsu.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.