关于 zabbix 安装配置请查看 Zabbix 手动快速安装
Mysql 配置
- 创建指定权限用户
grant ALL on *.* to "zabbix"@"localhost" identified by 'Zabbix@123456';
- 参考示例
UserParameter=mysql.ping[*], HOME=/var/lib/zabbix mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.get_status_variables[*], HOME=/var/lib/zabbix mysql -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version[*], HOME=/var/lib/zabbix mysqladmin -s -h"$1" -P"$2" version
UserParameter=mysql.db.discovery[*], HOME=/var/lib/zabbix mysql -h"$1" -P"$2" -sN -e "show databases"
UserParameter=mysql.dbsize[*], HOME=/var/lib/zabbix mysql -h"$1" -P"$2" -sN -e "SELECT SUM(DATA_LENGTH + INDEX_LENGTH) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"
UserParameter=mysql.replication.discovery[*], HOME=/var/lib/zabbix mysql -h"$1" -P"$2" -sNX -e "show slave status"
UserParameter=mysql.slave_status[*], HOME=/var/lib/zabbix mysql -h"$1" -P"$2" -sNX -e "show slave status"
- 实际应用脚本
- /etc/zabbix-agent/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
## Template DB MySQL
UserParameter=mysql.ping[*],HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
UserParameter=mysql.version[*],HOME=/var/lib/zabbix mysqladmin version
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -N | awk '{print $$2}'
## mysql_slave
UserParameter=check_slave[*],HOME=/var/lib/zabbix mysql -sNX -e "show slave status"
UserParameter=mysql.slave.timeout[*],HOME=/var/lib/zabbix mysql -e "show slave status\G"|grep Seconds_Behind_Master|awk '{print $NF}'
- 创建 mysql目录
- mkdir -p /var/lib/zabbix
- 在此目录下添加.my.cnf并编辑
# cat .my.cnf
[mysql]
user = root
host = localhost
password = 123456
[mysqladmin]
user = root
host = localhost
password = 123456
模板
- 参考图例
- 需要注意监控项值的类型: