编辑和删除监控的主机和设备
发布时间:2025-06-24 17:04:11 作者:北方职教升学中心 阅读量:624
使用UserParameter
的基本步骤如下:
配置Zabbix Agent:在Zabbix agent的配置文件(通常是
/etc/zabbix/zabbix_agentd.d/zabbix_agentd.d/
)目录中定义UserParameter
。在Zabbix前端添加监控项:在Zabbix前端,创建一个新的监控项,并选择类型为“Zabbix agent”或“Zabbix agent (active)”,然后在“Key”字段中输入你在
UserParameter
中定义的键值。目录
一. 自定义键介绍
二. 制作步骤
1. 添加无可变部分参数
2. 添加有可变参数
3. 使用用户参数监控php-fpm 服务的状态
三. Web页面导入应用监控
四. Web监控
主要功能和操作:
开启方式
官方预定义监控项文档
https://www.zabbix.com/documentation/6.4/zh/manual/config/items/itemtypes/zabbix_agent
一. 自定义键介绍
在Zabbix中,
UserParameter
是一个非常重要的功能,它允许用户定义自定义参数,从而监控那些Zabbix标准监控项之外的服务或应用程序。- 支持多种通知方式,如电子邮件、角色和访问控制列表(ACL)。脚本需要能够接收来自Zabbix agent的参数,并返回文本格式的输出。
报表和导出:
- 生成和导出监控数据报表,帮助管理员和团队进行定期性能分析和报告。
通过这种方式,Zabbix的监控能力可以得到极大的扩展,可以监控几乎任何可以通过脚本或命令行工具获取数据的系统指标或应用程序状态。
配置管理:
- 主机和设备管理:管理员可以添加、需要注意的是,在使用
UserParameter
时,应当确保执行的脚本或命令是安全的,不会对系统稳定性造成影响,同时也要保证数据收集的效率,避免对系统性能产生不良影响。编辑和删除监控的主机和设备。 - 管理员可以配置用户权限、
- 触发器和警报:设置监控数据异常时的触发条件和警报规则,确保及时响应和处理。
- 历史数据:查看和分析历史性能数据,进行性能趋势分析和问题排查。配置格式如下:
复制
UserParameter=key[*],command
其中
key
是你在Zabbix前端定义的键值,[*]
表示参数的可变部分,command
是执行脚本或命令的路径。通常文件名没有特定要求,但重要的是确保文件具有.conf
扩展名,这样 Zabbix agent 在启动时会自动加载该文件中的配置。 重启Zabbix Agent:在修改了配置文件并添加了自定义参数后,需要重启Zabbix agent服务以使配置生效。短信、以下是关于 Zabbix Web 监控的一些主要功能和操作:
主要功能和操作:
登录和用户管理:
- 用户可以通过 Web 界面登录到 Zabbix,根据其权限访问不同的功能和数据。
- 仪表盘可以展示实时的监控状态和数据趋势,方便用户快速了解系统的健康状态。
测试监控项:在Zabbix前端,测试你添加的监控项是否能够成功获取数据。
二. 制作步骤
首先准备一个agent端和server端,并进行监控。Slack 等,确保管理员和团队及时了解和响应监控事件。
编写脚本:根据你的监控需求,编写相应的脚本来收集数据。
仪表盘和概览:
- Zabbix 提供了个性化的仪表盘功能,可以根据用户的需求自定义显示的监控数据和图表。
警报和通知:
- 配置警报规则和动作,定义监控数据超过阈值时的通知方式和响应策略。配置和数据查看的过程。内存、网络流量等。
监控数据查看:
- 实时监控:通过图表和数据表格查看实时收集的监控数据,例如 CPU 使用率、通过
UserParameter
,用户可以执行脚本或命令来收集数据,然后将这些数据返回给Zabbix进行进一步的处理和监控。 - 自动发现:通过自动发现功能,自动添加新的主机或服务到监控系统中,并应用预定义的监控配置。
- 实时监控:通过图表和数据表格查看实时收集的监控数据,例如 CPU 使用率、通过
开启方式
填入的URL就用上面下载的PHP服务的监控页面
1. 添加无可变部分参数
例如我要取已使用的内存量:
#使用这个bash命令可以获取到
[root@web1 ~]# free -k total used free shared buff/cache availableMem: 3714688 463632 2834340 9468 655160 3251056Swap: 839676 0 839676[root@web1 ~]# free | awk '/^Mem/{print $3}'463632
现在我们将这个自定义键写入这个memory_usage.conf文件里
[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.d/memory_usage.conf#将这个自定义Key添加写入这个文件里UserParameter=memory.used,free | awk '/^Mem/{print $3}'
重启agent服务
[root@web1 ~]# systemctl restart zabbix-agent
在server端使用命令测试(server端需要下载zabbix_get,agent端需要下载)
[root@zabbix ~]# zabbix_get -s 192.168.226.29 -k memory.used463632
2. 添加有可变参数
现在我们以Linux 系统的内存使用情况为例
[root@web1 ~]# cat /proc/meminfoMemTotal: 3714688 kBMemFree: 2830252 kBMemAvailable: 3246988 kBBuffers: 2708 kBCached: 602060 kBSwapCached: 0 kBActive: 137764 kBInactive: 511872 kBActive(anon): 45016 kBInactive(anon): 9320 kBActive(file): 92748 kBInactive(file): 502552 kBUnevictable: 0 kBMlocked: 0 kBSwapTotal: 839676 kBSwapFree: 839676 kBZswap: 0 kBZswapped: 0 kBDirty: 0 kBWriteback: 0 kBAnonPages: 44868 kBMapped: 33976 kBShmem: 9468 kBKReclaimable: 50416 kBSlab: 106580 kBSReclaimable: 50416 kBSUnreclaim: 56164 kBKernelStack: 5728 kBPageTables: 2248 kBSecPageTables: 0 kBNFS_Unstable: 0 kBBounce: 0 kBWritebackTmp: 0 kBCommitLimit: 2697020 kBCommitted_AS: 173100 kBVmallocTotal: 34359738367 kBVmallocUsed: 55704 kBVmallocChunk: 0 kBPercpu: 49152 kBHardwareCorrupted: 0 kBAnonHugePages: 4096 kBShmemHugePages: 0 kBShmemPmdMapped: 0 kBFileHugePages: 0 kBFilePmdMapped: 0 kBCmaTotal: 0 kBCmaFree: 0 kBUnaccepted: 0 kBHugePages_Total: 0HugePages_Free: 0HugePages_Rsvd: 0HugePages_Surp: 0Hugepagesize: 2048 kBHugetlb: 0 kBDirectMap4k: 130880 kBDirectMap2M: 4063232 kBDirectMap1G: 2097152 kB
现在我们将这个自定义键写入这个memory_usage.conf文件里
[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.d/memory_usage.conf#将这个自定义Key添加写入这个文件里UserParameter=memory.stats[*],cat /proc/meminfo | awk '/^$1/{print $$2}'# $$2:表示不是前边调位置参数的$2 ,而是awk 的参数$2
重启agent服务
[root@web1 ~]# systemctl restart zabbix-agent
在server端使用命令测试
[root@zabbix ~]# zabbix_get -s 192.168.226.29 -k memory.stats[MemTotal]3714688[root@zabbix ~]# zabbix_get -s 192.168.226.29 -k memory.stats[DirectMap4k]130880
3. 使用用户参数监控php-fpm 服务的状态
在agent 端 :
下载,设置php-fpm
[root@web1 ~]# yum -y install php-fpm
打开php-fpm的状态页面
[root@web1 ~]# vim /etc/php-fpm.d/www.conf#修改如下参数user = nginx group = nginxlisten = 127.0.0.1:9000pm.status_path = /status #php-fpm 的状态监测页面ping.path = /ping #ping 接口,存活状态是否okping.response = pong #响应内容pong
开启服务
[root@web1 ~]# systemctl enable --now php-fpm
下载nginx
[root@web1 ~]# yum install -y nginx
设置nginx ,设置代理php,和php-fpm的状态页面匹配
[root@web1 ~]# vim /etc/nginx/nginx.conf #在server块中加入下述内容,集体见图 location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~* /(status|ping) { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $fastcgi_script_name; include fastcgi_params; allow 127.0.0.1; #因为这个页面很重要,所有需加访问控制 deny all; access_log off; #访问这个页面就不用记录日志了 }
测试访问
[root@web1 ~]# curl 127.0.0.1/statuspool: wwwprocess manager: dynamicstart time: 06/Jul/2024:15:33:15 +0800start since: 152accepted conn: 2listen queue: 0max listen queue: 0listen queue len: 511idle processes: 4active processes: 1total processes: 5max active processes: 1max children reached: 0slow requests: 0
现在我们将这个自定义键写入这个memory_usage.conf文件里
[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.d/memory_usage.conf#将这个自定义Key添加写入这个文件里UserParameter=php.status[*],curl -s http://127.0.0.1/status | awk '/^$1/{print $NF}'
重启agent服务
[root@web1 ~]# systemctl restart zabbix-agent
在server端使用命令测试
[root@zabbix ~]# zabbix_get -s 192.168.226.29 -k "php.status[pool]"www[root@zabbix ~]# zabbix_get -s 192.168.226.29 -k "php.status[idle processes]"4
三. Web页面导入应用监控
创建模板组
创建模板
找到刚创建的模板
添加监控项
利用上方自定义的key来创建监控项
给主机应用模板
四. Web监控
Zabbix 的 Web 监控是通过 Zabbix 的 Web 界面来实现对监控系统的管理、