シェルスクリプトを使用してzabbixがデータを収集するための2つの方法

    目標:mysqlによって現在開かれている接続の数を監視します(Threads_connected)。
    環境:
    Zabbix 4.0.29 zabbix
    サーバー:192.168.149.149 zabbix
    エージェント:192.168.149.150

方法1.zabbix-agentを介してシェルスクリプトを実行します

    簡単な要約は、キーと値のペアをカスタマイズし、zabbix-agentを介してシェルスクリプトの戻り値を取得し、それをzabbix-serverに渡す必要があるということです。
    ステップ:

  1. エージェント側でスクリプトmonitor_mysql.shを記述します。内容は次のとおりです。
#!/bin/bash
export MYSQL_PWD=123456
/usr/bin/mysql -h 192.168.149.150 -uzabbix -e "show status like '%Threads_connected%';"|grep 'Threads_connected'|awk '{print $2}'

    MYSQL_PWDはデータベースのパスワードであり、スクリプトを/ tmpディレクトリに配置します。

  1. ユーザーパラメータを変更します。zabbix_agentd.conf設定ファイルで設定したため:
Include=/etc/zabbix/zabbix_agentd.d/*.conf

    したがって、このディレクトリのuserparameter_mysql.confに追加します(userparameter_mysql.confがない場合は、新しいものを作成するだけです)。

UserParameter=mysql.Threads_connected,sh /tmp/monitor_mysql.sh

    これはキーと値のペアであり、キーはmysql.Threads_connectedであり、値はスクリプトの戻り値であり、これはmysqlによって現在開かれている接続の数です。

  1. zabbix-getを使用してサーバー側でテストします。次の問題が発生する可能性があります。
# ./zabbix_get -s 192.168.149.150 -k "mysql.Threads_connected"
zabbix_get [9357]: Check access restrictions in Zabbix agent configuration

    zabbix_agentd.confのサーバーオプションを変更する必要があります。トラブルを回避するために、Server = 0.0.0.0 / 0に設定しました。

# ./zabbix_get -s 192.168.149.150 -k "mysql.Threads_connected"
sh: /root/test/monitor_mysql.sh: 权限不够

    権限を確認してください。スクリプトを/ root / testディレクトリから/ tmpディレクトリに移動しました。

  1. アイテムを構成します。戻り値は数値なので、[数値]を選択します。
    ここに画像の説明を挿入します
  2. 最新のデータを確認してください。
    ここに画像の説明を挿入します
方法2.zabbix-serverを介してシェルスクリプトを実行します

    簡単な要約は、zabbix-serverの外部チェック機能を使用してスクリプトを実行し、戻り値を記録することです。利点は柔軟性であり、クライアントは設定を必要とせず、zabbix-agentは必要ありません。欠点は、過度に使用するとzabbixシステムのパフォーマンスが大幅に低下することです。
    ステップ:

  1. zabbix_server.confをクエリすると、設定は次のようになります。
# ExternalScripts=${datadir}/zabbix/externalscripts

    実験のzabbix-serverインストールディレクトリは/ usr / local / zabbixであるため、外部スクリプトのデフォルトパスは/ usr / local / zabbix / share / zabbix / externalscriptsです。このディレクトリにmonitor_mysql.shを配置します。

  1. コマンドラインでテストします。
# sh /usr/local/zabbix/share/zabbix/externalscripts/monitor_mysql.sh 
1

    問題ありません。グラフィカルインターフェイス設定の次のステップに進みます。

  1. グラフィカルインターフェイス構成。
    ここに画像の説明を挿入します
        タイプは外部チェック、キーはスクリプト名です。スクリプトにパラメータがある場合は、check_oracle.sh ["-h"、 "{HOST.CONN}"]のように、角かっこで囲んで記述します。

  2. 最新のデータを確認してください。
    ここに画像の説明を挿入します

参照文書

[1] ZabbixSIA.EXTERNALチェック[EB / OL] .https://www.zabbix.com/documentation/current/manual/config/items/itemtypes/external,2020-01-01。
[2] sfzhang.Zabbix +シェルスクリプト監視オンラインサービス[EB / OL] .https://blog.51cto.com/sfzhang88/999523,2012-09-20。

おすすめ

転載: blog.csdn.net/zsx0728/article/details/114527987