GNU/Linux >> Linux の 問題 >  >> Linux

systemd-monitored サービスが失敗状態になったときに通知を受け取る

解決策 1:

systemd ユニットは、ユニットが失敗したときにユニット (またはそれ以上) をアクティブにする OnFailure をサポートします。

のようなものを入れることができます
 [email protected]%n

そして [email protected] を作成します 必要な指定子 (おそらく少なくとも %i が必要になるでしょう) を使用して、通知を送信するスクリプトまたはコマンドを起動できるサービスです。

http://northernlightlabs.se/systemd.status.mail.on.unit.failure で実用的な例を見ることができます

解決策 2:

私の通知方法:

/etc/systemd/system/[email protected]

[Unit]
Description=Sent email 

[Service]
Type=oneshot
ExecStart=/usr/bin/bash -c '/usr/bin/systemctl status %i | /usr/bin/mailx -Ssendwait -s "[SYSTEMD_%i] Fail" [email protected]'

systemd に追加:

systemctl enable /etc/systemd/system/[email protected]

他のサービスで追加:

[Unit]
[email protected]%i.service

構成をリロードします:

systemctl daemon-reload

Linux
  1. Linux – SystemdでTtyを減らす方法は?

  2. Linuxでキーボードの状態を取得するにはどうすればよいですか?

  3. FIN_WAIT1 状態のソケットを取り除くにはどうすればよいですか?

  1. httpd:apr_sockaddr_info_get()がrhel7で失敗しました

  2. バックグラウンド プロセスは、ログオフ時に SIGHUP を取得しますか?

  3. /tmp はいつクリアされますか?

  1. Svcadmが停止したサービスを再起動したときに通知を受け取る方法は?

  2. 「LVM2 論理ボリュームのアクティベーションを開始できませんでした」および「ユニット lvm2-activation-net.service が失敗状態になりました」 – CentOS/RHEL 7 の起動の問題

  3. epoll_wait が EPOLLERR を返したときに errno を取得する方法は?