トリガー検知アクション

<環境>
OS:CentOS7
ZabbixServer:2.4.6
同Agent:2.4.6
DB:PostgreSQL

<内容>
プロセスダウン検知した場合に、当該プロセスのリスタートを行いたいのですが、
これまでに投稿された内容を参考に設定をしておりますが、リモートコマンド実行がされません。

ただ、エージェント側のログでは、
「Executing command "systemctl restart httpd"」
と出力されています。
(Allowroot=1としているので実行されると思ったのですが。。。)

念のため、ユーザ:zabbix用にsudoの設定も行いました。
 
 [sudoersファイル]
  zabbix  ALL=(ALL) NOPASSWD: ALL
  ※最終行に追記

アクションのコマンド文を変更して実施したところ、やはり
「Executing command "sudo systemctl restart httpd"」
と出力されていますが、実行されていないです。

(分かりやすく、mkdir /tmp/action_result というコマンドもアクションとして記載しましたが、
同様の結果となりました。)

他に設定する箇所があれば、ご教示願います。
宜しくお願い致します。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

リモートコマンドの実行であるならば、以下のURLを参考にしてみ
てください。
http://www.zabbix.jp/node/2697

Allowroot=1に設定することは、Zabbixエージェントをroot権限で
動かすことになるので、どうしてもrootでなければならない場合以
外は利用しないことをお勧めします。

ユーザー Didier0802 の写真

To:TNK様

いつもありがとうございます。

本件、sudo設定を行ってもNGでした。
(エージェント側での「sudo -u zabbix mkdir xxx」直接入力/実行はOKです)

FORUMを読み進めていくうちに
SELinuxが有効になっていることに気がつきました。

ここから次なる問題なのですが、
SELinuxを無効化した後にエージェント側OSを再起動しました。
Zabbixサーバでの当該エージェントが「Zabbixエージェント」として認識されなくなってしまいました。

ZabbixServer、ZabbixAgent共に再起動を行いましたが、1時間経過した今も認識されない状態です。
ちなみに各々の直近ログは以下の通りです。

=========================
■ZabbixServerGUI
 ディスカバリ での表示
 「Get value from agent failed : cannot connect to [x.x.x.x:10050]:[113] No route to host」

■zabbix_server.log
14828:20151216:154910.738 Starting Zabbix Server. Zabbix 2.4.6 (revision 54796).
14828:20151216:154910.738 ****** Enabled features ******
14828:20151216:154910.738 SNMP monitoring: YES
14828:20151216:154910.738 IPMI monitoring: YES
14828:20151216:154910.738 WEB monitoring: YES
14828:20151216:154910.738 VMware monitoring: YES
14828:20151216:154910.738 Jabber notifications: YES
14828:20151216:154910.738 Ez Texting notifications: YES
14828:20151216:154910.738 ODBC: YES
14828:20151216:154910.738 SSH2 support: YES
14828:20151216:154910.738 IPv6 support: YES
14828:20151216:154910.738 ******************************
14828:20151216:154910.738 using configuration file: /etc/zabbix/zabbix_server.conf
14828:20151216:154910.767 current database version (mandatory/optional): 02040000/02040000
14828:20151216:154910.767 required mandatory version: 02040000
14828:20151216:154910.790 server #0 started [main process]
14832:20151216:154910.790 server #1 started [configuration syncer #1]
14833:20151216:154910.791 server #2 started [db watchdog #1]
14834:20151216:154910.791 server #3 started [poller #1]
14840:20151216:154910.801 server #8 started [unreachable poller #1]
14841:20151216:154910.801 server #9 started [trapper #1]
14847:20151216:154910.807 server #15 started [alerter #1]
14848:20151216:154910.807 server #16 started [housekeeper #1]
14849:20151216:154910.807 server #17 started [timer #1]
14850:20151216:154910.808 server #18 started [http poller #1]
14856:20151216:154910.808 server #24 started [escalator #1]
14857:20151216:154910.810 server #25 started [ipmi poller #1]
14846:20151216:154910.810 server #14 started [icmp pinger #1]
14852:20151216:154910.811 server #20 started [history syncer #1]
14859:20151216:154910.811 server #27 started [self-monitoring #1]
14855:20151216:154910.811 server #23 started [history syncer #4]
14858:20151216:154910.812 server #26 started [proxy poller #1]
14851:20151216:154910.838 server #19 started [discoverer #1]

■zabbix_agentd.log
2508:20151216:153519.609 Starting Zabbix Agent [com-zabbixtarget01v-qa-p]. Zabbix 2.4.6 (revision 54796).
2508:20151216:153519.609 using configuration file: /etc/zabbix/zabbix_agentd.conf
2508:20151216:153519.610 agent #0 started [main process]
2512:20151216:153519.612 agent #4 started [listener #3]
2513:20151216:153519.613 agent #5 started [active checks #1]
2509:20151216:153519.613 agent #1 started [collector]
2510:20151216:153519.613 agent #2 started [listener #1]
2514:20151216:153519.613 agent #6 started [active checks #2]
2511:20151216:153519.614 agent #3 started [listener #2]
=========================

<質問1>
このエージェント削除して再度、ディスカバリ検出した方がよいのでしょうか?
<質問2>
このように監視対象(エージェント)を再起動する場合は再起動前に該当ホストを「無効」しておいた方がよいのでしょうか?

お忙しいところ申し訳ありませんが、ご助勢願います。
※この事象が解決しましたら、リモートコマンド実行の検証を再開したいと思います。

ユーザー TNK の写真

 「Get value from agent failed : cannot connect to [x.x.x.x:10050]:[113] No route to host」

このようなエラーがでるのであれば、ネットワーク周りの設定の問
題です。
pingでもsshでも構わないので、ちゃんとTCP/IPレベルでやり取り
できる状態への復帰を試みてください。
ネットワークのルーティングを手動で行っていて、再起動で消えて
しまっていたということはありませんか?

<質問1>
このエージェント削除して再度、ディスカバリ検出した方がよいのでしょうか?

この状態では再度ディスカバリすることもできないでしょう。
上にも書いた通り、TCP/IPレベルでやり取りできる状態することが
まず必要です。

<質問2>
このように監視対象(エージェント)を再起動する場合は再起動前に該当ホストを「無効」しておいた方がよいのでしょうか?

無効にしておく必要はありません。
通信が回復すれば、そこから監視を再開します。

あと、sudo関連ですが、ttyの設定はされましたか?

ユーザー Didier0802 の写真

To:TNK様

ご返信頂き、ありがとうございます。

エージェントへは、sshにてログイン可能です。
また、Zabbixサーバとは同一セグメントですので、ルーティング関連も問題なさそうです。
firewalldも「trusted」としていますので問題ないと思ってます。

本件、もう少々様子をみてみます。

>あと、sudo関連ですが、ttyの設定はされましたか?
はい。
「Defaults requiretty」を「Defaults !requiretty」に変更しております。

ユーザー Didier0802 の写真

To:TNK様

いつもありがとうございます。

本件、以下の通りです。

 ■エージェント再起動(OS Reboot)後にZabbixAgentが認識されない件
  認識されるようになりました。
  (NW周りも含め特に何もしていないようです。また、表示復旧に1時間弱要したのは問題なのでリソースも含めて確認してみます)

 ■リモートコマンドの実施
  教示頂いた設定内容(Zabbixアクション設定、sudo設定)を行い、
  先ほどのSELinuxを無効化により、設定したコマンドが実行されました。

感謝です。 m(_ _)m