複数のサーバー(LinuxおよびWindows)を監視するzabbixがあります。停止しているサービスをzabbixに自動化させて自動的に再起動させることは可能ですか?
可能です。最初に行う必要があるのは、zabbix_agentd.confで次のように設定して、zabbixエージェントでリモートアクションを有効にすることです。
EnableRemoteCommands=1
また、zabbixユーザーにSudo権限を付与する必要があるため、次の内容で/etc/sudoers.d/zabbix_nopasswdファイルを作成します。
zabbix ALL=NOPASSWD: ALL
セキュリティ上の懸念を高めるには、zabbixに特定のシェルコマンドの実行のみを許可することをお勧めします。
# allows 'zabbix' user to restart Apache without password.
zabbix ALL=NOPASSWD: /etc/init.d/Apache restart
その後、zabbixエージェントを再起動します。
次に、Zabbixサーバーで、Zabbix Web GUIへの管理者権限を持つユーザーとしてログインし、新しいアクションを作成します。構成->アクション->新しいアクション。新しいアクションに「Restart Apache」のような名前を付けます。
アクションタイプを「リモートコマンド」に設定します。リモートコマンドを次のように設定します。
{HOSTNAME}:/usr/bin/Sudo service Apache2 restart
その後、実行中のApacheプロセスの数をカウントするアイテムにトリガーを作成します。数が0の場合、「Apacheの再起動」アクションが実行され、それだけです。