ZABBIX监控容器内的MySQL数据

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: ZABBIX监控容器内的MySQL数据

监控MYSQL主要指标:

实例状态

流量

连接数

增删改查

缓冲池大小与利用率


主要步骤:

编写监控数据采集脚本

创建模板

将运行MySQL的主机关联模板


我的环境:

系统:centos7

zabbix-server版本:4.0

zabbix-agent版本:4.0

mysql版本:5.7

docker版本:18.09


公司需求:使用zabbix监控容器内部的mysql数据

首选考虑到公司产品不仅仅只有mysql,所以不能在容器内部搭建zabbix-agent服务

1.在宿主机直接搭建zabbix-agent服务

2.创建一个mysql容器

3.进入容器,配置mysql服务


[root@vrgv zabbix_agentd.d]# docker exec -it mysql20210111 bash
在mysql配置文件加入以下参数
[root@vrgv-mysql zabbix-mysql-date]# vi /etc/my.cnf
[mysql]
host=127.0.0.1
user=root
password=root
[mysqladmin]
host=127.0.0.1
user=root
password=root
重新重启mysql服务
[root@vrgv-mysql zabbix-mysql-date]# systemctl restart mysqld

4.退出容器,编写zabbix-agentd.conf配置文件(已存在可不操作)

vim zabbix_agentd.conf

1675176771792.jpg

编写配置文件:(可把默认的MySQL配置文件删除)

[root@vrgv zabbix]# vim /etc/zabbix/zabbix_agentd.d/vrgv-mysql.conf
# 连接数
UserParameter=mysql.max_connections,echo "show variables where Variable_name='max_connections';" | docker exec -i mysql20210111 bash -c "mysql -N" | awk '{print $2}'
UserParameter=mysql.current_connections,echo "show global status where Variable_name='Threads_connected';" | docker exec -i mysql20210111 bash -c "mysql -N" | awk '{print $2}'
# 缓冲池
UserParameter=mysql.buffer_pool_size,echo "show variables where Variable_name='innodb_buffer_pool_size';" | docker exec -i mysql20210111 bash -c "mysql -N" |awk '{printf "%.2f",$2/1024/1024/1024}'
UserParameter=mysql.buffer_pool_usage_percent,echo "show global status where Variable_name='Innodb_buffer_pool_pages_free' or Variable_name='Innodb_buffer_pool_pages_total';" | docker exec -i mysql20210111 bash -c "mysql -N" | awk '{a[NR]=$2}END{printf "%.1f",100-((a[1]/a[2])*100)}'
# 增删改查
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" |docker exec -i mysql20210111 bash -c "mysql -N" | awk '{print $$2}'
# 实例状态
UserParameter=mysql.ping,HOME=/usr/local/zabbix_agent docker exec -i mysql20210111 bash -c "mysqladmin ping" | grep -c alive
UserParameter=mysql.version,docker exec -i mysql20210111 bash -c "mysql -V"

注:需要改动的位置

mysql20210111 是容器名称,根据自己实际情况修改,非容器安装mysql,把没行的docker exec -i mysql20210111 bash -c去掉即可,重新启动zabbix-agent服务

[root@vrgv zabbix_agentd.d]# systemctl restart zabbix-agent

5.zabbix-server端验证,可不可以获取到数据

[root@zabbix ~]# /data/findsec/zabbix/bin/zabbix_get -s 192.168.1.228 -p 10050 -k 'mysql.max_connections'
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/mysql20210111/json: dial unix /var/run/docker.sock: connect: permission denied

报错大致意思就是,没有权限

解决方法:

/var/run/docker.sock添加权限

[root@vrgv zabbix]# chmod 663 /var/run/docker.sock

这里需要注意下次重启docker,权限可能会发生变化

再次验证通过

[root@zabbix ~]# /data/findsec/zabbix/bin/zabbix_get -s 192.168.1.228 -p 10050 -k 'mysql.max_connections'

6.导入zabbix web 模板文件

文件链接: https://download.csdn.net/download/zhanremo3062/14110320.

1675176870253.jpg

7.MySQL主机关联此模板

1675176883551.jpg

8.验证

1675176895993.jpg已监控上数据,完成

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
监控 安全 Linux
在Linux中,zabbix如何监控脑裂?
在Linux中,zabbix如何监控脑裂?
|
24天前
|
SQL 监控 数据库
OceanBase社区版可以通过Zabbix监控
OceanBase社区版可以通过Zabbix监控
59 7
|
2月前
|
SQL 监控 数据库
OceanBase社区版可以通过Zabbix监控
【10月更文挑战第5天】随着OceanBase社区版的广泛应用,企业纷纷采用这一高性能、高可用的分布式数据库系统。为了确保系统的稳定运行,使用成熟的Zabbix监控工具进行全面监控至关重要。本文通过具体示例介绍了如何配置Zabbix监控OceanBase,包括安装配置、创建监控模板和监控项、编写脚本、设置触发器及图形展示等步骤,帮助读者快速上手,及时发现并解决问题,确保业务始终处于最佳状态。
60 2
|
3月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
3月前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
63 2
zabbix agent集成percona监控MySQL的插件实战案例
|
3月前
|
Prometheus 监控 Cloud Native
docker安装prometheus+Granfan并监控容器
【9月更文挑战第14天】本文介绍了在Docker中安装Prometheus与Grafana并监控容器的步骤,包括创建配置文件、运行Prometheus与Grafana容器,以及在Grafana中配置数据源和创建监控仪表盘,展示了如何通过Prometheus抓取数据并利用Grafana展示容器的CPU使用率等关键指标。
|
4月前
|
SQL 关系型数据库 MySQL
MySQL运行在docker容器中会损失多少性能
MySQL运行在docker容器中会损失多少性能
|
4月前
|
SQL 监控 分布式数据库
【解锁数据库监控的神秘力量!】OceanBase社区版与Zabbix的完美邂逅 —— 揭秘分布式数据库监控的终极奥秘!
【8月更文挑战第7天】随着OceanBase社区版的普及,企业广泛采用这一高性能、高可用的分布式数据库。为保障系统稳定,使用成熟的Zabbix监控工具对其进行全方位监控至关重要。本文通过实例介绍如何在Zabbix中配置监控OceanBase的方法,包括创建监控模板、添加监控项(如TPS)、设置触发器及图形展示,并提供示例脚本帮助快速上手。通过这些步骤,可以有效监控OceanBase状态,确保业务连续性。
105 0
|
6月前
|
Prometheus 监控 Cloud Native
容器化技术的性能调优与监控
【6月更文挑战第29天】本文探讨了容器(如Docker)的性能优化与监控,强调了其在云和微服务中的重要性。调优涉及资源限制设定、代码优化,通过性能测试、瓶颈分析进行迭代优化。监控目标是确保稳定性和可用性,使用工具如Portainer、CAdvisor、Prometheus来跟踪状态、性能指标和日志。监控内容涵盖容器状态、资源使用、日志和限制,策略包括设定阈值和告警机制。调优监控的优化有助于提升应用性能和企业价值。
|
6月前
|
关系型数据库 MySQL Docker
构建MySQL8.0.26镜像和容器
MySQL8.0.26 percona-toolkit Dockerfile
154 3

推荐镜像

更多
下一篇
无影云桌面