zabbix企业级监控平台3——服务监控与API实战
1 服务监控1.1 Linux服务监控在 agent 1 安装 nginx开启 nginx 状态统计页面[rootserver2 ~]# yum install -y nginx[rootserver2 ~]# nginx[rootserver2 ~]# vim /etc/nginx/nginx.conf#开启nginx状态统计页面并关闭这个页面的访问日志减少日志垃圾[rootserver2 ~]# nginx -t[rootserver2 ~]# nginx -s reload测试访问 nginx 状态接口输出连接、请求统计信息供 zabbix 抓取做 nginx 监控acceptsnginx 总共接收到的客户端连接数handled成功处理完成的连接一般和 accepts 相等requests总共收到的 HTTP 请求总数Reading正在读取请求的连接Writing正在返回响应给客户端的连接Waiting空闲等待的长连接主机清除之前手动复制的模板关联 nginx 服务监控模板系统抓取到数据后即可查看1.2 mysql 基础监控Zabbix 原生模板[rootserver2 ~]# yum install -y mysql-server[rootserver2 ~]# systemctl enable --now mysqld[rootserver2 ~]# mysqlmysqlCREATEUSERzbx_monitor%IDENTIFIED BYwestos;mysqlGRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TOzbx_monitor%;#创建专用监控用户 zbx_monitor授予监控需要的权限用来查看进程、复制状态、库视图信息mysqlquit[rootserver2 ~]# cp /usr/share/doc/zabbix-agent/userparameter_mysql.conf /etc/zabbix/zabbix_agentd.d/[rootserver2 ~]# systemctl restart zabbix-agent[rootserver2 ~]# cd /etc/zabbix/zabbix_agentd.d/[rootserver2 zabbix_agentd.d]# mkdir /var/lib/zabbix[rootserver2 zabbix_agentd.d]# vim /var/lib/zabbix/.my.cnf# agent 调用 mysql 命令时自动读取账号密码主机关联 mysql 服务监控模板系统抓取到数据后即可查看1.3 mysql 深度监控Percona 插件1.3.1 CentOS 7Percona 插件是 zabbix 的 mysql 增强监控脚本采集比 zabbix 自带模板更多数据库性能指标尤其适合监控主从复制、缓冲池、慢查询。先导入Percona模板将 Percona 提供的 zabbix mysql 监控模板 rpm 安装包放入根下[rootserver3 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm[rootserver3 ~]# cd /var/lib/zabbix/percona/templates[rootserver3 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/#将percona自定义监控key配置拷贝到zabbix agent配置目录agent才会加载这些监控项[rootserver3 templates]# systemctl restart zabbix-agent.service[rootserver3 templates]# yum install -y php php-mysql#安装php环境percona采集脚本ss_get_mysql_stats.php是php编写依赖php[rootserver3 templates]# yum install -y mariadb-server[rootserver3 templates]# systemctl enable --now mariadb.service[rootserver3 templates]# mysqlMariaDB[(none)]grant all on *.* to rootlocalhostidentified bywestos;#给rootlocalhost授权所有权限设置密码westos供php采集脚本连接数据库MariaDB[(none)]quit[rootserver3 templates]# cd /var/lib/zabbix/percona/scripts/[rootserver3 scripts]# vim ss_get_mysql_stats.php#修改php采集脚本填入数据库账号密码脚本靠这个账号查询mysql性能数据[rootserver3 scripts]# cd /etc/zabbix/zabbix_agentd.d/[rootserver3 zabbix_agentd.d]# vim userparameter_percona_mysql.confUserParameter监控key名,脚本路径 参数代号gg、os、ij、running‑slave都是脚本内部预定义的指标代号不同代号对应 MySQL 不同性能项。gg 代表Open‑files MySQL 打开文件数。[rootserver3 zabbix_agentd.d]# su -s /bin/sh -c /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg zabbix#单独测试【Open‑files 打开文件数】这个指标能不能拿到数值有数字输出说明脚本正常[rootserver3 zabbix_agentd.d]# cd /tmp/[rootserver3 tmp]# ll#脚本会把采集的临时数据缓存写到/tmp下此文件的属主和属组必须是 zabbix主机关联Percona模板系统抓取到数据后即可查看1.3.2 Rocky Linux因为兼容性问题其他操作与在CentOS 7里类似只是要将原有的ss_get_mysql_stats.php文件里的部分内容替换掉[rootserver2 ~]# yum install -y php php-mysqlnd[rootserver2 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm[rootserver2 ~]# cd /var/lib/zabbix/percona/templates[rootserver2 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/[rootserver2 templates]# systemctl restart zabbix-agent[rootserver2 templates]# cd /var/lib/zabbix/percona/scripts[rootserver2 scripts]# rm -f ss_get_mysql_stats.php#删除原有版本将修改过的脚本上传到此目录下[rootserver2 scripts]# chmod x ss_get_mysql_stats.php[rootserver2 scripts]# su - zabbix -s /bin/sh -c /usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --items gggg:0给server2添加模板即可使用1.4 tomcat 服务监控Tomcat 是Java程序它暴露内部指标靠JMX接口。zabbix‑server 和 agent 本身是 C 语言写的没有 JMX 客户端能力不能直接连 JMX 端口拿数据。zabbix‑java‑gateway 是 Java 写的专门充当 JMX 客户端能调用Java JMX API去连接 Tomcat 的 JMX 端口拿数据。java‑gateway 部署在 zabbix‑server 端不在被监控的 Tomcat 机器上被监控端 Tomcat 只需要开启 JMX 远程端口不需要装 gateway。zabbix‑agent 只管普通系统指标CPU、磁盘、进程JMX 类型监控项不走 agent完全走 java‑gateway 这条链路。完整数据流向Tomcat 启动时增加 JMX 启动参数开启 JMX 远程监听端口对外暴露 Java 内部指标。Zabbix‑Server 需要获取 JMX 监控项数据内部 JavaPollers 线程去请求部署在 zabbix‑server 本机的 zabbix‑java‑gateway10052 端口zabbix‑server 不会直接访问 Tomcat 的 JMX 端口而是将 JMX 采集任务转发给 java‑gateway。java‑gateway 作为 JMX 客户端网络访问 Tomcat 的 JMX 端口抓取数据。gateway 把拿到的数据回传给 zabbix‑server存入数据库web 页面展示。配置zabbix server[rootserver1 ~]# yum install -y zabbix-java-gateway[rootserver1 ~]# systemctl enable --now zabbix-java-gateway.service[rootserver1 ~]# vim /etc/zabbix/zabbix_server.conf# 1.指定zabbix‑java‑gateway服务所在主机IP告诉zabbix‑server去哪里找 java 网关# 2.zabbix‑java‑gateway 默认监听端口为10052# 3.开启5个Java采集线程向java‑gateway下发JMX采集任务数值越大并发采集JMX监控项越多[rootserver1 ~]# systemctl restart zabbix-server.serviceagent 2上部署 tomcat 服务[rootserver3 ~]# tar zxf apache-tomcat-9.0.120.tar.gz -C /usr/local[rootserver3 local]# ln -s apache-tomcat-9.0.120/ tomcat[rootserver3 local]# cd /usr/local/tomcat/bin[rootserver3 bin]# vim catalina.sh开启 JMX 远程监听端口 8888关闭 JMX 通信 SSL 加密实验环境简化调试关闭 JMX 身份账号密码校验。任何能连通 8888 端口的主机都可以直接读取全部 JVM、Tomcat 指标不需要用户名密码。执行 Tomcat 启动脚本读取配置参数启动 Tomcat 进程。[rootserver3 bin]# /usr/local/tomcat/bin/startup.sh给server3添加 JMX 接口关联 Java JMX 模板JMX 部分显示绿色 java‑gateway 可以连通 Tomcat JMX 端口2 集成外部告警使用睿象云 CA 智能告警平台zabbix 用睿象云 Agent 探针对接睿象云。在 zabbix‑server 安装探针自动读取 zabbix 告警数据。添加zabbix告警右侧有配置步骤注意步骤一的脚本目录可能有所不同需要在zabbix-server端的/etc/zabbix/zabbix_server.conf查找告警脚本目录我查找到的路径为/usr/lib/zabbix/alertscripts在此目录下安装探针[rootserver1 ~]# cd /usr/lib/zabbix/alertscripts[rootserver1 alertscripts]# yum install -y wget[rootserver1 alertscripts]# wget https://download.aiops.com/ca_agent/zabbix/ca_zabbix_release-4.0.5.tar.gz[rootserver1 alertscripts]# yum install -y tar[rootserver1 alertscripts]# tar zxf ca_zabbix_release-4.0.5.tar.gz[rootserver1 alertscripts]# chown -R zabbix:zabbix cloudalert/#保证运行zabbix服务的权限和cloudalert探针目录的权限保持一致不一致会导致告警无法正常接入[rootserver1 alertscripts]# cd cloudalert/bin/[rootserver1 bin]# ./install.sh 561063389842448191a1ba8d1c8a35be探针安装好后管理媒介会自动启用自动创建用户群组和用户自动创建触发器动作且自动停用其他的测试在睿象云设置告警通知策略停止一台 zabbix‑agent 客户端服务模拟故障[rootserver2 ~]# systemctl stop zabbix-agentzabbix 监控到异常并且自动发邮件通知睿象云平台也出现告警认领此告警详情中可以看到已经分配给我正在处理中恢复服务解决问题[rootserver2 ~]# systemctl start zabbix-agentzabbix 监控界面显示问题已解决恢复邮件也已发送睿象云告警关闭3 zabbix apiZabbix API 是 Zabbix Web 前端自带功能不需要额外安装服务。通过程序 / 脚本远程操作 Zabbix代替手动网页点鼠标。作用配置管理批量创建 / 删除 / 修改主机、监控项、触发器、模板、主机组数据读取获取监控历史数据、获取告警事件故障第三方对接对接睿象云、钉钉、运维平台读取告警推送外部系统自动化自动发现主机后调用 API 批量添加监控脚本化运维3.1 获取tokentoken 是 Zabbix API 登录成功后返回的临时身份凭证临时钥匙作用避免反复传递账号密码第一次调用user.login提交用户名密码拿到 token。后面每一次 API 请求只携带 token不再重复发送账号密码减少密码泄露风险。身份校验权限Zabbix 收到 API 请求检查 token 是否有效。token有效就按照这个账号的权限允许查数据、改配置。token无效 / 过期直接拒绝请求报错。临时生效token 有存活时间一段时间不用就失效。失效之后必须重新执行user.login获取新 token。代表登录会话人在网页登录 Zabbix浏览器会保存会话脚本程序没有浏览器就靠 token 来代表 “已经登录的状态”。[rootserver1 ~]# vim zabbix-api.sh[rootserver1 ~]# sh zabbix-api.sh返回的即为token值3.2 获取主机列表[rootserver1 ~]# vim zabbix-api.sh填写刚刚获取的token值[rootserver1 ~]# sh zabbix-api.sh3.3 删除主机[rootserver1 ~]# vim zabbix-api.sh[rootserver1 ~]# sh zabbix-api.sh此时监控页面的server2已经被删除3.4 添加主机添加主机需要设置添加到哪个群组以及关联哪个模板需要提前查询对应的id[rootserver1 ~]# vim zabbix-api.sh[rootserver1 ~]# sh zabbix-api.sh显示server2已经存在回到前端网页server2确实已经存在且链接到我们自定义的模板原因是我们的自动注册功能未停停用自动注册功能删除server2重新执行脚本server2重新加入

相关新闻

表观遗传学:环境如何在不改变DNA序列的前提下重塑基因表达与健康命运?

表观遗传学:环境如何在不改变DNA序列的前提下重塑基因表达与健康命运?

简述: 表观遗传学研究在不改变DNA序列的前提下,通过DNA甲基化、组蛋白修饰、非编码RNA调控等机制所引发的可遗传的基因表达变化。这一领域架起了环境因素与基因组功能之间的桥梁,为理解发育异常、肥胖、糖尿病、癌症等多种疾病的发生机制提供…

2026/11/12 13:41:09 阅读更多 →
论文初稿总担心过不了?PaperDeep免费自测,查重降AIGC率一步到位

论文初稿总担心过不了?PaperDeep免费自测,查重降AIGC率一步到位

论文初稿总担心过不了?PaperDeep免费自测,查重降AIGC率一步到位 前言 又到了论文季,不少同学后台私信我:“论文写完了,但是不敢交,怎么办?” 这个焦虑我特别理解。现在的论文检测越来越严格&…

2026/11/6 23:04:17 阅读更多 →
如何实现千牛极速自动改价自动化?C++底层指纹伪装,抹除自动化特征

如何实现千牛极速自动改价自动化?C++底层指纹伪装,抹除自动化特征

如何实现千牛极速自动改价自动化?C底层指纹伪装,抹除自动化特征 电商这行,谁的速度快谁吃肉。千牛的极速自动改价,是店群运营中最耗人力也最容易出错的环节。 电商价格战是分钟级的。竞品降价了你5分钟内不跟,流量就…

2026/11/9 23:53:07 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/14 5:13:29 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/14 5:13:29 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/14 5:13:29 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/13 22:08:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/14 2:41:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/14 5:13:29 阅读更多 →

日新闻

周新闻

月新闻