Zabbixのカスタム監視項目とトリガーについて

Zabbixのカスタム監視項目とトリガーについて

1. 監視ポート

関係の説明

トリガー: クライアントのスクリプトに従って値を取得します。クライアントの特定の値が要件に達すると、アラームが発行されます。

監視項目: クライアントスクリプトに従って値を取得し、値を収集する間隔を設定し、値を保持して記録し、曲線チャートを作成します。

アプリケーション セット: 監視項目を分類して保存するために使用されます。たとえば、80、8080 などの Web サービスの監視項目は WEB アプリケーション セットに配置され、22、21 などの小規模サービスの監視項目は SMALL アプリケーション セットに配置されます。

テンプレート: テンプレートは、定義された監視項目のセットです。任意のホストがテンプレートに接続されると、テンプレート内の監視項目がホストに適用されます。ただし、これらの監視項目を変更するには、テンプレート内でのみ変更でき、変更後は、接続されている他のホストもそれに応じて変更されます。

操作する

1. テンプレートを作成します。テンプレート名は監視ポートを示すために使用されます。ここでは、Port という名前です。テンプレートはグループに追加する必要があります。区別するために別のグループを作成できます。

2. アプリケーション セットを作成します。アプリケーション セットに名前を付けるだけです。

3. 監視項目を作成します。名前は監視する値を区別するために使用されます。nginx へのアクセス数や、mysql の読み取り数などです。

キー値には 2 種類あり、1 つはクリックして選択してシステムの組み込み値を使用するもので、もう 1 つはスクリプト キーをカスタマイズするものです。

ここでnet.tcp.listen[port]を選択し、telnetを使用してホストがポートをリッスンしているかどうかを確認し、[port]に監視するポート番号を入力します。

4. トリガーを作成します。{HOST.NAME} はアラーム表示用のホスト名を取得します。 「式の追加」をクリックするか、他の組み込みトリガーの値をコピーして変更します。
監視項目を接続します。これは、作成した監視項目であり、残りは変更しません。

5. 対応するグループを選択し、グループから新しく作成された監視項目を見つけます。

6. ポートはテンプレート名です。ここにホスト名またはホスト IP を記述することを選択した場合、テンプレートではなく単一ホストの監視項目になります。

2. 監視サービス

関係の説明

スクリプト: スクリプトを実行して値を取得します。 構成ファイル: カスタム キーを許可し、キー値をスクリプトに関連付けて値を取得します。
サーバー側のテスト: サーバーはクライアントに指示を送信し、クライアントはスクリプトを実行して値を取得し、それをサーバーに返します。

操作する

1. 値を取得するスクリプトを作成する
cd /etc/zabbix/script

vim web_status.sh

#!/bin/bash

ケース$1
リアン
    netstat -anptu | grep 172.26.98.247:80 | wc -l ;;
ピン
    netstat -unltp | grep -w 80 &>/dev/null && echo 1 || echo 0 ;;
 *)
    echo "Lian | Ping" ;;
エサック

テストスクリプト./web_status.sh Ping実行して1を取得できるかどうかを確認します

2. クライアント構成ファイルを変更してカスタムキーを許可する
vim /etc/zabbix/zabbix_agentd.conf

Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf #他の設定ファイルを読み込む UnsafeUserParameters=1 #カスタムキーを有効にする

systemctl restart zabbix-agent

3. 設定ファイルを変更し、キー値の名前とスクリプトの場所を設定します。これにより、設定ファイルは、このキー値を取得するためにどのスクリプトを実行する必要があるかを認識できるようになります。

web.pingはカスタムキー値名で、その後にスクリプトパスが続きます。
vim /etc/zabbix/zabbix_agentd.d/web_status.conf

ユーザーパラメータ=web.ping、/etc/zabbix/script/web_status.sh Ping
ユーザーパラメータ=web.lian、/etc/zabbix/script/web_status.sh Lian

コマンドに絶対パスを使用する場合は、スクリプトを使用せずに次のように値を取得することもできます。
例えば

ユーザーパラメータ=web.shu、/bin/netstat -anptu | wc -l

4. 検出、クライアントテスト
zabbix_agentd -t web.ping #正しい場合は1を返します

サーバー側のテスト:
/ops/server/zabbix/bin/zabbix_get -s 192.168.1.1 -k web.ping #1 は正しい

5. 表示される(すべてのプロセスが識別されたわけではない、所有されていないプロセス情報)
表示されません。すべてを表示するには、root である必要があります。

これは、スクリプト内で netstat コマンドが使用されているものの、クライアントが zabbix ユーザーを使用してスクリプトを起動しており、このコマンドを使用する権限がないためです。

クライアントはchmod +x /bin/netstatを実行します。

Webページ操作:
キー値が見つからないため、手動で記述します。トリガー式もこの監視項目に接続されています。

3. テンプレートのインポートとエクスポート

輸入:

輸出:
テンプレートを選択して下にスクロールします

Zabbix カスタム監視項目とトリガーに関するこの記事はこれで終わりです。関連する Zabbix カスタム監視項目の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Zabbix で監視項目と集約されたグラフを設定するためのサンプルコード

<<:  JavaScript BOM の説明

>>:  MySQL データベースの操作とデータ型

推薦する

Windows システムに mysql5.7.21 をインストールするための詳細なチュートリアル

MySQL インストーラーは、MySQL ソフトウェアのあらゆるニーズに対応する、使いやすいウィザー...

DockerでEurekaを設定する方法

ユーレカ: 1. JDKイメージを構築するEurekaコンテナを起動するjdkフォルダと必要なファイ...

JavaScript マクロタスクとマイクロタスクの実行順序についての簡単な説明

目次1. JavaScriptはシングルスレッドです1. 同期タスク2. 非同期タスク2. タスクキ...

期間限定フラッシュセール機能を実現するJavaScriptタイマー

この記事では、期間限定フラッシュセール機能を実装するためのJavaScriptの具体的なコードを参考...

Linux プロセスの CPU 使用率が 700% に達し、終了できない場合の解決策

目次1. 問題の発見2. プロセスの詳細情報を表示する3. 解決策4. 大法を再開する1. 問題の発...

実用的な基本的な Linux sed コマンドのサンプルコード

Linux ストリーム エディターは、データ センターでスクリプトを実行するのに便利な方法です。これ...

フロントエンド JavaScript ハウスキーパー package.json

目次1. 必須属性1. 名前2. バージョン2. 説明情報1. 説明2. キーワード3. 著者4. ...

nginx を使用して http を https に変換するサンプルコード

最近、小さなプログラムを書いています。その小さなプログラムの公式ウェブサイトはhttpsを使用する必...

mysql5.7 でユーザーの初期パスワードを変更する方法

ユーザーが初めて MySQL データベースをインストールするとき、初期のルート パスワードを変更する...

重複リクエストを削除するAxiosのソリューションについての簡単な説明

目次1. 重複したリクエストをキャンセルする2. すべてのリクエストをクリーンアップするこのソリュー...

ウェブデザインにおける装飾要素の応用の概要

<br />序文: このチュートリアルを読む前に、序文を注意深く読んでください。そうしな...

HTML+CSS ボックスモデルの例 (円、半円など) 「border-radius」はシンプルで使いやすい

多くの友人は、フロントエンドを学習するときに、ボックス モデルがデフォルトで正方形であることに気付き...

Google の新しい UI から学べること (画像とテキスト)

2011 年に最も顕著なウェブサイトの変更は、一連の製品に新しいユーザー インターフェースを導入した...

Vue3ルーティングVueRouter4を使用する簡単な例

ルーティングvue-router4 では API の大部分は変更されていないため、変更点のみに焦点を...