Zabbix トリガーがしきい値に達すると、アラート メッセージの送信やリモート コマンドの実行などのアクションが実行されます。 この記事では主に、zabbix がリモート コマンドを実行するように設定および検証します。 1つ。環境サーバー: CentOS-7-x86_64-1511 ベース。 Zabbix: zabbix-3.0.1server/agent。 二。予防注意すべき重要な点: 1. リモート コマンドの実行はサーバーからエージェントに対して行われ、アクティブ エージェント モードはサポートされていません。2. プロキシ モードはサポートされていません。3. zabbix ユーザーにはコマンドの実行権限が必要であり、sudo を使用してルート権限を付与できます (パスワードなしで sudo を構成します)。 4. リモート コマンドは実行されるだけで、実行の成否は検出および確認されません。アクションの実行は、「監視 -> イベント」で確認するか、「レポート -> アクション ログ」でリモート コマンドが正常に実行されたかどうかを確認できます (正常に実行された場合は「実行済み」になります)。 三つ。例簡単な例で確認します。 監視サーバー上のリアルタイムオンラインユーザー数は 2 を超えません。しきい値を超えると、アラームがトリガーされ、監視項目がしきい値を下回るように、3 番目のログインユーザーを強制的にログオフするコマンドが実行されます。 1. トリガーを設定する 構成-->テンプレート-->「Template OS Linux」テンプレート「トリガー」を選択-->トリガーの作成 #トリガー名のカスタマイズ、マクロを使用できます 名前:{HOST.NAME} のユーザーログイン番号 gt 2 式: {テンプレート OS Linux:system.users.num.last()}>2 #「式」項目の後の「追加」をクリックし、Zabbix が提供する項目 + 関数を使用して、次のようにしきい値式を設定できます。 #カスタムレベル 重大度: 警告 残りの設定は問題ありません。設定が完了したら、「追加」をクリックします。 2. リモートコマンドスイッチ #エージェントはデフォルトではリモート コマンドの実行をサポートしていません。エージェント構成ファイルでこのパラメータを有効にする必要があります。 #agent.conf ファイルのパスは実際の状況に応じて変更する必要があります。コンパイルとインストール後のカスタマイズされたパスは次のとおりです。http://www.cnblogs.com/netonline/p/7406598.html を参照してください。 #agent.conf ファイルを変更した後、プロセスを再起動する必要があります。 [root@localhost ~]# sed -i 's|# EnableRemoteCommands=0|EnableRemoteCommands=1|g' /usr/local/zabbix/etc/zabbix_agentd.conf [root@localhost ~]# サービスzabbix_agentdを再起動します 3. アクションを設定する 設定-->アクション-->アクションの作成 アクション アクションオプションで、名前を定義します: オンラインユーザーの数を2人以下に制限します #アクション名はカスタマイズでき、残りのアクション オプションは次のようにデフォルト値を使用できます。 条件 条件オプションに新しい条件付き判断を追加して、判断をより的確にします。たとえば、次のようになります。 新しい条件: トリガーの重大度 = 警告 新しい条件: ユーザーログイン番号 gt 2 のようなトリガー名 #トリガー名は、次のように手順 1 で定義されたトリガー名に対応します。 オペレーション 操作オプションで、新しい「アクション操作」を追加し、「新規」をクリックします。 操作タイプ: 「リモートコマンド」を選択 ターゲット リスト: このマシンの「現在のホスト」#agent としてターゲットを追加します タイプ: 「カスタムスクリプト」を選択 実行先: 「Zabbix エージェント」を選択し、コマンドは「 # コマンドを実行するアカウントは、root アカウントではなく、zabbix アカウントです。sudo コマンドを使用しないと、実行後にコマンドが無効になります。 #また、スクリプトではなく特定のコマンドを使用してみました。結果は、コマンドは実行されますが有効ではありません。特定の失敗ログがないため、原因を分析できません。 #残りのコンテンツにはデフォルト値を使用し、以下に示すように「追加」をクリックします。 4. リモートコマンドスクリプト #手順3で定義したコマンドスクリプトのパスに従ってコマンドスクリプトを編集します。[root@localhost ~]# vim test.sh #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin PATHをエクスポート #ここでは、3番目のログインttyがpts/2であると仮定します。pkill -kill -t pts/2 [root@localhost ~]# chmod 764 test.sh 5. sudoを設定する
6. 検証 ホストの 3 番目の tty にリモートでログインし、CLI で他の操作を実行せず、トリガーしきい値をトリガーし、コマンド アクションをトリガーして、3 番目にログインしたユーザーを強制的にオフラインにします。 スクリーンショットからわかるように、オンライン ユーザーの数がしきい値を超えると、トリガーは約 1 分間だけ「問題」状態になり、その後「OK」状態に戻ります。これは、3 番目のユーザーを強制的にオフラインにするスクリプト コマンドが実行され、正常に実行されたことを示しています。 「ログインしているユーザー数」項目の履歴データから、トリガーがトリガーされたときに、3 番目のログインしているユーザーがオフラインになっていることもわかります。 3 番目の tty の下では、ホスト自体によって接続が切断されていることがわかります (上図のホスト時間とはずれているローカル時間が表示されます)。 要約する Zabbix リモート実行コマンドに関するこの記事はこれで終わりです。Zabbix リモート実行コマンドに関する詳細については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
この記事では、雨滴効果を実現するためのJavaScriptキャンバスの具体的なコードを参考までに紹介...
目次序文こんにちは世界画像 境界線の半径を設定する実ピクセルを設定する外部CSSをインポートttfフ...
1. 実験環境シリアルナンバープロジェクトソフトウェアとバージョン1オペレーティング·システムCen...
1. テーブル構造テーブル人id名前1あなた2あなた(スペース) 3あなた(スペース2つ) 2. ク...
この記事では、古典的なスネークゲームを実装するためのJavaScriptの具体的なコードを参考までに...
序文NFS (Network File System) は、ネットワーク ファイル システムを意味し...
目次1. リストインターフェースの表示例2. データを表示する2.1. コンポーネントがリストに表示...
フローティングの基礎標準ドキュメント フローでは、要素は塊級元素と行內元素の 2 種類に分けられます...
MySQL データベースが Centos7 システムにインストールされており、オペレーティング シス...
スタイルシートの最も重要な機能の 1 つは、ページ、画面、電子シンセサイザーなどの複数のメディアに適...
序文これまでは、パイプワークで割り当てた静的 IP は一時的なものであり、再起動すると無効になってい...
この記事では、簡単なポップアップウィンドウ効果を実現するためのjQueryの具体的なコードを参考まで...
前回の記事「1行のCSSコードの魅力」では、たった1行のCSSコードで生成できる美しい(奇妙な感じと...
目次イメージの作成ファイル構造Dockerファイルエントリポイント関数ファイルを生成するイメージを構...
通常、全員のスピーチを最初から最後まで読む必要があります。ただし、Stack Overflow には...