トリガー検知アクション
<環境>
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 - 投稿数: 4769
リモートコマンドの実行であるならば、以下のURLを参考にしてみ
てください。
http://www.zabbix.jp/node/2697
Allowroot=1に設定することは、Zabbixエージェントをroot権限で
動かすことになるので、どうしてもrootでなければならない場合以
外は利用しないことをお勧めします。
Didier0802 - 投稿数: 37
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 - 投稿数: 4769
このようなエラーがでるのであれば、ネットワーク周りの設定の問
題です。
pingでもsshでも構わないので、ちゃんとTCP/IPレベルでやり取り
できる状態への復帰を試みてください。
ネットワークのルーティングを手動で行っていて、再起動で消えて
しまっていたということはありませんか?
この状態では再度ディスカバリすることもできないでしょう。
上にも書いた通り、TCP/IPレベルでやり取りできる状態することが
まず必要です。
無効にしておく必要はありません。
通信が回復すれば、そこから監視を再開します。
あと、sudo関連ですが、ttyの設定はされましたか?
Didier0802 - 投稿数: 37
To:TNK様
ご返信頂き、ありがとうございます。
エージェントへは、sshにてログイン可能です。
また、Zabbixサーバとは同一セグメントですので、ルーティング関連も問題なさそうです。
firewalldも「trusted」としていますので問題ないと思ってます。
本件、もう少々様子をみてみます。
>あと、sudo関連ですが、ttyの設定はされましたか?
はい。
「Defaults requiretty」を「Defaults !requiretty」に変更しております。
Didier0802 - 投稿数: 37
To:TNK様
いつもありがとうございます。
本件、以下の通りです。
■エージェント再起動(OS Reboot)後にZabbixAgentが認識されない件
認識されるようになりました。
(NW周りも含め特に何もしていないようです。また、表示復旧に1時間弱要したのは問題なのでリソースも含めて確認してみます)
■リモートコマンドの実施
教示頂いた設定内容(Zabbixアクション設定、sudo設定)を行い、
先ほどのSELinuxを無効化により、設定したコマンドが実行されました。
感謝です。 m(_ _)m