目標:mysqlによって現在開かれている接続の数を監視します(Threads_connected)。
環境:
Zabbix 4.0.29 zabbix
サーバー:192.168.149.149 zabbix
エージェント:192.168.149.150
方法1.zabbix-agentを介してシェルスクリプトを実行します
簡単な要約は、キーと値のペアをカスタマイズし、zabbix-agentを介してシェルスクリプトの戻り値を取得し、それをzabbix-serverに渡す必要があるということです。
ステップ:
- エージェント側でスクリプト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ディレクトリに配置します。
- ユーザーパラメータを変更します。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によって現在開かれている接続の数です。
- 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ディレクトリに移動しました。
- アイテムを構成します。戻り値は数値なので、[数値]を選択します。
- 最新のデータを確認してください。
方法2.zabbix-serverを介してシェルスクリプトを実行します
簡単な要約は、zabbix-serverの外部チェック機能を使用してスクリプトを実行し、戻り値を記録することです。利点は柔軟性であり、クライアントは設定を必要とせず、zabbix-agentは必要ありません。欠点は、過度に使用するとzabbixシステムのパフォーマンスが大幅に低下することです。
ステップ:
- zabbix_server.confをクエリすると、設定は次のようになります。
# ExternalScripts=${datadir}/zabbix/externalscripts
実験のzabbix-serverインストールディレクトリは/ usr / local / zabbixであるため、外部スクリプトのデフォルトパスは/ usr / local / zabbix / share / zabbix / externalscriptsです。このディレクトリにmonitor_mysql.shを配置します。
- コマンドラインでテストします。
# sh /usr/local/zabbix/share/zabbix/externalscripts/monitor_mysql.sh
1
問題ありません。グラフィカルインターフェイス設定の次のステップに進みます。
-
グラフィカルインターフェイス構成。
タイプは外部チェック、キーはスクリプト名です。スクリプトにパラメータがある場合は、check_oracle.sh ["-h"、 "{HOST.CONN}"]のように、角かっこで囲んで記述します。 -
最新のデータを確認してください。
参照文書
[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。