一厂抖、介紹
自定義用戶參數(shù),也就是自定義key
有時(shí),你可能想要運(yùn)行一個(gè)代理檢查杈女,而不是Zabbix的預(yù)定義
你可以編寫一個(gè)命令來(lái)檢索需要的數(shù)據(jù),并將其包含在代理配置文件("UserParameter"配置參數(shù))的用戶參數(shù)中
語(yǔ)法格式
UserParameter=<key>,<command>
一個(gè)用戶參數(shù)也包含一個(gè)鍵
在配置監(jiān)控項(xiàng)時(shí)吊圾,key是必需的
注意:需要重新啟動(dòng)agent 服務(wù)
二达椰、用法
1. 修改 agent 端的配置,設(shè)置用戶參數(shù)
#自己需要查找的參數(shù)的命令
[root@zabbix-agent-none1 ~]# free | awk '/^Mem/{print $3}'
118052
#修改配置文件项乒,把查找參數(shù)的命令設(shè)為用戶參數(shù)
[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 服務(wù)
[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監(jiān)控上,設(shè)置一個(gè)item監(jiān)控項(xiàng)檀何,使用這個(gè)用戶參數(shù)
配置-->主機(jī)-->none1-->監(jiān)控項(xiàng)-->創(chuàng)建監(jiān)控項(xiàng)
4. 查詢graph 圖形
三蝇裤、用法升級(jí)
1. 修改agent 端的配置廷支,設(shè)置用戶參數(shù)
1.1 命令行查詢參數(shù)的命令
1.2 修改配置文件,把查找參數(shù)的命令設(shè)為用戶參數(shù)
[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 ----繼續(xù)添加
UserParameter=memory.stats[*],cat /proc/meminfo | awk '/^$1/{print $$2}' --添加到文件中注意去掉反斜杠
[root@zabbix-agent-none1 zabbix_agentd.d]# systemctl restart zabbix-agent.service
注意:$$2:表示不是前邊調(diào)位置參數(shù)的$1栓辜,而是awk 的參數(shù)$2
注意:$1是調(diào)用前邊的[*]恋拍,位置參數(shù),第一個(gè)參數(shù)
2. 在 zabbix-server 端藕甩,查詢使用這個(gè)用戶參數(shù)的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監(jiān)控上芝囤,設(shè)置一個(gè)item監(jiān)控項(xiàng),使用這個(gè)用戶參數(shù)
3.1 添加Memory Total 的item監(jiān)控項(xiàng)辛萍,使用memory.stats[MemTotal] 的用戶參數(shù)
在進(jìn)程中定義倍數(shù)悯姊,規(guī)定單位:
3.2 clone 克隆 Memory Total 創(chuàng)建 Memory Free 的監(jiān)控項(xiàng),使用memory.stats[MemFree] 的用戶參數(shù)
4. 上面2個(gè)監(jiān)控項(xiàng)的graph 圖形
四贩毕、使用用戶參數(shù)監(jiān)控 php-fpm 服務(wù)的狀態(tài)
1. 在agent 端:192.168.246.226 下載悯许,設(shè)置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 的狀態(tài)監(jiān)測(cè)頁(yè)面 ,#打開注釋并修改
ping.path = /ping #ping 接口辉阶,存活狀態(tài)是否ok #打開注釋
ping.response = pong #響應(yīng)內(nèi)容pong #打開注釋
[root@zabbix-agent-none1 ~]# yum -y install nginx
[root@zabbix-agent-none1 ~]# systemctl start php-fpm
2. 在 agent 端設(shè)置nginx 先壕,設(shè)置代理php,和php-fpm的狀態(tài)頁(yè)面匹配
[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; #訪問(wèn)這個(gè)頁(yè)面就不用記錄日志了
}
}
[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 端谆甜,設(shè)置用戶參數(shù)
3.1 查詢 curl 192.168.246.226/php-fpm-status
pool
– fpm池子名稱垃僚,大多數(shù)為www
process manager
– 進(jìn)程管理方式,值:static, dynamic or ondemand. dynamic
start time
– 啟動(dòng)日期,如果reload了php-fpm,時(shí)間會(huì)更新
start since
– 運(yùn)行時(shí)長(zhǎng)
accepted conn
– 當(dāng)前池子接受的請(qǐng)求數(shù)
listen queue
– 請(qǐng)求等待隊(duì)列规辱,如果這個(gè)值不為0谆棺,那么要增加FPM的進(jìn)程數(shù)量
max listen queue
– 請(qǐng)求等待隊(duì)列最高的數(shù)量
listen queue len
– socket等待隊(duì)列長(zhǎng)度
idle processes
– 空閑進(jìn)程數(shù)量
active processes
– 活躍進(jìn)程數(shù)量
total processes
– 總進(jìn)程數(shù)量
max active processes
– 最大的活躍進(jìn)程數(shù)量(FPM啟動(dòng)開始算)
max children reached
- 大道進(jìn)程最大數(shù)量限制的次數(shù),如果這個(gè)數(shù)量不為0罕袋,那說(shuō)明你的最大進(jìn)程數(shù)量太小了改淑,請(qǐng)改大一點(diǎn)。
slow requests
– 啟用了php-fpm slow-log浴讯,緩慢請(qǐng)求的數(shù)量
3.2 設(shè)置
[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}'
#設(shè)置用戶參數(shù)為php-fpm.stats[*]朵夏,$1為第一個(gè)參數(shù);$$NF為awk中的參數(shù)
#重啟服務(wù)
[root@zabbix-agent-none1 zabbix_agentd.d]# systemctl restart zabbix-agent
4. 在zabbix-server 端榆纽,查詢使用這個(gè)用戶參數(shù)的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監(jiān)控創(chuàng)建一個(gè)模板仰猖,在模板上創(chuàng)建4個(gè)item監(jiān)控項(xiàng),使用定義的用戶參數(shù)
5.1 創(chuàng)建一個(gè)模板
5.2 在模板上配置items 監(jiān)控項(xiàng)奈籽,使用剛定義的用戶參數(shù)
配置--->模板-->fpm status--->監(jiān)控項(xiàng)-->創(chuàng)建監(jiān)控項(xiàng)
fpm.stats[total processes]
5.3 再clone克隆一個(gè)items監(jiān)控項(xiàng)
fpm.stats[active processes]
6. host主機(jī)鏈接模板
配置-->主機(jī)-->none1--->模板--->選擇--->fpm status --->添加--->更新
7. 查看graph 圖形
8. 把模板導(dǎo)出饥侵,可以給別人使用
導(dǎo)出模板
最下面有導(dǎo)出
自己定義用戶參數(shù)的文件,也不要忘記導(dǎo)出
/etc/zabbix/zabbix_agentd.d/php_status.conf