3分ZABBIX監視設定のmysql

1の一方で、私は夜06時の構成で昨日一方に慣れていないので、3日間の月のMySQLの設定カードの小幅な上昇は、完成され、長い時間のためのデータが存在しない、彼らは、私はまだ勉強を続けるためにもつれたりない絶望的な、最後の夜を閉じました今日は、それを開いたデータチャートを持っています。元MySQLのモニタは、有効にするには少し時間がかかります。

あなたは正しい方法を知っているとき、私は、実際には、別のサーバーの設定にわずか3分です

  1. MySQLの関連テンプレート

手順:構成>ホスト>ホスト>テンプレートをクリックします。

図を参照してください。

失敗したダンプ
の再アップロードを
キャンセル
テンプレートの説明テンプレートを見に行くためにクリックしてください

テンプレートの操作のための要件:
1.InstallのZabbixエージェントおよびMySQLクライアント。
Zabbixエージェントの設定(デフォルトでは/etc/zabbix/zabbix_agentd.d/)とのフォルダに2.Copy Template_DB_MySQL.conf。再起動ZABBIXエージェントを忘れないでください。
監視のための3.Create MySQLユーザ。例:
USER IDENTIFIED BY 'zbx_monitor' @ '%'を作成'<パスワード>';
GRANTの使用、複製CLIENT、プロセスは、SHOW DATABASES、SHOW VIEW ON TO 'zbx_monitor' @ '%';
詳細については、MYSQLのドキュメント読んhttps://dev.mysql.com/doc/refman/8.0/en/grant.htmlを、してください。
Linux用のZabbixエージェントのホームディレクトリにある.my.cnf 4.Create(は/ var / libに/ ZABBIXデフォルト)またはmy.cnfファイルはC:\ Windows用。例えば:

ユーザー= zbx_monitorの
パスワード= <パスワード>
 
 
あなたは私たちのフォーラムでこのテンプレートまたは休暇のフィードバックを議論することができますhttps://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384189-discussion-thread-for-official-zabbix -template-DB-mysqlの
 
使用テンプレートのツーリングバージョン:0.35

  1. 設定テンプレートのMySQLエンド
    注:月ない小さな機械の上昇と/ var / libに/ ZABBIXはテンプレートTemplate_DB_MySQL.confを見つけることができない、私はで終わるように、別のuserparameter_mysql.confです

ZABBIXを確認する監視テンプレート1)mysqlの、/ -name userparameter_mysql.confを見つけます

[ルート@〜]#検索/ -name userparameter_mysql.conf
/backup/soft/zabbix-4.4.6/conf/zabbix_agentd/userparameter_mysql.conf
このドキュメントの最初の文

#で作成した「テンプレートDBのMySQL」とZABBIX 4.2のためのZABBIXのtemplate_db_mysql.conf
zabbix_agentd.conf.d /ディレクトリにコピー2)

-r /backup/soft/zabbix-4.4.6/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/etc/zabbix_agentd.conf.d/ CP
3)テストパターンが有効です

zabbix_agentd -t mysql.ping -c /usr/local/etc/zabbix_agentd.conf.d/userparameter_mysql.conf

 
[T mysql.ping | mysqladminは:サーバーAT '-P'への接続に失敗しました
エラー: '不明なMySQLのホストサーバー' -P '(2)'
。4)は、テンプレートを変更します

猫/usr/local/etc/zabbix_agentd.conf.d/userparameter_mysql.conf

UserParameter = mysql.ping [*]、mysqladminは -h "$ 1" -P "$ 2" pingが
-Pは、このパラメータを$ 1 $ 2は他の場所のパラメータからに渡す必要があります知っていないと述べました。

以下の試験方法もつれ書き込みは、テンプレートの最終形状を書きます

UserParameter = mysql.ping [ ]、HOME =の/ etc / ZABBIX mysqladminはpingを
 
UserParameter = mysql.get_status_variables [
]、HOME =の/ etc / ZABBIX mysqlの-sNX -e "グローバルステータスを表示"
UserParameter = mysql.version [ ]、HOME =の/ etc / ZABBIX mysqladminのバージョン
UserParameter = mysql.uptime、HOME =の/ etc / ZABBIX mysqladminの状態| -f2 -dを切ります":" | "T"を-d -f1カット| TR -d ""
 
UserParameter = mysql.db.discovery [
]、HOME =の/ etc / ZABBIX mysqlの-sN -e "ショーデータベース"
UserParameter = mysql.dbsize [ ]、HOME =の/ etc / ZABBIX mysqlの-sN -e " INFORMATION_SCHEMA.TABL FROM SELECT SUM(DATA_LENGTH + INDEX_LENGTH)
ES WHERE TABLE_SCHEMA = '$ 3'」
UserParameter = mysql.replication.discovery [
]、
UserParameter = mysql.slave_status [*]、HOME =の/ etc / ZABBIX mysqlの-sNX -e "ショースレーブ状態"
私はこのテンプレートをコピーして、実際には、唯一のより多くのHOME =は/ etc / ZABBIX(信じてネイティブテンプレートの文言)

5)及びその.my.cnfの一部を行います

[MySQLは]
ユーザー= zbx_monitor
パスワード= Javaer123456
[mysqladminは]
ユーザー= zbx_monitorの
パスワード= Javaer123456の
パス/etc/zabbix/.my.cnfとHOME以上=は/ etc / ZABBIX手段「ビッグブラザーことを右、HOME、同じではありません私がここに来ました。」

6)再起動zabbix_agentd

このステップの後、待機、5分待って、10分、心配しないでください。

7)ルックデータ>は最新のデータを監視します

モニタアイコン>グラフィックスでの8)ルック

失敗したダンプ
を再アップロード
キャンセル
、私は多くのことを考え出したていないため、プロセスがもつれuserparameter_mysql.confを繰り返していると思います。
END

===== ======豪華な分割線は、
試験を含む論理レコードの次の番号は、構成ファイルZABBIX底を読み続けることができ、以下に報告されています。

  1. コンフィギュレーション・ファイルを確認するために、どのようにキーを読み取ることができます

zabbix_agentd -t mysql.ping [*] -c /usr/local/etc/zabbix_agentd.conf.d/userparameter_mysql.conf

  1. MySQLの機能を確認する方法

mysqladminは-uzbx_monitor -p'Javaer123456' -hlocalhostピング

  1. キーを正しく読み取ることができZabbix_serverエージェントを確認する方法

zabbix_get -slocalhost -p 10050 -k mysql.ping

  1. 必須テストパラメータ

zabbix_agentd -t mysql.ping [*] -c /usr/local/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
書か死に強制的に、私は、パラメータをmysql.pingテストします

UserParameter = mysql.ping [*]、mysqladminは-uzbx_monitor -p'Javaer123456' -hlocalhostピング
zabbix_agentd -t mysql.ping -c /usr/local/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
mysql.ping [トン| mysqladminは:[警告]コマンドラインインターフェイス上でパスワードを使用すると、安全でないことができます。
mysqldは生きている]
查看mysqladminの是否正常

-uzbx_monitor -p'Javaer123456 #mysqladmin「-hlocalhostピングの
mysqladminは:. [警告]コマンドラインインターフェースを使用して安全でないとすることができるONパスワード
mysqldが生きている
コマンドラインの改善、1または0を返します

mysqladminは-uzbx_monitor -p'Javaer123456' -hlocalhostピング| grepを-c生きています

私は、テスト.my.cnfでは/ etc / ZABBIXを作成しました

UserParameter = mysql.ping、HOME =の/ etc / ZABBIX / mysqladminはpingを| grepを-c生きている
このコマンド「UserParameterは、」これは、ユーザー定義のスクリプトであることを示し、「=」記号は、スクリプトの内容になった後、「mysql.ping 「はい。主は、」サーバーへのmysql.ping「キー、および戻り値を要求したときに呼び出され、「数はZabbixのサーバにエージェントを取得するには、コマンドを開始します」。

他のパラメータはコメントアウト

#UserParameter = mysql.ping [ ]、mysqladminは-h "$ 1" -P "$ 2"ピング
UserParameter = mysql.ping [
]、mysqladminは-uzbx_monitor -p'Javaer123456' -hlocalhostピング
#UserParameter = mysql.get_status_variables [ ]は、MySQL "$ 1" -h -P "$ 2" -sNX -e "グローバルステータスを表示"
#UserParameter = mysql.version [
]、mysqladminは-s -h "$ 1" -P "$ 2"バージョン
#UserParameter = mysql.db.discovery [ ]、MySQLの-h "$ 1" -P "$ 2" -sN -e "ショーデータベース"
#UserParameter = mysql.dbsize [
]、MySQLの-h "$ 1" -P "$ 2" -sN -e「SELECT SUM( INFORMATION_SCHEMA.TABLES FROM DATA_LENGTH + INDEX_LENGTH)WHERE TABLE_SCHEMA = '$ 3'」
#UserParameter = mysql.replication。発見[ ]、MySQLの-h "$ 1" -P "$ 2" -sNX -e "ショースレーブ状態"
#UserParameter = mysql.slave_status [
]、MySQLの-h "$ 1" -P "$ 2" -sNX -e "ショースレーブ状態"
重启动

どこにサーバ側の読み取りテスト

zabbix_get -slocalhost -p 10050 -k mysql.ping
mysqldは生きています

  1. 他州でのMySQLのテストZabbixは拡張状態を

mysqladminは-uzbx_monitor -p'Javaer123456「が拡張状態を-hlocalhost
物事の山のうち、

mysqladminは-uzbx_monitor -p'Javaer123456' -hlocalhost拡張状態| grepの-w "Threads_connected" | "|"カットは、-d -f 3
mysqladminは:[警告]コマンドラインインターフェイスのパスワードを使用すると安全でないとすることができます。
71

この事をテストします

UserParameter = mysql.status [*]、mysqladminは-uzbx_monitor -p'Javaer123456' 拡張ステータスを-hlocalhost | grepの-w "Threads_connected" | "|" カットは、-d -f 3

zabbix_agentd -t mysql.status -c /usr/local/etc/zabbix_agentd.conf.d/userparameter_mysql.conf

mysql.status [T |のmysqladmin:[警告]コマンドラインインターフェイス上でパスワードを使用するには、安全でないことができます。
71]
zabbix_get -slocalhost -p 10050 -k mysql.status
mysqladminの-uzbx_monitor -p'Javaer123456' -hlocalhost拡張状態| grepの-w "接続" | "|"カットは、-d -f 3
抄写个脚本给配置文件用

#/ binに/ bashの!
 
#Filename:chk_mysql.sh
 
MYSQL_SOCK = "の/ var / libに/ MySQLの/にmysql.sock"
mysql_user = 'zbx_monitor'
MYSQL_PASSWORD = 'Javaer123456'
MYSQL_HOST = 'localhost'の
MYSQL_PORT = '3306'
にmysql_connect =「/ USR / binに/ mysqladminの-u mysql_user -p $ $ $ MYSQL_HOST MYSQL_PASSWORD -H -S -P $ $ MYSQL_SOCK MYSQL_PORT "
 
IF [$#-ne 1];その後、
エコー"してくださいワンarguement INPUT "
Fiの
 
ケース$を1。
 
アップタイム)#現在、この調査の開始後に統計的な時間を実行しているMySQLの
結果= ${MYSQL_Connect} status 2&gt;/dev/null | cut -d ":" -f 2 | cut -d " " -f 2
エコー$の検索結果を
;;
 
Slow_queries)#ビュー現在のスロークエリの数
結果= ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Slow_queries" | cut -d "|" -f 3
エコー$結果
;;
 
Com_rollback)のロールバックの#数
結果= ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Com_rollback" | cut -d "|" -f 3
エコー$結果は、
;;
 
質問)
=結果${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Questions" | cut -d "|" -f 3
エコー$結果を
;;
 
Com_commit)
結果= ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Com_commit" | cut -d "|" -f 3
エコー$結果
;;
 
BYTES_SENTを)#バイトが送られた
=検索結果を${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Bytes_sent" | cut -d "|" -f 3
エコー$結果
;;
 
)Bytes_receivedを受け入れバイト#数
結果= ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Bytes_received" | cut -d "|" -f 3
エコー$結果
;;
 
Com_begin)の
結果= ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Com_begin" | cut -d "|" -f 3
エコー$結果
;;
 
Open_tables)#ビューテーブルの現在の数が開く
結果= ${MYSQL_Connect} status 2&gt;/dev/null | cut -d ":" -f 5 | cut -d " " -f 2
エコー$結果
;;
 
Threads_connected)#ビューは現在開いている接続の数
結果= ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Threads_connected" | cut -d "|" -f 3
エコー$結果
;;
 
Threads_cachedを)#表示スレッドキャッシュ内のスレッド数
結果は= ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Threads_cached" | cut -d "|" -f 3
エコー$結果
;;
 
Threads_createdを)#は、ハンドルの接続に作成されたスレッドの数を表示します。Threads_createdが大きい場合は、値thread_cache_sizeを増やすことができます。
=結果は${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Threads_created" | cut -d "|" -f 3
結果$をエコー
;;
 
Threads_running)#ビューアクティブ(非スリープ状態)のスレッドは
=結果${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Threads_running" | cut -d "|" -f 3
エコー$の検索結果を
;;
 
Slow_launch_threads)#もっと見るslow_launch_time秒よりを作成するスレッドの数は
=結果${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Slow_launch_threads" | cut -d "|" -f 3
エコー$結果
;;
 
Com_selectを)#表示select文のの実行回数
結果= ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Com_select" |cut -d "|" -f 3
結果$エコー
;;
 
Com_insert)#ビュー刑の執行の数のインサート
結果= ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Com_insert" |cut -d "|" -f 3
エコー$結果
;;
 
Com_updateの)#ビューの更新文の実行回数
結果= ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Com_update" | cut -d "|" -f 3
エコー$結果
;;
 
実行Com_delete数)#ビューDELETEステートメント
の結果= ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Com_delete" | cut -d "|" -f 3
エコー$結果
;;
 
接続)#ビューは、MySQL(のにかかわらず、接続が成功したかどうかの接続数)に接続しようとした
結果= ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Connections" | cut -d "|" -f 3
エコー$結果
;;
 
Table_locks_immediate)#ビューロックテーブルの数がすぐに得た
結果= ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Table_locks_immediate" | cut -d "|" -f 3
エコー$の検索結果を
;;
 
Table_locks_waited)#ビューロックテーブルには、すぐに入手することができません。値が高く、パフォーマンスの問題がある場合は、最初のクエリを最適化して、テーブルを分割したり、コピーしてください
結果= ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Table_locks_waited" | cut -d "|" -f 3
エコー$結果
;;
 
*)を
エコー「使い方:$ 0(稼働時間| Com_update | Slow_queries | Com_select | Com_rollback |ご質問| Com_insert | Com_delete | Com_commit | BYTES_SENT | Bytes_received | Com_begin) "
;;
ESACの
使用法:./ chk.sh(アップタイム| Com_update | Slow_queries | Com_select | Com_rollback |質問| Com_insert | Com_delete | Com_commit | BYTES_SENT | Bytes_received | Com_begin)
ファイルパス

/usr/local/etc/zabbix_agentd.conf.d/chk.sh
設定ファイルで導入されたスクリプト

UserParameter = mysql.status [*]、/ USR /ローカルの/ etc / zabbix_agentd.conf.d / chk.sh $ 1
テストするための有用性のchk.sh

-k -p 10050 -slocalhost zabbix_get "mysql.status [Com_update"
zabbix_get -slocalhost -p 10050 -k "mysql.threads_connected"
ZABBIXに対応するキーの新バージョンを形成します。
mysql.connections.rate

mysql.threads_connected

結果=は${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w “Threads_connected” | cut -d “|” -f 3
$結果をエコー

単一の設定パラメータmysql.threads_connected
のgrep -w "接続" | | UserParameter = mysql.threads_connected、mysqladminは-uzbx_monitor -p'Javaer123456「-hlocalhost-拡張ステータスカットは、-d "|"。-f 3

ZABBIXログ

猫/tmp/zabbix_server.log

https://java-er.com/blog/zabbix-mysql-monitor/

おすすめ

転載: blog.51cto.com/yuexiaosheng/2481353