MySQLマスタースレーブを設定した後、スレーブの状態が正常かどうかわからないことが多く、例外が発生したときにすぐにわからないことがあります。ここでは、シェルスクリプトとzabbixを組み合わせて監視とアラームを実現できます。 一般的に、MySQL のスレーブの実行状態は、Slave_IO_Running スレッドと Slave_SQL_Running スレッドが正常かどうかをチェックすることで確認します。これは、コマンド「show slave status\G;」を使用して確認できます。ここでは、これら 2 つの値に基づいて判断を行います。 エージェント側のスクリプトの作成と構成 注: すべてのzabbix関連スクリプトを/etc/zabbix/script/ディレクトリに配置しました。以下はすべてzabbixの監視側で操作され、上記のデータベースはMySQLマスタースレーブのスレーブに属しています。 1) スクリプト [root@srt-xt ~]# cd /etc/zabbix/script/ [root@srt-xt /etc/zabbix/script]# cat mysql_slvae_status.sh #!/bin/bash #Desc: マスタースレーブ同期情報を取得し、マスタースレーブが異常かどうかを判断し、それをZabbixに送信するために使用されます #日付: 2019-06-06 #by:Lee-YJ USER="root" パスワード="nae3eabo9naeli1Oov1a" 名前=$1 関数IO { Slave_IO_Running=`mysql -u $USER -p$PASSWD -e "show slave status\G;" 2> /dev/null |grep Slave_IO_Running |awk '{print $2}'` [ $Slave_IO_Running == "Yes" ]の場合; エコー0 それ以外 エコー1 フィ } 関数SQL{ Slave_SQL_Running=`mysql -u $USER -p$PASSWD -e "show slave status\G;" 2> /dev/null |grep Slave_SQL_Running: |awk '{print $2}'` [ $Slave_SQL_Running == "Yes" ]の場合; エコー0 それ以外 エコー1 フィ } $NAMEの場合 io) IO ;; sql) 構文 ;; *) echo -e "使用法: $0 [io | sql]" エサック 2) 設定ファイルを修正し、上記で記述したスクリプトのパスを指定する自己設定ファイルを作成します。 [root@srt-xt ~]# cd /etc/zabbix/zabbix_agentd.d/ [root@srt-xt /etc/zabbix/zabbix_agentd.d]# cat ユーザーパラメータ_mysql_slave.conf # MySQLスレーブのステータスを取得 UserParameter=mysql.slave[*],/etc/zabbix/script/mysql_slvae_status.sh $1 3) zabbix-agentを再起動する [root@srt-xt /etc/zabbix/zabbix_agentd.d]# /etc/init.d/zabbix-agentを再起動します 4) zabbix-server でテストして、値が正常に取得できるかどうかを確認します。上記のスクリプトによると、ここでの 0 は正常、1 は異常を意味します。 [root@xxxxx ~]# zabbix_get -s 218.75.249.55 -k mysql.slave[sql] 0 [root@xxxxx ~]# zabbix_get -s 218.75.249.55 -k mysql.slave[io] 0 サーバー側のWeb構成 1) Slave_IO_Runningスレッド監視項目を構成する 2) Slave_SQL_Runningスレッド監視項目を構成する 3) Slave_IO_Runningスレッドのトリガーを設定する 4) Slave_SQL_Runningスレッドのトリガーを設定する 5) トリガーアクションを設定する 実行するアクションを設定する(管理者にメッセージを送信する) 構成ステータスの回復操作(管理者へのメッセージも送信) 最後に監視項目を確認します この時点で、MySQL マスタースレーブスレーブのステータス監視は完了です。 要約する 以上が、編集者が紹介したZabbixによるMySQLのマスタースレーブ状態監視方法についての詳細な説明です。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
>>: Nginx のリロード プロセスの背後にある真実を探る
runlike を使用してコンテナの docker run 起動パラメータを表示します。 pipを...
システムをインストールした後、毎回いくつかのソフトウェアを再インストールする必要があります。ソフトウ...
実際には、N 秒後にページを自動的にジャンプさせるにはどうすればよいかという問題によく遭遇します。私...
<br />私の仕事で使用しているアノテーションの書き方の基準をまとめました。技術的な内...
目次1. IDEAはdockerプラグインをダウンロードします2. クラウドサーバーDocker 2...
目次序文配列.プロトタイプ.includes文法パラメータ戻り値例配列プロトタイプの削減文法パラメー...
目次1. JDKをダウンロードする(例としてjdk1.8.0を使用する) 2. JDK をインストー...
必要とする本文の下のdivは垂直方向に中央揃えになっていますdiv 内のテキストを垂直中央に配置する...
問題の説明: Macを購入し、初めてMySQLをインストールしました。初期パスワードが分かりません。...
フロントエンドのデザイン案では、「X」や「>」の形をした閉じるボタンや、他の 3 方向の白抜き...
目次執筆の背景プロジェクトの説明事前準備注記執筆の背景以前のプロジェクトではTencent Maps...
目次父から息子へ:息子から父へ: Vuex を使用せずにコンポーネント間で値を渡す方法は、親から子、...
タイトルXML/HTML コードコンテンツをクリップボードにコピー< h1 >第 1 レ...
HTML では、一般的な URL はさまざまな方法で表現されます。相対 URL:コードをコピーコード...
CSS プロパティのブラウザ互換性をまとめる必要があるのはなぜですか?使用する際は、Can I U...