アクション-リモートコマンド実行時のZabbix Agentの必要性について
何度もお世話になっています。
トリガー検知時のアクションの設定で質問です。
環境
CentOS6.6
Zabbix2.4.6
アクションの設定で実行内容を[リモートコマンド]で行う場合、ターゲットのホストには[Zabbix Agent]が必須で、zabbix_agentd.confのオプション[EnableRemoteCommands=1]が必須なのでしょうか。
[リモートコマンド]タイプ[SSH]でZabbix Agentが動いていないサーバに対して設定を行っていたのですが全くコマンドが実行されず、Zabbix Agentを起動したとたんに動くようになりました。
SSHなのでAgentは不要と思ったのですが。。
下記マニュアルや「Zabbix統合監視実践入門」などを参照しましたがAgentは必須との記載がなかったので疑問に思い質問させていただきました。(記載あるのに見落としがあった場合はすみません。)
https://www.zabbix.com/documentation/2.2/jp/manual/config/notifications/...
TNK - 投稿数: 4755
アクションの実行内容で、実行タイプとして「リモートコマンド」
を選択されたならば、「次で実行」の選択肢として、画面上でも、
・Zabbixエージェント
・Zabbixサーバー
となっている通り、リモートのサーバで実行するのであれば、Zabbix
エージェントを選択するのですからZabbixエージェントが必須です。
もちろん、zabbix_agentd.conf内でもリモートコマンド実行を許可
することが必要です。
SSHでエージェントが不要なのは、アイテムで値を取得する部分です。
何をどう実現されたいのかをお教えいただければ、Zabbixでどう実
現できそうかという情報のご提供はできるかもしれませんので、何
を実現されたいのかを質問されてみてはいかがでしょうか?
onigirimogumogu - 投稿数: 34
ありがとうございます。
[リモートコマンド]ー[カスタムスクリプト]だとご指摘の通り、選択肢として
・Zabbixエージェント
・Zabbixサーバー
があるのでどちらか選択したほうが必須なのはわかりますが、SSHに変更するとこで上記の選択肢が消えるので不要なのかと思いました。
具体的に実現したい事項があるというよりは興味本位で聞いた部分が大きいのですが、
例えばApacheの死活監視をして、停止した際はApacheの再起動を行うということを実現したい場合、
ApacheサーバにはZabbixエージェントが必須ということで認識あっているでしょうか。
SSHでアクションをするならエージェントは不要かと当初思っていた次第です。
TNK - 投稿数: 4755
すみませんでした。
リモートコマンドを選択後、SSHを選択されたのですね。
そうであるならば、Zabbixエージェントは不要です。
手元の環境で試してみましたが、Web監視の設定を行って、
Webサーバを停止させるとZabbixが検知してZabbixサーバから
SSHで接続してWebサーバを起動させることができています。
恐らく、設定のどこかに誤りがあるのだと思います。
質問される際に、きちんと何をどのように設定されたのかを
詳細にご提示ください。
よろしくお願いいたします。
onigirimogumogu - 投稿数: 34
ありがとうございます。
ホストの設定ですが
HostAのサーバに対してZabbix-Agentで通信を行うホストをHostA-1
SNMP-Agentで通信を行うホストをHostA-2とします。
HostA-1,HostA-2は同じサーバです。
トリガーのイベントに対してアクションが動くかを確認したく、下記のアクションを作成しました。
・アクション
名前 test_action
リカバリメッセージ チェック
他はデフォルトのまま
・アクションの実行条件
計算のタイプ And
A トリガー 閾値監視トリガー
B ホスト Zabbix-Agentが入っていないサーバ
・アクションの実行内容
開始 1
終了 0
ステップの間隔 60
実行内容のタイプ リモートコマンド
ターゲットリスト HostA-2
タイプ SSH
認証方式 公開鍵
ユーザ名 root
公開鍵ファイル id_rsa.pub
秘密鍵ファイル id_rsa
キーのパスフレーズ xxx
ポート (空欄)
コマンド date >> /root/zabtest.txt
アクションの実行条件 なし
この設定でトリガーが検知されるようにします。異常が解消されない限り/root/zabtest.txtに1分ごとに現在時刻が記録される認識です。
しかし上記の設定では/root/zabbix_test.txtには何も書かれません。
ターゲットリストHostA-2をHostA-1に変更するとログが出力されるようになります。
変更した個所はそこだけなので、Zabbix Agentが必須なのかと考えた次第です。
TNK - 投稿数: 4755
接続先のサーバのsshdのログを確認してみてください。
onigirimogumogu - 投稿数: 34
sshdのログ見るのを失念していました。
ログは1分おきに下記の通り出力していたのでZabbixとして動作はしているようです。
Accepted publickey for root from 192.168.56.11 port 43110 ssh2
pam_unix(sshd:session): session opened for user root by (uid=0)
Received disconnect from 192.168.56.11: 11: Normal Shutdown
pam_unix(sshd:session): session closed for user root
TNK - 投稿数: 4755
うまくいくときといかないときのログに差異はありませんか?
onigirimogumogu - 投稿数: 34
最初のフォーラムに投稿したZabbix Agentが起動していないとアクションが実行しないというのがいつの間にか解消していました。
設定がどこかまずかったのかと思われます。
なので、本件原因はわからず(おそらく自分の設定ミス)ですが、解決いたしました。
お騒がせいたしました。すみません。