Zabbix が MySQL のマスター/スレーブ状態を監視する方法の詳細な説明

Zabbix が MySQL のマスター/スレーブ状態を監視する方法の詳細な説明

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 ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Zabbixを使用してMySQLを監視する方法
  • Zabbixは複数のmysqlプロセスの監視を実装します
  • Zabbix を使用して Nginx/Tomcat/MySQL を監視する方法の詳細なチュートリアル
  • Zabbix の Percona プラグインを使用して MySQL を監視する方法
  • Zabbix 2.4.5 には MySQL 監視設定チュートリアルが付属しています
  • MySQLを監視するためのZabbixのインストールと設定に関する基本的なチュートリアル
  • Zabbix は MySQL インスタンス メソッドを監視します

<<:  Vue のスロットとフィルターの詳細な説明

>>:  Nginx のリロード プロセスの背後にある真実を探る

推薦する

LinuxシステムにおけるMySQLの一般的な操作コマンド

仕える: # chkconfig --list すべてのシステムサービスを一覧表示する# chkco...

JavaScript クロージャの説明

目次1. クロージャとは何ですか? 2. クロージャの役割2.1) メモリ2.2) プライベート変数...

Tomcatを自動的に開始するサービスとして設定するにはどうすればいいでしょうか?最も簡単な方法

Tomcat が自動的にサービスを開始するように設定します。最近、問題が発生しました。サーバー上のプ...

React の 3 つの主要属性における Ref の使用に関する詳細な説明

目次クラスコンポーネント機能コンポーネントインタビューのよくある質問: React における ref...

Redo ログと Undo ログに基づく MySQL クラッシュ回復の分析

目次MySQLクラッシュ回復プロセス1. ブラックボックス下のデータフローを更新する2. やり直しロ...

Tkinterはjsキャンバスを使用してグラデーションカラーを実現します

目次1. RGBを使用して色を表す2. Tkinter キャンバスコンポーネント3. グラデーション...

dockerコンテナにviコマンドをインストールする簡単な操作

docker コンテナを使用する場合、vim がインストールされていないことがあり、vim コマンド...

Linux カーネル デバイス ドライバーのメモリ管理に関する注意事項

/************************ * Linux メモリ管理 *********...

シームレスなトークンリフレッシュを実現する方法

目次1. 需要方法1方法2方法3 2. 実装3. 問題解決質問1: トークンの複数回の更新を防ぐ方法...

mysql5.7.22 ダウンロードプロセス図

1. 公式ウェブサイト www.mysql.com にアクセスし、ダウンロードを選択します。 2. ...

nginx を使用して特定のインターフェース (URL) をブロックする方法

1. はじめに場合によっては、Web プラットフォームがオンラインになった後、サービス インターフェ...

Windows 10 での Tomcat のインストールと展開に関する詳細なチュートリアル

目次1 Java環境の設定2 tomcatのインストールと展開Tomcat をインストールして展開す...

tomcatでcatalina.outログをカットする3つの方法の詳細な説明

1. ログセグメンテーションのためのLog4j 1) log4j-1.2.17.jar、tomcat...

JavaScriptはスライダーを介してWebページの色を変更することを実装します

みなさんこんにちは、今日はウェブフロントエンドのHTMLを見ていたら、inputタグのtype属性が...

Vue Elementのテーブルコンポーネントをカプセル化する方法

Vue コンポーネントをカプセル化する場合でも、機能コンポーネントをクロスファンクショナルに使用しま...