取得情報の任意のログへの書き出し方法
お世話になっております。
現在、監視対象の情報を一括してzabbixサーバで集約し、上位監視ソフトとの連携を考えております。
具体的にはZabbixAgentで取得した情報をZabbixサーバの任意のログファイルに書き出し、
上位監視ソフトがそのログファイルを読み込むことで異常を検知する、というようなことができないかと考えております。
そこでご教示いただきたいことがございます。
①トリガーで引っかかってきた障害情報をZabbixサーバの任意のファイルに吐かせる方法がありますでしょうか?
リモートコマンド機能のようにZabbixサーバ内でコマンドを実行できないでしょうか。
TNK - 投稿数: 4769
質問される際には、使用されているZabbixの詳細なバージョンをお
教えください。
トリガーのイベントが発生した時でよいのであれば、アクションで
リモートコマンドを実行するかメディアにスクリプトを登録するな
どしてファイルに出力することが可能です。
連携する先のシステムによっては、メディアとして連携するための
スクリプトを実行したり、APIを呼び出したりすることも可能です。
マニュアル:
https://www.zabbix.com/documentation/current/manual/config/notifications...
https://www.zabbix.com/documentation/current/manual/config/notifications...
https://www.zabbix.com/documentation/4.0/manual/config/notifications/action
https://www.zabbix.com/documentation/4.0/manual/config/notifications/act...
dai_1 - 投稿数: 10
返信が遅れて申し訳ありません。
返答いただきありがとうございます。
Zabbixのバージョン等の情報は以下の通りとなります。
OS:RHEL6
PHP:5.4
MySQL:8.0
Zabbix:2.42
※Zabbixのバージョンがver2.4なのは、GUIの操作や設定値の確認を行うためのテスト機として入れている為です。
トリガーのイベントが発生した際には、アクションでリモートコマンドを実行、またはメディアにスクリプトを登録するな
どしてファイルに出力することが可能な旨承知致しました。
大変申し訳ないのですが、追加で確認したい事がございます。
既にトリガーでイベントが発生している状態で更にエラーメッセージが出続けている状態の時に、
そのメッセージもZabbixサーバの任意のログファイルに書き出す方法はございますでしょうか。
TNK - 投稿数: 4769
トリガーの設定にもよりますが、トリガーの設定でZabbix 2.4でも
障害イベントを継続して生成
というような設定があったと思います。それにチェックしてあれば、
トリガーの状態が「障害」であっても、条件式に合致する状態にな
ったときに、障害イベントを発生させることができます。
あとは、アクションでファイル出力するように設定すれば実現でき
るはずです。
dai_1 - 投稿数: 10
TNKさん
回答頂きありがとうございます。
「障害イベントを継続して生成」
の設定を入れたところ、無事トリガーの状態が「障害」の状態でも
障害イベントが検知できるようになりました
ありがとうございます。
五月雨で申し訳ないのですが、
「トリガーで引っかかってきた障害情報をZabbixサーバの出力対象ログに吐かせるアクション」の設定は以下で合っていますでしょうか。
"監視対象ホスト"の監視対象ログにエラーが出力された際に状態が「障害」になるトリガーでアクションを設定しようとしています。
計算のタイプ:and
アクションの実行条件
A:トリガーの深刻度 = 致命的な障害
B:トリガー = 対象トリガー
実行内容のタイプ:リモートコマンド
ターゲットリスト: ホスト:Zabbix server
タイプ:カスタムスクリプト
次で実行:Zabbixエージェント
コマンド:echo "ホスト名:{HOST.NAME} メッセージ:監視対象ログにエラーメッセージが出力されました" >> /var/log/RHEL7/{HOST.NAME}/Applog/出力対象ログ