zabbix8 ---- template mysql

zabbix8 ---- template mysql

zabbix template mysql


使用bash创建zabbix模板

1、配置Mysql主从
master

vim /etc/my.cnf
[mysqld]
server_id=1
log_bin
innodb_file_per_table=1

systemctl restart mariadb

grant  replication slave on *.* to 'repluser'@'192.168.10.%'  identified by 'pass123';
#revoke all on *.* from repluser@'192.168.10.%';
show variables like 'server_id';
show master logs;

mysqldump  -B zabbix -F -E -R --single-transaction --master-data=1 --flush-privileges --triggers --default-character-set=utf8 --hex-blob > zabbix_all.sql

show processlist;

slave

cat /etc/my.cnf
[mysqld]
server_id=16
read_only=ON
innodb_file_per_table=1
replicate-do-db=zabbix		#设定需要复制的数据库(多数据库使用逗号,隔开)
#replicate-ignore-db=zabbix_proxy_active,zabbix_proxy_passive  #设定需要忽略的复制数据库 (多数据库使用逗号,隔开)

systemctl restart mariadb

mysql < zabbix_all.sql 

CHANGE MASTER TO MASTER_HOST='192.168.10.11', MASTER_USER='repluser', MASTER_PASSWORD='pass123', MASTER_PORT=3306, MASTER_LOG_FILE='mariadb-bin.000003', MASTER_LOG_POS=245;

start slave;

2、配置zabbix_agent

grep ^[a-Z] zabbix_agentd.conf  
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.10.0/24
ServerActive=192.168.10.3
Hostname=192.168.10.16
Include=/etc/zabbix/zabbix_agentd.d/*.conf

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

3、监控脚本验证

/etc/zabbix/zabbix_agentd.d/mysql_monitor.sh
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 [[ $NUM1 =~ "Yes" ]] && [[ $NUM2 =~ "Yes" ]];then
        echo 200
    else
        echo 404
    fi
}

main(){
    case $1 in
        Seconds_Behind_Master)
           Seconds_Behind_Master;
           ;;
        master_slave_check)
           master_slave_check
           ;;
        *)
            echo "$0 Seconds_Behind_Master|master_slave_check"
    esac
}

main $1

[root@zabbix-server ~]# zabbix_get -s 192.168.10.16 -k mysql_status["master_slave_check"]
200
[root@zabbix-server ~]# zabbix_get -s 192.168.10.16 -k mysql_status["master_slave_check"]
404

4、zabbix web添加模板


监控项


图形

触发器


5、zabbix web添加主机监控


6、验证

基于percona-monitoring-plugins创建模板

官方文档:https://www.percona.com/software/documentation
https://www.percona.com/doc/percona-monitoring-plugins/1.1/index.html
软件包获取:https://www.percona.com/downloads/percona-monitoring-plugins/
https://downloads.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

1、基于php的方式实现,需要安装php和php- mysql
yum install php php-mysql
2、安装模板.https://www.percona.com/downloads/percona-monitoring-plugins/

wget https://downloads.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
rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm 
以下有脚本及配置文件,模板需要修改时区及SNMP相关设置,功能性可参考此xml文件
[root@localhost ~]# rpm -ql percona-zabbix-templates 
/var/lib/zabbix/percona
/var/lib/zabbix/percona/scripts
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
/var/lib/zabbix/percona/templates
/var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf
/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml

3、复制con配置文件/var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf到 zabbix agent目录

cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/.

4、创建php账户密码文件,/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf

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

验证参数
[root@localhost ~]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
0
[root@localhost ~]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh lh
81892921

5、导入模板并关联主机

导入模板失败



修改时间区域及snmp相关设置

主机添加mysql模板

验证数据是否采集

posted @ 2021-10-30 20:19  Final233  阅读(73)  评论(0编辑  收藏  举报