ナイン---のZabbixのZabbix監視mysqデータベース

実1:プラグインperconaデータベース監視mariadb

1、環境の準備:

ノード1:192.168.7.101マスター-mysqlのプライマリ・データベース

ノード2:データベースから192.168.7.102スレーブ-mysqlの

ノード4:192.168.7.104 ZABBIXプロキシサーバー

マスタデータベースZABBIXエージェントから(1)をインストールするために必要とされます

#yumをインストールZABBIXエージェント-y  

パッケージZABBIXプロキシ-MySQLをインストールする(2)ノード4ホスト

#yumをインストールZABBIXプロキシ-mysqlの-y

図2に示すように、マスター・インストール・構成データベースから

(1)mariadbサーバデータベースホストノード1とノード2に搭載されました

#yumをmariadb-サーバーをインストール-y

(2)マスタデータベースmariadbの構成:な/etc/my.cnf 

[mysqldを】
ソケット=の/ var / libに/ MySQLの/にmysql.sock 
ユーザ= MySQLの
シンボリックリンク= 0 
DATADIR = /データ/ MySQLの
innodb_file_per_tableを= 1 
中継ログ= /データ/ MySQLの
サーバID = 101 
ログビン= /データ/ mysqlの/マスターログ

ストアデータベースにディレクトリを作成します。

#ます。mkdir /データ/ mysqlの-p 
#chownコマンド-R mysql.mysql /データ/ MySQLの

(3)スタートmariadbプライマリサーバデータベース

#systemctl開始mariadb

(4)データベースサーバからmariadb構成:VIMな/etc/my.cnf

[mysqldを】
ソケット=の/ var / libに/ MySQLの/にmysql.sock 
ユーザ= MySQLの
シンボリックリンク= 0 
DATADIR = /データ/ MySQLの
innodb_file_per_tableを= 1 
中継ログ= /データ/ MySQLの
サーバID = 102 
ログビン= /データ/ mysqlの/マスターログ

ストアデータベースにディレクトリを作成します。

#ます。mkdir /データ/ mysqlの-p 
#chownコマンド-R mysql.mysql /データ/ MySQLの

サーバーのデータベースから始まる(5)

#systemctl開始mariadb

(6)(ノード1)プライマリ・サーバ上でLinuxのデータベースを作成し、認可

[ルート@ノード1〜]#のMySQLの
MariaDBモニタへようこそ。コマンドは、で終わります。または\グラム。
あなたのMariaDBの接続IDが11である
MariaDBサーバー10.3.10-MariaDBログ:Serverバージョン

著作権(C)2000、2018、オラクル、MariaDB社抗体などを。

「助けを;」タイプ 助けのためか、「\ H」。現在の入力文をクリアするために「\ C」を入力します。

MariaDB [(なし)]>データベースのLinuxを作成します。#创建Linuxの数据库
MariaDB [(なし)]> GRANT REPLICATION SLAVE、* ON複製CLIENT * '123456' BY IDENTIFIED TO 'linux'@'192.168.7.%'。
クエリOK、影響を受けた0行(0.003秒)

(7)データベースプライマリサーバでバックアップデータ、及び/ OPTディレクトリにエクスポート 

[ルート@ノード1〜]#mysqldumpを-a -f --single-トランザクション--master-データ= 1> /opt/backup.sql 

(8)をデータベースにbackup.sqlバックアップデータ(NODE2上のマスタ)からの  

[ルート@ノード1〜]#scpの/opt/backup.sql 192.168.7.102:/opt

vimの/opt/backup.sql:バイナリログデータベースの初期名から渡された(9)ビューマスターデータベース

 

(10)サーバ/opt/backup.sqlから送信されたデータにサーバから

[ルート@ノード2〜]#MySQLの</opt/backup.sql 
[ルート@ノード2〜] ## MySQLデータベースへ
とモニタコマンドエンドへザ・MariaDBで購入可能です。または\ G .. 
言及したID上記のあなたのMariaDBの接続である3 
Serverバージョン:5.5サーバーMariaDB MariaDB 0.64 

著作権(C)2000、2018、Oracle、およびその他のAb MariaDB株式会社。

タイプ[ヘルプ; '。または'\ H'種類のヘルプ'\ C'をクリアザ・現在のINPUTステートメントに。

MariaDB [(なし)]>ショーのデータベース;この時点でのビューに#Linuxのデータベース情報がデータベースにインポートされています。
+ -------------------- + 
|データベース| 
+ -------------------- + 
| INFORMATION_SCHEMA | 
| Linuxの| 
| MySQLの| 
| performance_schema | 
|テスト|  
+ -------------------- +
SET行の5(0.00秒)
MariaDB [(なし)]> CHANGE MASTER TO MASTER_HOST = '192.168.7.101'、MASTER_USER = 'Linuxの、MASTER_PASSWORD = '123456'、MASTER_PORT = 3306、MASTER_LOG_FILE = 'のMySQL-bin.000001'、MASTER_LOG_POS = 342;#の同期マスタデータベースから、コピーは、MySQL-bin.000001を開始し、ファイルサイズが342 
MariaDB [(なし)]>スレーブ開始;#は、一次情報データベースコピーを開始
クエリにOKを、0行が影響を受ける(0.00秒)

MariaDB [(なし)]>スレーブ状態\ Gを示し;#チェックをその状態
*************************** 1行******** ******************* 
Slave_IO_State:送信イベントへのマスターを待っ
MASTER_HOST:192.168.7.101 
MASTER_USER:Linuxの
MASTER_PORT:3306 
Connect_Retry:60 
MASTER_LOG_FILE:MySQLの-bin.000001 
Read_Master_Log_Pos: 385 
のRelay_Master_Log_File:MySQLのビン。000001 
RELAY_LOG_FILE:ノード2リレービン。000002
RELAY_LOG_POS:583 
Seconds_Behind_Master:0
Slave_IO_Running:はい#两个为はい、说明正常。
Slave_SQL_Running:はい
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno:0 
LAST_ERROR:
Skip_Counter:0 
Exec_Master_Log_Pos:385 
Relay_Log_Space:877 
Until_Condition:なし
Until_Log_File:
Until_Log_Pos:0 
Master_SSL_Allowed :いいえ
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Master_SSL_Verify_Server_Cert:いいえ
Last_IO_Errno:0 
Last_IO_Error:
Last_SQL_Errno:0 
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id:1

この観点から、メインIOとSQLは通常の説明、yesに状態を実行しています。 

 

 percona ZABBIX監視プラグインをダウンロードする3、公式サイト

 公式ウェブサイトのアドレスをダウンロードします。https://www.percona.com/downloads/

 公式文書ます。https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html

 インストールチュートリアルします。https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html#installation-instructions

(1)はもちろんの公式ウェブサイトを入力し、[ZABBIX Percona監視プラグインを選択します

 

(2)最新バージョンを選択し、centos7システムを選択し、percona関連するプラグインZABBIXのリンク、ダウンロードのパッケージをコピーして、Linux上でそれをインストール

 

 (3)LinuxシステムZABBIXに関連するプラグインperconaダウンロードを開始する(サーバ上)に

[root@node2 ~]# wget https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm
--2020-02-25 21:11:12--  https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm
Resolving www.percona.com (www.percona.com)... 74.121.199.234
Connecting to www.percona.com (www.percona.com)|74.121.199.234|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 28296 (28K) [application/x-redhat-package-manager]
Saving to: ‘percona-zabbix-templates-1.1.8-1.noarch.rpm’

100%[=======================================================================================================>] 28,296      38.0KB/s   in 0.7s   

2020-02-25 21:11:25 (38.0 KB/s) - ‘percona-zabbix-templates-1.1.8-1.noarch.rpm’ saved [28296/28296]

(4)在从服务器上安装percona关联的zabbix插件

[root@node2 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm 
warning: percona-zabbix-templates-1.1.8-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:percona-zabbix-templates-1.1.8-1 ################################# [100%]

Scripts are installed to /var/lib/zabbix/percona/scripts
Templates are installed to /var/lib/zabbix/percona/templates

(5)在从服务器上复制percona的zabbix插件模板

[root@node2 ~]# cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf  /etc/zabbix/zabbix_agentd.d/

(6)配置从服务器的/etc/zabbix/zabbix_agentd.conf文件

Server=192.168.7.100,192.168.7.104 # zabbix server服务器端的IP地址和主动模式代理服务器的IP地址
ServerActive=192.168.7.104 # 代理服务器的IP地址
Hostname=192.168.7.102  # 从服务器的IP地址

(7)重启zabbix-agent服务: systemctl restart zabbix-agent

(8)新建一个配置文件:/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf

<?php
$mysql_user= 'root';
$mysql_pass= '';

(9)在从服务器上安装php和php-mysql包

# yum install php  php-mysql  -y

(10)用脚本测试页面是否会显示数据,如果显示数据,说明正确

[root@node2 ~]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
5599

(11)在从服务器验证完之后,因此测试的文件是root执行生成的文件,此时在zabbix-server服务器端验证就会获取不到数据,所以必须删除脚本测试的临时文件,临时文件在/tmp/目录下。

[root@node2 ~]# rm -rf /tmp/localhost-mysql_cacti_stats.txt 

(12)在zabbix-server服务器端获取数据

[root@zabbix ~]# zabbix_get  -s 192.168.7.102 -p 10050 -k "MySQL.Key-read-requests"
5599

(13)此时在从服务器上查看/tmp临时目录下的文件,就会创建以zabbix用户创建的文件

[root@node2 ~]# ll /tmp/localhost-mysql_cacti_stats.txt 
-rw-rw-r-- 1 zabbix zabbix 1237 Feb 25 22:09 /tmp/localhost-mysql_cacti_stats.txt

在zabbix网页上创建Percona模板

(1)导入自制的Percona模板

 

 (2)将主机关联到前面创建的主动模式的proxy代理服务器node4上

   

 (3)关联Percon模板

 

(4)将percona模板的监控项被动模式改为主动模式

  

(5)此时可以看到从服务器的主机的zabbix-agent变绿了

 

 (6)查看此时监控的结果

   

 实战二:自定义监控项监控数据库

在从服务器上创建检查主从同步自定义监控脚本

(1)在从服务器上/etc/zabbix/zabbix_agentd.d/目录下创建脚本,调用脚本查看返回的值,脚本名称为mysql_monitor.sh

#!/bin/bash
Seconds_Behind_Master(){
        NUM=`mysql -uroot -hlocalhost   -e "show slave status\G;"  | grep "Seconds_Behind_Master:" | awk -F: '{print $2}'`
        echo $NUM
}

master_slave_check(){
NUM1=`mysql -uroot -hlocalhost   -e "show slave status\G;"  | grep "Slave_IO_Running" | awk -F:  '{print $2}' | sed 's/^[ \t]*//g'`
#echo $NUM1
NUM2=`mysql -uroot -hlocalhost   -e "show slave status\G;"  | grep "Slave_SQL_Running:" | awk -F:  '{print $2}' | sed 's/^[ \t]*//g'`
#echo $NUM2
if test $NUM1 == "Yes" &&  test $NUM2 == "Yes";then
    echo 50
else
    echo 100
fi
}

main(){
    case $1 in
        Seconds_Behind_Master)
           Seconds_Behind_Master;
           ;;
        master_slave_check)
           master_slave_check
           ;;
    esac
}
main $1

(2)验证脚本返回值,检查返回为50,时延返回为0,说明没问题。

[root@node2 zabbix_agentd.d]# bash mysql_monitor.sh  master_slave_check
50
[root@node2 zabbix_agentd.d]# bash mysql_monitor.sh  Seconds_Behind_Master
0

(3)将mysql_monitor.sh加上执行权限

# chomd +x mysql_monitor.sh

(4)创建一个调用脚本的文件:vim /etc/zabbix/zabbix_agentd.d/mysql_monitor.conf

UserParameter=mysql_monitor[*],/etc/zabbix/zabbix_agentd.d/mysql_monitor.sh $1

(5)重启zabbix-agent服务,并在zabbix-server服务器端验证返回效果:systemctl restart  zabbix-agent   

(6)在zabbix-server服务器端进行验证此时的脚本返回值,和在服务器上返回一致。

[root@zabbix ~]# zabbix_get -s 192.168.7.102 -p 10050 -k "mysql_monitor[master_slave_check]"
50
[root@zabbix ~]# zabbix_get -s 192.168.7.102 -p 10050 -k "mysql_monitor[Seconds_Behind_Master]"
0

4、在zabbix网页上创建模板,关联proxy主动模式代理的模板

(1)创建mysql_linux模板

   

(2)创建在创建了mysql_linux模板下,创建监控项

   

(3)添加从服务器主机

   

 (4)将从服务器关联到创建mysql监控的模板上。

 

 (5)创建主从同步检查的图形

   

 (6)创建mysql时延监控项

 

 (7)创建mysql时延监控图形

 

 (8)创建mysql主从同步检查触发器

   

 (9)创建主从同步延时触发器,时延大于300ms就会触发动作

     

 (10)查看此时的mysql监控时延信息。

    

 (11)查看mysql监控的同步信息

   

 

 

 

 

 

 

 

  

  

  

  

  

 

おすすめ

転載: www.cnblogs.com/struggle-1216/p/12364012.html
おすすめ