User parameters自定义用户参数 (zabbix监控)

1、介绍和用法

① 介绍

自定义用户参数,也就是自定义key

有时,你可能想要运行一个代理检查,而不是Zabbix的预定义

你可以编写一个命令检索需要的数据,并将其包含在代理配置文件("UserParameter"配置参数)的用户参数

② 用法格式 syntax

UserParameter=<key>,<command>

  A user parameter also contains a key  一个用户参数也包含一个键

  The key will be necessary when configuring an item   在配置监控项时,key是必需的

  Note: Need to restart the agent   注意:需要重新启动agent 服务

2、用法展示

(1)修改agent 端的配置,设置用户参数

① free | awk '/^Mem/{print $3}' 自己需要查找的参数的命令

img

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

cd /etc/zabbix/zabbix_agentd.d/

vim memory_usage.conf

UserParameter=memory.used,free | awk '/^Mem/{print $3}'

③ systemctl restart zabbix-agent.service 重启agent 服务

(2)在zabbix-server 端,查询

zabbix_get -s 192.168.30.7 -p 10050 -k "memory.used"

img

(3)在监控上,设置一个item监控项,使用这个用户参数

img

(4)查询graph 图形

img

3、用法升级

(1)修改agent 端的配置,设置用户参数

① 命令行查询参数的命令

img

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

UserParameter=memory.stats[*],cat /proc/meminfo | awk '/^$1/{print $$2}'

分析:$$2:表示不是前边调位置参数的$2 ,而是awk 的参数$2

注意:$1是调用前边的[*],位置参数,第一个参数

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

img

(3)在监控上,设置一个item监控项,使用这个用户参数

① 添加Memory Total 的item监控项,使用memory.stats[MemTotal] 的用户参数

img

在进程中定义倍数,规定单位

img

② clone 克隆Memory Total 创建Memory Free 的监控项

memory.stats[MemFree] 用户参数

img

③ 创建Memory Buffers 的item 监控项,使用 memory.stats[Buffers] 的key

img

(4)上面3个监控项的graph 图形

① memory total

img

② memory free

img

③ buffers

img

4、使用用户参数监控php-fpm 服务的状态

在agent 端:

(1)下载,设置php-fpm

yum -y install php-fpm

② 打开php-fpm的状态页面

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

③开启服务

 systemctl start php-fpm 

(2)设置nginx ,设置代理php,和php-fpm的状态页面匹配

vim /etc/nginx/nginx.conf
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;
​
            allow 127.0.0.1;   #因为这个页面很重要,所有需加访问控制
            deny all;
​
            access_log off;   #访问这个页面就不用记录日志了
}

img

②开启nginx服务

systemctl start nginx

(3)在agent 端,设置用户参数

① 查询 curl 192.168.30.7/php-fpm-status

img

② 设置

​
cd /etc/zabbix/zabbix_agentd.d/

vim php_status.conf

UserParameter=php-fpm.stats[*],curl -s http://127.0.0.1/php-fpm-status | awk '/^$1/{print $$NF}'

​

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

③ 重启服务

systemctl restart zabbix-agent

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

zabbix_get -s 192.168.30.7 -p 10050 -k "php-fpm.stats[idle]"

zabbix_get -s 192.168.30.7 -p 10050 -k "php-fpm.stats[active]"

zabbix_get -s 192.168.30.7 -p 10050 -k "php-fpm.stats[max active]"

img

(5)创建一个模板,在模板上创建4个item监控项,使用定义的用户参数

① 创建一个模板

img

② 在模板上配置items 监控项,使用刚定义的用户参数

fpm.stats[total processes]

img

③ 再clone克隆几个items监控项

fpm.stats[active processes]

img

fpm.stats[max active processes]

img

fpm.stats[idle processes]

img

(6)host主机链接模板

img

(7)查看graph 图形

① php-fpm total processes

img

② php-fpm active processes

img

③ php-fpm max active processes

img

④ php-fpm idle processes

img

(8)把模板导出,可以给别人使用

① 导出模板

img

最下面有导出

img

② 自己定义用户参数的文件,也不要忘记导出

/etc/zabbix/zabbix_agentd.d/php_status.conf

猜你喜欢

转载自blog.csdn.net/weixin_69654831/article/details/134450882