[arch-general] Systemd email notifications

Damien Churchill damoxc at gmail.com
Thu Feb 13 08:41:21 EST 2014


On 13 February 2014 13:35, Paul Gideon Dann <pdgiddie at gmail.com> wrote:
> On Thursday 13 Feb 2014 14:21:36 ushi wrote:
>> Am 13.02.2014 13:04, schrieb Paul Gideon Dann:
>> > Hello all,
>> >
>> > Does anyone know of any standard system for receiving notifications
>> > from systemd for unit state changes?  I currently use Monit for the
>> > monitoring of many processes, and it'll e-mail me when things
>> > happen (e.g. a process was restarted).  Since switching to systemd,
>> > it's felt a bit silly that for several processes, I'm having Monit
>> > monitor them simply because systemd is unable to tell me it
>> > restarted a unit.  Monit isn't actually required to keep those
>> > processes alive as it once was, because systemd can do that.
>> >
>> > Paul
>>
>> Hey Paul,
>>
>> Check out OnFailure=
>>
>>   [Unit]
>>   Description="HTTP Service"
>>   OnFailure=mail-root at http.service
>>   ...
>>
>> The mail-root at .service is a generic oneshot service that mails you
>> some stuff.
>>
>>   [Unit]
>>   Description="Mailer"
>>
>>   [Service]
>>   Type=oneshot
>>   ExecStart=/path/to/my/mail-script %i
>>
>>   [Install]
>>   WantedBy=multi-user.target
>>
>> And your mail-script is somthing like...
>>
>>   #!/usr/bin/env sh
>>
>>   systemctl status "${1}.service" | \
>>   mail -s "Failed Service: ${1}" admin at example.com
>>
>> See:
>> http://www.freedesktop.org/software/systemd/man/systemd.unit.html#OnFailure=
>
> Thanks ushi, that's certainly something.  It looks promising for custom unit files, but not
> so great for catching unexpected unit failures.  I'll definitely keep that one in mind,
> though.

You could use unit overrides[0] to add the OnFailure to provided
units. So should be able to set it up for any service you are
interested in receiving notifications for, I would assume.

[0] https://wiki.archlinux.org/index.php/Systemd#Editing_provided_unit_files


More information about the arch-general mailing list