当前位置: 首页 > 工具软件 > CW-Zabbix > 使用案例 >

Zabbix-用户参数

乐正洲
2023-12-01

#一、介绍
自定义用户参数,也就是自定义key
有时,你可能想要运行一个代理检查,而不是Zabbix的预定义
你可以编写一个命令检索需要的数据,并将其包含在代理配置文件("UserParameter"配置参数)的用户参数

语法格式
UserParameter=<key>,<command>
一个用户参数也包含一个键
在配置监控项时,key是必需的
注意:需要重新启动agent 服务

#二、用法
###1. 修改 agent 端的配置,设置用户参数

#自己需要查找的参数的命令
[root@zabbix-agent-none1 ~]# free | awk '/^Mem/{print $3}'
118052

#修改配置文件,把查找参数的命令设为用户参数
[root@zabbix-agent-none1 ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@zabbix-agent-none1 zabbix_agentd.d]# vim memory_usage.conf
UserParameter=memory.used,free | awk '/^Mem/{print $3}'

#重启agent 服务
[root@zabbix-agent-none1 zabbix_agentd.d]# systemctl restart zabbix-agent.service

###2. 在 zabbix-server 端,查询

[root@zabbix-server ~]# zabbix_get -s 192.168.246.226 -p 10050 -k "memory.used"
118212

###3. 在zabbix监控上,设置一个item监控项,使用这个用户参数
配置–>主机–>none1–>监控项–>创建监控项
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-inwrUCPd-1585731371644)(https://upload-images.jianshu.io/upload_images/21294643-1517fcfc26a13511.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

###4. 查询graph 图形
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KoOg001j-1585731371645)(https://upload-images.jianshu.io/upload_images/21294643-bc0b91babd1615eb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

#三、用法升级
###1. 修改agent 端的配置,设置用户参数
#####1.1 命令行查询参数的命令
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0PiBPadB-1585731371645)(https://upload-images.jianshu.io/upload_images/21294643-5b5f8301785c788e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

#####1.2 修改配置文件,把查找参数的命令设为用户参数

[root@zabbix-agent-none1 zabbix_agentd.d]# ls
memory_usage.conf  userparameter_mysql.conf
[root@zabbix-agent-none1 zabbix_agentd.d]# vim memory_usage.conf  ----继续添加
UserParameter=memory.stats[*],cat /proc/meminfo | awk '/^$1/{print $$2}'     --添加到文件中注意去掉反斜杠
[root@zabbix-agent-none1 zabbix_agentd.d]# systemctl restart zabbix-agent.service


注意:$$2:表示不是前边调位置参数的$1,而是awk 的参数$2
注意:$1是调用前边的[*],位置参数,第一个参数

###2. 在 zabbix-server 端,查询使用这个用户参数的key

[root@zabbix-server fonts]# zabbix_get -s 192.168.246.226 -p 10050 -k "memory.stats[MemTotal]"
999696
[root@zabbix-server fonts]# zabbix_get -s 192.168.246.226 -p 10050 -k "memory.stats[Cache]"
243832
[root@zabbix-server fonts]# zabbix_get -s 192.168.246.226 -p 10050 -k "memory.stats[Buffer]"
2108

###3. 在zabbix监控上,设置一个item监控项,使用这个用户参数
#####3.1 添加Memory Total 的item监控项,使用memory.stats[MemTotal] 的用户参数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-neH75sKc-1585731371645)(https://upload-images.jianshu.io/upload_images/21294643-509a7d400cc2dfb2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
在进程中定义倍数,规定单位:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LPduME4b-1585731371646)(https://upload-images.jianshu.io/upload_images/21294643-6ea0965fd404cb8e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

#####3.2 clone 克隆 Memory Total 创建 Memory Free 的监控项,使用memory.stats[MemFree] 的用户参数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SNv3L8AV-1585731371646)(https://upload-images.jianshu.io/upload_images/21294643-e207045d3ec57f3d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

###4. 上面2个监控项的graph 图形

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XFz2qK1S-1585731371646)(https://upload-images.jianshu.io/upload_images/21294643-0d2b1339c1d5d104.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6KiYADgo-1585731371646)(https://upload-images.jianshu.io/upload_images/21294643-58af390f2219c84a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

#四、使用用户参数监控 php-fpm 服务的状态
###1. 在agent 端:192.168.246.226 下载,设置php-fpm

[root@zabbix-agent-none1 ~]# yum -y install php-fpm
[root@zabbix-agent-none1 ~]# vim /etc/php-fpm.d/www.conf     #修改如下
user = nginx
group = nginx
pm.status_path = /php-fpm-status      #php-fpm 的状态监测页面 ,#打开注释并修改
ping.path = /ping      #ping 接口,存活状态是否ok   #打开注释
ping.response = pong      #响应内容pong  #打开注释

[root@zabbix-agent-none1 ~]# yum -y install nginx
[root@zabbix-agent-none1 ~]# systemctl start php-fpm

###2. 在 agent 端设置nginx ,设置代理php,和php-fpm的状态页面匹配

[root@zabbix-agent-none1 ~]# vim /etc/nginx/nginx.conf
server {
        listen       80 default_server;
        server_name  localhost;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        }
        
        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 ~* /(php-fpm-status|ping) {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $fastcgi_script_name;
            include        fastcgi_params;

            access_log off;   #访问这个页面就不用记录日志了
       }
}

[root@zabbix-agent-none1 ~]# nginx -t 
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

[root@zabbix-agent-none1 ~]# nginx -s reload

###3. 在agent 端,设置用户参数
#####3.1 查询 curl 192.168.246.226/php-fpm-status
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vpGSf2re-1585731371646)(https://upload-images.jianshu.io/upload_images/21294643-cafaec3da689d97d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

pool – fpm池子名称,大多数为www
process manager – 进程管理方式,值:static, dynamic or ondemand. dynamic
start time – 启动日期,如果reload了php-fpm,时间会更新
start since – 运行时长
accepted conn – 当前池子接受的请求数
listen queue – 请求等待队列,如果这个值不为0,那么要增加FPM的进程数量
max listen queue – 请求等待队列最高的数量
listen queue len – socket等待队列长度
idle processes – 空闲进程数量
active processes – 活跃进程数量
total processes – 总进程数量
max active processes – 最大的活跃进程数量(FPM启动开始算)
max children reached - 大道进程最大数量限制的次数,如果这个数量不为0,那说明你的最大进程数量太小了,请改大一点。
slow requests – 启用了php-fpm slow-log,缓慢请求的数量

#####3.2 设置

[root@zabbix-agent-none1 ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@zabbix-agent-none1 zabbix_agentd.d]# vim php_status.conf      #添加
UserParameter=php-fpm.stats[*],curl -s http://192.168.246.226/php-fpm-status | awk '/^$1/{print $$NF}'

#设置用户参数为php-fpm.stats[*],$1为第一个参数;$$NF为awk中的参数

#重启服务
[root@zabbix-agent-none1 zabbix_agentd.d]# systemctl restart zabbix-agent

###4. 在zabbix-server 端,查询使用这个用户参数的key

[root@zabbix-server fonts]# zabbix_get -s 192.168.246.226 -p 10050 -k "php-fpm.stats[idle]"
4
[root@zabbix-server fonts]# zabbix_get -s 192.168.246.226 -p 10050 -k "php-fpm.stats[max active]"
1
[root@zabbix-server fonts]#  zabbix_get -s 192.168.246.226 -p 10050 -k "php-fpm.stats[total processes]"
6
[root@zabbix-server fonts]#  zabbix_get -s 192.168.246.226 -p 10050 -k "php-fpm.stats[active]"
1

###5. 在zabbix监控创建一个模板,在模板上创建4个item监控项,使用定义的用户参数
#####5.1 创建一个模板
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F8nTdakw-1585731371646)(https://upload-images.jianshu.io/upload_images/21294643-d2253572e60c55e2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

#####5.2 在模板上配置items 监控项,使用刚定义的用户参数
配置—>模板–>fpm status—>监控项–>创建监控项
fpm.stats[total processes]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tCP8d53n-1585731371647)(https://upload-images.jianshu.io/upload_images/21294643-daaba18182f2a311.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

#####5.3 再clone克隆一个items监控项
fpm.stats[active processes]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ang3v7cw-1585731371647)(https://upload-images.jianshu.io/upload_images/21294643-9dd4f60c307a1975.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

###6. host主机链接模板
配置–>主机–>none1—>模板—>选择—>fpm status —>添加—>更新
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mKEkcuKO-1585731371647)(https://upload-images.jianshu.io/upload_images/21294643-5071dcbf5e5c5640.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JoUuw3ps-1585731371648)(https://upload-images.jianshu.io/upload_images/21294643-1ae4a387fc511f7d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

###7. 查看graph 图形
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TwutQjP3-1585731371648)(https://upload-images.jianshu.io/upload_images/21294643-59cd80d04d80cce2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pesiJCxF-1585731371648)(https://upload-images.jianshu.io/upload_images/21294643-1b4c6b058fb19420.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

###8. 把模板导出,可以给别人使用
导出模板
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yfNpdrQf-1585731371648)(https://upload-images.jianshu.io/upload_images/21294643-11b83c5482c4decf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
最下面有导出
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rqn91CAa-1585731371649)(https://upload-images.jianshu.io/upload_images/21294643-586f8a7b99356720.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

自己定义用户参数的文件,也不要忘记导出
/etc/zabbix/zabbix_agentd.d/php_status.conf

 类似资料: