Zabbix 和 MySQL 在大型的 Zabbix 环境中,遇到的挑战大部分是 MySQL 以及更具体的说是 MySQL 磁盘 IO。...考虑到这一点,我将提出一些优化,这将有助于你的 MySQL 最好的使用磁盘(必然的将帮助你的 Zabbix 最好的利用 MySQL)和可用的硬件资源。...为了做决定,你可能需要看下你的 MySQL 服务器的 Zabbix graphs,但是你也可以从 mysql 命令行运行以下的命令: mysql> pager grep seq; show engine...并且这就是很多人遇到的 zabbix 的限制 - MySQL 不能在每秒插入足够的新值。...除了我上面已经提到的优化(它们应该大大增加你的写吞吐量),我将鼓励你尝试分片(如果你还没有使用分片)或者是通过 BASH subpartitions,正如我们在 partitioning in some
对MySQL进行调优,能够极大的提升Zabbix的性能,本文采用对MySQL进行分区的方法进行调优。...操作详细步骤 操作影响: 可以在线操作,MySQL的读写变慢,Zabbix性能变慢,影响时间根据数据的小而变化,一般在2个小时左右。...第一步 登录zabbix server的数据库,统一MySQL的配置 cat > /etc/my.cnf<<EOF [mysqld] datadir=/data/mysql socket=/var/...cat >> crontab.txt <<EOF #zabbix partition_maintenance 01 01 * * * mysql -uzabbix -pzabbix zabbix...-e"CALL partition_maintenance_all('zabbix')" &>/dev/null EOF cat crontab.txt |crontab 注意: mysql的zabbix
Mysql状态检查脚本 vim /etc/zabbix/alertscripts/check_mysql.sh #!.../bin/bash # 用户名 MYSQL_USER='zabbix' # 密码 MYSQL_PWD='XXXXX' # 主机地址/IP MYSQL_HOST='127.0.0.1' # 端口 MYSQL_PORT...[*],/etc/zabbix/alertscripts/chk_mysql.sh $1 # 获取mysql运行状态 UserParameter=mysql.ping,mysqladmin -uzabbix...-p123456 -P3306 -h127.0.0.1 ping | grep -c alive 常见错误解决思路如果发现监控没有数据,请排查如下问题 zabbix客户端是否重启 脚本是否有执行权限...数据库是否有权限 编译mysql的绝对路径(如上是按照我自己的mysql编译路径) 环境变量是否有问题 请看zabbix item列,鼠标移至红色叉上,有错误提示。
# 1.查找并拷贝Zabbix监控Mysql模板文件 [root@summer mysql]# find / -name user*_mysql.conf /usr/share/doc/zabbix-agent...-5.0.3/userparameter_mysql.conf [root@summer mysql]# cp /usr/share/doc/zabbix-agent-5.0.3/userparameter_mysql.conf.../etc/zabbix/zabbix_agentd.d/ [root@summer mysql]# chown -R zabbix:zabbix /etc/zabbix/zabbix_agentd.d.../userparameter_mysql.conf [root@summer mysql]# chmod a+x -R /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf...[root@summer mysql]# vim /var/lib/zabbix/.my.cnf # 2.配置.my.cnf [root@summer zabbix]# cat /var/lib/
多实例服务器上的操作 1、授权zabbix监控mysql账号,在每个实例下都需要。...@mysql zabbix]# vi /etc/zabbix/etc/zabbix_agentd.conf UnsafeUserParameters=1 EnableRemoteCommands=1 Include...=/etc/zabbix/etc/zabbix_agentd.conf.d/*.conf 3、增加配置文件 [root@mysql etc]# vim /etc/zabbix/etc/zabbix_agentd.conf.d...*],/etc/zabbix/bin/mysql_alive.sh $1 ### 是否存活 UserParameter=mysql.ms.check[*],/etc/zabbix/bin/mysql_slave_status.sh...root@mysql zabbix_agentd.d]# systemctl restart zabbix-agent 二、zabbix页面上操作 1、导入template_multi_MySQL.xml
1.在mysql数据库中创建zabbix用户 用来获取数据 GRANT PROCESS,SUPER,REPLICATION CLIENT ON *.* TO zabbix@'%' IDENTIFIED.../local/etc/zabbix_agentd.conf #配置文件 /usr/local/src/zabbix-3.2.3/conf/zabbix_agentd.conf # 添加mysql监控信息...chown zabbix:zabbix chk_mysql.sh 4.赋予zabbix用户执行netstat的权限 chmod +s /bin/netstat 5.重启zabbix_agentd service...zabbix_agentd stop service zabbix_agentd start 6.进入zabbix web 后台 添加Template App MySQL模板 之后再service端检查...key zabbix_get -s 192.168.6.230 -k mysql.ping zabbix_get -s 192.168.6.230 -k mysql.status[Com_insert]
/script]#chmod +x mysql_slave_status.sh [root@slave.example.com /etc/zabbix/script]#chown -R zabbix.zabbix...=mysql.slave[*],/etc/zabbix/script/mysql_slave_status.sh $1 [root@slave.example.com /etc/zabbix/zabbix_agentd.d...]#chown -R zabbix.zabbix /etc/zabbix/zabbix_agentd.d/userparameter_mysql_slaf [root@slave.example.com.../script]#chown -R zabbix.zabbix mysql_delay.sh [root@slave.example.com /etc/zabbix/script]#chmod +x mysql_delay.sh.../mysql_delay.sh 0 zabbix server主机进行脚本测试 [root@server.example.com ~]#zabbix_get -s 192.168.111.40 -k check_mysql_delay
Grafana支持很多插件的安装,每种插件安装的方式也有多种,下面我使用grafana自带的工具grafana-cli来安装zabbix插件。...安装grafana-zabbix plugin grafana-cli plugins install alexanderzobnin-zabbix-app 插件安装完后需要重启grafana server...systemctl restart grafana-server.service 将zabbix Mysql配置到Data Source 点击Data Source->Add Data Source...点击add按钮完成添加 这一步可选,配置zabbix Mysql实际上是为了用在后面配置Zabbix Data Source,至于zabbix DB的作用,在Zabbix Data Source的配置这篇文章中会有介绍...相关文章: http://docs.grafana-zabbix.org/installation/configuration/
在之前的博文里面写过如何通过Zabbix监控mysql主从同步是否OK,mysql从库是否有延时(Seconds_Behind_Master)主库,当mysql主从有异常时通过Email或者SMS通知DBA...除此之外,Zabbix还可以监控mysql slow queries,mysql version,uptime,alive等。...下面通过Zabbix Graphs实时查看的SQL语句操作情况和mysql发送接收的字节数。...1.Zabbix官方提供的监控mysql的模板Template App MySQL,可以看到相关的Items和key。.../usr/local/bin/zabbix_get -s 172.*.*.* -p 10050 -k mysql.status[Uptime] /usr/local/bin/zabbix_get -s
Zabbix架构 在讲Zabbix优化之前,先来看看Zabbix Server 的逻辑架构图: 对于上图中,架构组件的描述: Zabbix进程 Self-Monitoring:用于收集Zabbix...优化内容 优化Zabbix架构 常用的架构: 说明:Zabbix最简单的架构,常用于监控主机比较少的情况下。 分布式架构: Server-Proxy-Agentd模式。...Zabbix Server/Zabbix Proxy配置优化 调整配置文件:Zabbix_Server.conf Zabbix进程参数调整: 1 2 3 4 5 6 StartPollers=80 StartPingers...=128M CacheSize=128M VMwareCacheSize=64M 优化Zabbix的数据库(MySQL) 调整MySQL配置文件:my.cnf或my.ini,在[mysqld]酌情修改参数...Zabbix监控项 优化监控项的数据采集方式,由被动方式改为主动模式(Passive mode -> Active mode),主动模式的优势: 可以用户NAT到设备后面; 数据缓冲; 减轻服务器的负载
本篇文章为大家介绍ZABBIX 如何通过官方自带Template DB MySQL和Template DB PostgreSQL 模板实现对 MySQL 和 PostgreSQL 数据库的监控。...ZABBIX 监控MySQL 1.MySQL上创建ZABBIX 监控用户 CREATE USER ‘zbx_monitor’@’%’ IDENTIFIED BY ‘‘; GRANT...root家目录 3.查看ZABBIX MySQL监控脚本 ZABBIX 4.2安装agent后会生成MySQL监控脚本 vim /etc/zabbix/zabbix_agentd.d/template_db_mysql.conf...=mysql.db.discovery[], mysql -h”2” -sN -e “show databases” UserParameter=mysql.dbsize[], mysql -h”2”...“show slave status” 4.zabbix_get测试 zabbix_get -s 172.18.0.71 -k mysql.ping[172.18.0.71,3306] 5.监控主机关联
性能优化 监控数据分析 zabbix监控主机和监控项较少的时候,不需要优化。 数据库 200台主机 * 200个监控项 = 40000监控项/30秒 = 1333次写入/每秒。...写多,读少 优化思路 mariadb 5.5 innodb 升级到mysql5.7 tokudb。 去掉无用监控项,增加监控项的取值间隔,减少历史数据的保存周期。 被动模式改为主动模式。...=0 [root@zabbix02 ~]# yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent 修改配置文件 [root@...web 安装部署 web 安装部署文档 zabbix配置文件优化 ############ GENERAL PARAMETERS ################# ### Option: ListenPort...历史数据到ES里面,优化zabbix性能,新版本zabbix的才支持 ### Option: HistoryStorageTypes # Comma separated list of value types
mysql -uroot -p123456 -S /data/mysql/3308/mysql3308.sock -e "show slave status\G"|grep -E "Running"|grep...最后计算出行数 编辑zabbix_agent.conf配置文件 添加红框框中的内容即可。...记住下面一定要写:UnsafeUserParameters=1 然后重启zabbix_agentd,先pkill zabbix_agentd,再启动zabbix_agentd,不要直接restart,...我这样重启不了,查看日志tail /tmp/zabbix_agentd.log,以日志为准!...通过zabbix_get命令进行测试: /usr/local/zabbix/bin/zabbix_get -s 39.97.176.117 -k check_mysql_replication 成功!
环境 CentOS 7.6 zabbix-agent 4.0.14 MySQL 5.7 创建监控MySQL用户 用root用户登录MySQL,创建授权用户信息。...修改zabbix配置默认的userparameter_mysql.conf文件 目录:/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf 注释掉默认的...grep -Ev '^$|^#' /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf UserParameter=mysql.status...,mysql -V /etc/zabbix/scripts/chk_mysql.sh数据库监控脚本。...zabbix-get 测试获取返回结果: zabbix自定义Mysql监控项 以上监控脚本中关于Mysql的连接数和并发数情况,即监控脚本中Threads_connected 和 Threads_running
背景 通过操作 zabbix 后端MySQL数据库实现web前端的配置,并开启数据库的语句查询日志功能,记录 zabbix前端 web 操作对应后端数据库的查询语句以便熟悉数据库查询语句。...MySQL 配置 egrep -v "*#|^$" /etc/my.cnf.d/server.cnf [server] [mysqld] datadir = /mariadb-data/mysql...] prompt=(\\u@\\h)[\\d]>\\_ host=localhost user=zabbix password="zabbix@zabbix" socket=/mariadb-data/...mysql/mysql.sock [mysqladmin] host=localhost user=zabbix password="zabbix@zabbix" socket=/mariadb-data...获取当前未恢复告警 Top10 /usr/bin/mysql -uroot -pxxxxx zabbix -e "SELECT p.eventid,p.clock,p.name,p.severity
脚本位置zabbix-agent,脚本,配置文件ok后重启服务,web上面添加对应主机mysql模板(自带) shell#cat /etc/zabbix/scripts/monitor_mysql #!...=$2 MYSQL_PASSWORD=$3 MYSQL_Host=$4 [ "${MYSQL_USER}" = '' ] && MYSQL_USER=zabbix [ "${MYSQL_PASSWORD...}" = '' ] && MYSQL_PASSWORD=zabbix [ "${MYSQL_Host}" = '' ] && MYSQL_Host=localhost [ "${var}" =...=1 #允许特殊字符 shell#cat /etc/zabbix/zabbix_agentd.conf.d/mysql_status.conf UserParameter...zabbix_get测试 shell#zabbix_get -s 127.0.0.1 -k mysql.status[Uptime] 有数据即成功创建了可用key
zabbix-web-mysql zabbix-agent mariadb mariadb-server [root@localhost ~]# systemctl start mariadb [root...[root@localhost ~]# zcat /usr/share/doc/zabbix-server-mysql-4.4.10/create.sql.gz |mysql -uzabbix -pzabbix.../zabbix_agentd.d/mysql.conf [root@localhost scripts]# cat /etc/zabbix/zabbix_agentd.d/mysql.conf UserParameter...=mysql.byte[*],/bin/bash /etc/zabbix/scripts/mysql_byte.sh $1 UserParameter=mysql.in.r,/bin/bash /etc...=qps,/bin/bash /etc/zabbix/scripts/mysql_qps.sh $1 UserParameter=tps,/bin/bash /etc/zabbix/scripts/mysql_tps.sh
搭建MySQL主从后,很多时候不知道从的状态是否ok,有时候出现异常不能及时知道,这里通过shell脚本结合zabbix实现监控并告警 一般情况下,在MySQL的从上查看从的运行状态是通过Slave_IO_Running...agent端脚本编写及配置 说明:所有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.../zabbix_agentd.d/ [root@srt-xt /etc/zabbix/zabbix_agentd.d]# cat userparameter_mysql_slave.conf #...获取MySQL slave状态 UserParameter=mysql.slave[*],/etc/zabbix/script/mysql_slvae_status.sh $1 3)重启zabbix-agent
先大概了解一下zabbix数据库结构: 1、groups表 ?.../usr/bin/python #coding:utf-8 import MySQLdb import time,datetime #zabbix数据库信息: zdbhost = '192.168.1.1...' zdbuser = 'zabbix' zdbpass = 'zabbixreport' zdbport = 3306 zdbname = 'zabbix' #需要查询的key列表 keys = {...__getHostList() def __getHostList(self): '''根据zabbix组名获取该组所有IP''' #查询组ID: ... = ReportForm() zabbix.getInfo() zabbix.writeToXls() 生成xls文件我用了一个叫xlsxwriter的第三方库,这个库只能写不能读,感觉还可以
这是《MySQL 监控》系列文章的第 3 节,之前我们讲解了“Prometheus+Grafana 监控 MySQL”和“PMM 监控 MySQL”,这一节内容来聊聊 Zabbix 的部署以及配置 Zabbix...-4.0.27 Zabbix 数据库 192.168.1.6 node2 CentOS 7.8 MySQL 8.0.23 MySQL 机器(Zabbix Agent) 192.168.1.7 node3...yum install -y zabbix-web-mysql 4 配置 Zabbix 的数据库 登陆 node2 机器上的 MySQL ,创建 zabbix 数据库和用户: mysql> create...sec) 登陆 node1 机器,导入 MySQL 初始化 SQL 语句: zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql...php $mysql_user = 'zabbix'; $mysql_pass = 'Zabbix@123'; 编辑配置文件 ~zabbix/.my.cnf [client] user = zabbix
领取专属 10元无门槛券
手把手带您无忧上云