侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

zabbix 自定义key监控

2023-11-27 星期一 / 0 评论 / 0 点赞 / 64 阅读 / 6136 字

1. User parameters 在agent端自定义key,编写脚本,添加到配置文件中;server端调用agent端的key进行采集数据。 只能返回一个512KB数据,默认用/bin/

1. User parameters

    在agent端自定义key,编写脚本,添加到配置文件中;server端调用agent端的key进行采集数据。

    只能返回一个512KB数据,默认用/bin/sh执行脚本命令

    1.1 无参key

    格式:UserParameter=<key>,<command>

    如:UserParameter=mysql.ping,mysqladmin -uroot ping|grep -c alive

        执行成功返回1,否则0其他

# 在agent端[root@localhost ~]#vim /usr/local/etc/zabbix_agentd.conf### Option: UserParameter#       User-defined parameter to monitor. There can be several user-defined parameters.#       Format: UserParameter=<key>,<shell command>#       See 'zabbix_agentd' directory for examples.## Mandatory: no# Default:# UserParameter=UserParameter=memory.free,/usr/bin/free | awk '/^Mem:/{print $4}'# 重启agent端
# 在server端[root@localhost ~]#zabbix_get -husage:  zabbix_get -s host-name-or-IP [-p port-number] [-I IP-address] -k item-key  zabbix_get -h  zabbix_get -VGet data from Zabbix agent.General options:  -s --host host-name-or-IP  Specify host name or IP address of a host  -p --port port-number      Specify port number of agent running on the host                             (default: 10050)  -I --source-address IP-address   Specify source IP address  -k --key item-key          Specify key of the item to retrieve value for  -h --help                  Display this help message  -V --version               Display version number[root@localhost ~]#zabbix_get -s 192.168.195.204 -k "memory.free"148720

    配置->主机->监控项->创建监控项->键入键值,1024倍

    监测中->最新数据->修改应用集

    1.2 带参key

    格式:UserParameter=<key>[*],<command>

    command使用[*]参数用$1,$2..,使用命令参数用$$1,$$2区别

# 在agent端[root@localhost ~]#vim /usr/local/etc/zabbix_agentd.conf# 增加UserParameter=memory.usage[*],/bin/cat /proc/meminfo | awk '/^$1:/{print $$2}'
# 在server端[root@localhost ~]#zabbix_get -s 192.168.195.204 -k "memory.usage[MemFree]"148224[root@localhost ~]#zabbix_get -s 192.168.195.204 -k "memory.usage[MemTotal]"1012080

    配置->主机->监控项->新建监控项

    监测中->最新数据->选择应用集->选择这三个监控项->显示数据图

    配置->主机->图形->创建图形

    配置->主机->监控项->多选,删除历史数据

    监测中->图形->选择群组,主机,图形

2. 自定义监控Nginx状态

    nginx status开启

# 在agent端[root@localhost ~]#vim /etc/nginx/nginx.conf# 在server下加个locationserver {	...	location /status {		stub_status on;		access_log off;		allow 192.168.195.202; # 允许访问的 IP,本地是不能访问的		allow 127.0.0.1;		deny all;	}}[root@localhost ~]#service nginx restart # 重启nginx
# 在server端[root@localhost ~]#curl http://192.168.195.204/statusActive connections: 1 server accepts handled requests 4 4 10 Reading: 0 Writing: 1 Waiting: 0
# 在agent端[root@localhost ~]#vim /usr/local/etc/zabbix_agentd.conf# 增加UserParameter=Nginx.active[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^Active/ {print $NF}'UserParameter=Nginx.reading[*], /usr/bin/curl -s "http://$1:$2/status" | grep 'Reading' | cut -d" " -f2UserParameter=Nginx.writing[*], /usr/bin/curl -s "http://$1:$2/status" | grep 'Writing' | cut -d" " -f4UserParameter=Nginx.waiting[*], /usr/bin/curl -s "http://$1:$2/status" | grep 'Waiting' | cut -d" " -f6UserParameter=Nginx.accepted[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ /t]+[0-9]+[ /t]+[0-9]+[ /t]+[0-9]+/ {print $$1}'UserParameter=Nginx.handled[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ /t]+[0-9]+[ /t]+[0-9]+[ /t]+[0-9]+/ {print $$2}'UserParameter=Nginx.requests[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ /t]+[0-9]+[ /t]+[0-9]+[ /t]+[0-9]+/ {print $$3}'# 重启agent
# 在server端[root@localhost ~]#zabbix_get -s 192.168.195.204 -k "Nginx.accepted[127.0.0.1,80]"5

    配置->主机->监控项->创建监控项

 创建图形

    看不到last min max avg是因为编码问题

广告 广告

评论区