【运维知识进阶篇】zabbix5.0稳定版详解4(用脚本自定义监控项+监控MySQL状态信息)(一)

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: 【运维知识进阶篇】zabbix5.0稳定版详解4(用脚本自定义监控项+监控MySQL状态信息)

我们在做自定义监控项的时候,一个一个取比较麻烦,取出一个数值,就要把该数值相关信息以一定格式写入/etc/zabbix/zabbix_agentd.d/下的配置文件里,当遇到需要取很多数值的时候,这样的操作会很繁琐,当有一种简单方法可以取很多数值的时候,这样叠加这些感觉效率又很低,所以我们可以采取脚本取数值的方式去取我们要监控的数值。

用脚本自定义监控项

我们先以Nginx为例,当Nginx取的值比较多时,可以用脚本方式使我们的条例清晰

1、书写脚本进行取值

1. [root@Web01 ~]# cat /etc/zabbix/zabbix_agentd.d/nginx.sh
2. #!/bin/sh
3. case $1 in
4.  active)
5.  curl -s 127.0.0.1:88/nginx_status|awk 'NR==1{print $NF}'
6.  ;;
7.  accepts)
8.  curl -s 127.0.0.1:88/nginx_status|awk 'NR==3{print $1}'
9.  ;;
10.   handled)
11.   curl -s 127.0.0.1:88/nginx_status|awk 'NR==3{print $2}'
12.   ;;
13.   requests)
14.   curl -s 127.0.0.1:88/nginx_status|awk 'NR==3{print $3}'
15.   ;;
16.   *)
17.   echo "Usage: $0 [active|accepts|handled|requests]"
18. esac
19. [root@Web01 ~]# chmod +x /etc/zabbix/zabbix_agentd.d/nginx.sh    #增加执行权限

2、修改zabbix客户端配置文件

1. [root@Web01 ~]# cat /etc/zabbix/zabbix_agentd.d/nginx.conf
2. UserParameter=nginx.[*],sh /etc/zabbix/zabbix_agentd.d/nginx.sh $1
3. 
4. #用[*]实现可以自定义内容的效果,zabbix自带的监控端口就是这个原理,可以自己填端口
5. #经测试里面的脚本必须使用sh运行,用绝对路径+给可执行权限不行,不知道zabbix之前版本行不行,反正5.0版本不行

3、zabbix创建模板及监控项

4、关联至被监控主机

成功监控!

监控MySQL状态信息

我们此次监控MySQL尝试使用脚本自定义监控项,监控MySQL状态信息

通过命令查看MySQL状态信息是show global status,通过awk取值进行监控

1. [root@DB01 ~]# mysql -uroot -e 'show global status'
2. +------------------------------------------+-------------+
3. | Variable_name                            | Value       |
4. +------------------------------------------+-------------+
5. | Aborted_clients                          | 0           |
6. | Aborted_connects                         | 18926       |
7. | Access_denied_errors                     | 0           |
8. | Aria_pagecache_blocks_not_flushed        | 0           |
9. | Aria_pagecache_blocks_unused             | 15737       |
10. | Aria_pagecache_blocks_used               | 0           |
11. | Aria_pagecache_read_requests             | 0           |
12. ......
13. Threads_connected          # 连接数
14. Com_select                 # 查询总量
15. Com_insert                 # 插入总量
16. Com_update                 # 更新总量
17. Com_delete                 # 删除总量
18. Bytes_received             # 流入总流量
19. Bytes_sent                 # 流出总流量
20. Slow_queries               # 慢查询总量

1、使用脚本定义监控项

1. [root@DB01 ~]# cat /etc/zabbix/zabbix_agentd.d/mysql.sh
2. mysql -uroot -e 'show global status;'|grep -w $1|awk '{print $NF}'
3. [root@DB01 ~]# cat /etc/zabbix/zabbix_agentd.d/mysql.conf
4. UserParameter=mysql.[*],sh /etc/zabbix/zabbix_agentd.d/mysql.sh $1
5. 
6. #服务端测试
7. [root@Zabbix ~]# zabbix_get -s 172.16.1.51 -k mysql.[Threads_connected]
8. 1

2、服务端创建MySQL监控模板

其他自定义的值可以根据需求自行添加,此处省略......

再添加个zabbix自带的端口监控

最终完成添加

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
5月前
|
存储 人工智能 运维
别再靠脚本“救火”了!让智能数据治理接管你的运维世界
别再靠脚本“救火”了!让智能数据治理接管你的运维世界
299 14
|
8月前
|
机器学习/深度学习 消息中间件 人工智能
别只会写脚本了!看看机器学习是怎么帮运维“摸鱼”的
别只会写脚本了!看看机器学习是怎么帮运维“摸鱼”的
203 13
|
9月前
|
人工智能 运维 安全
基于合合信息开源智能终端工具—Chaterm的实战指南【当运维遇上AI,一场效率革命正在发生】
在云计算和多平台运维日益复杂的今天,传统命令行工具正面临前所未有的挑战。工程师不仅要记忆成百上千条操作命令,还需在不同平台之间切换终端、脚本、权限和语法,操作效率与安全性常常难以兼顾。尤其在多云环境、远程办公、跨部门协作频繁的背景下,这些“低效、碎片化、易出错”的传统运维方式,已经严重阻碍了 IT 团队的创新能力和响应速度。 而就在这时,一款由合合信息推出的新型智能终端工具——Chaterm,正在悄然颠覆这一现状。它不仅是一款跨平台终端工具,更是业内率先引入 AI Agent 能力 的“会思考”的云资源管理助手。
|
9月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
1454 1
|
存储 自然语言处理 关系型数据库
MySQL 自定义变量并声明字符编码
MySQL 自定义变量并声明字符编码
513 1
|
运维 Kubernetes Devops
自动化运维:从脚本到工具的演进之旅
在数字化浪潮中,自动化运维成为提升效率、保障系统稳定的关键。本文将探索自动化运维的发展脉络,从基础的Shell脚本编写到复杂的自动化工具应用,揭示这一技术变革如何重塑IT运维领域。我们将通过实际案例,展示自动化运维在简化工作流程、提高响应速度和降低人为错误中的重要作用。无论你是初学者还是资深专家,这篇文章都将为你提供宝贵的洞见和实用的技巧。
|
运维 Devops
自动化运维:从脚本到DevOps的进化之旅
在数字化时代,自动化运维不仅是提高生产效率的关键,更是企业竞争力的象征。本文将带领读者穿越自动化运维的发展历程,从最初的脚本编写到现代DevOps文化的形成,揭示这一演变如何重塑IT行业的工作模式。通过具体案例,我们将展示自动化工具和实践如何简化复杂任务,优化流程,并促进团队协作。你将发现,自动化运维不仅关乎技术的进步,更体现了人、流程和技术三者之间协同增效的深层逻辑。
|
机器学习/深度学习 人工智能 运维
自动化运维之路:从脚本到工具的演进
在IT运维领域,效率和准确性是衡量工作成效的关键指标。随着技术的发展,自动化运维逐渐成为提升这两个指标的重要手段。本文将带领读者了解自动化运维的演变历程,从最初的简单脚本编写到现今复杂的自动化工具应用,展示如何通过技术提升运维效率。文章不仅介绍理论和实践案例,还提供了代码示例,帮助读者理解自动化运维的实际应用场景。
|
运维 监控 网络安全
自动化运维的崛起:如何利用Python脚本简化日常任务
【10月更文挑战第43天】在数字化时代的浪潮中,运维工作已从繁琐的手工操作转变为高效的自动化流程。本文将引导您了解如何运用Python编写脚本,以实现日常运维任务的自动化,从而提升工作效率和准确性。我们将通过一个实际案例,展示如何使用Python来自动部署应用、监控服务器状态并生成报告。文章不仅适合运维新手入门,也能为有经验的运维工程师提供新的视角和灵感。
|
运维 监控 Python
自动化运维:使用Python脚本简化日常任务
【10月更文挑战第36天】在数字化时代,运维工作的效率和准确性成为企业竞争力的关键。本文将介绍如何通过编写Python脚本来自动化日常的运维任务,不仅提高工作效率,还能降低人为错误的风险。从基础的文件操作到进阶的网络管理,我们将一步步展示Python在自动化运维中的应用,并分享实用的代码示例,帮助读者快速掌握自动化运维的核心技能。
654 3

推荐镜像

更多