龙空技术网

Zabbix 自定义监控内容

特立独行的兔子y 322

前言:

此刻看官们对“c 键值”大体比较注重,姐妹们都想要分析一些“c 键值”的相关资讯。那么小编也在网络上网罗了一些对于“c 键值””的相关知识,希望看官们能喜欢,同学们一起来学习一下吧!

一、自定义监控内容

1、命令行获取key值(系统有的)

配置-->主机-->监控项-->键值对

[root@zabbix-server ~]# yum install -y zabbix-get[root@zabbix-server ~]# zabbix_get -s '10.30.59.241' -p 10050 -k 'system.cpu.switches'42063658[root@zabbix-server ~]# zabbix_get -s '10.30.59.241' -p 10050 -k 'system.cpu.util[,user]'0.025027

2、命令行自定义监控服务器登录的人数(自定义键值对,下面使用这个进行web界面进行监控)

在客户端找到配置文件,查看自定义格式规范。再自己手写自定义的键值对。

# 1、原理[root@zabbix-agent243 ~]# vim /etc/zabbix/zabbix_agent2.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=# 键值对配置文件位置由Include 定义。### Option: Include# You may include individual files or all files in a directory in the configuration file.# Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time.## Mandatory: no# Default:# Include=Include=/etc/zabbix/zabbix_agent2.d/*.conf# 2、配置监控项[root@zabbix-agent243 ~]# cd /etc/zabbix/zabbix_agent2.d/[root@zabbix-agent243 zabbix_agent2.d]# ls[root@zabbix-agent243 zabbix_agent2.d]# vim who.conf[root@zabbix-agent243 zabbix_agent2.d]# cat who.confUserParameter=login.user,who | wc -l[root@zabbix-agent243 zabbix_agent2.d]# systemctl restart zabbix-agent2[root@zabbix-agent243 zabbix_agent2.d]# whoroot tty1 2021-06-21 23:43root pts/0 2021-07-22 16:40 (10.30.58.6)# 测试[root@zabbix-server ~]# zabbix_get -s '10.30.59.241' -p 10050 -k 'login.user'ZBX_NOTSUPPORTED: Unknown metric login.user[root@zabbix-server ~]# zabbix_get -s '10.30.59.243' -p 10050 -k 'login.user'2

3、监控脚本(值获取比较复杂,一行命令获取不到的时候)

上面我们的配置文件为一行命令就可以获取到结果了, 所以比较简单,但是我们也会遇到一些获取值比较困难的时候,这个时候就需要使用脚本,这时就需要做一些改变了。遇到这种问题就需要改变一下思路。 我们可以先创建一个目录,用来存放脚本文件, 然后配置文件里执行命令改为执行脚本。

# 第一种方法(笨方法)# 创建脚本存放目录,要执行的脚本文件[root@zabbix-agent ~]# mkdir -p /etc/zabbix/zabbix_agentd.d/script[root@zabbix-agent ~]# cd /etc/zabbix/zabbix_agentd.d/script[root@zabbix-agent script]# vim tcp.sh#!/bin/bashfunction ESTAB {/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'ESTAB' | awk '{print $2}'}function TIMEWAIT {/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'TIME-WAIT' | awk '{print $2}'}function LISTEN {/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'LISTEN' | awk '{print $2}'}$1# 创建自定义监控配置文件[root@zabbix-agent script]# cd /etc/zabbix/zabbix_agentd.d[root@zabbix-agent zabbix_agentd.d]# vim tcp.confUserParameter=tcp_estab,bash /etc/zabbix/zabbix_agentd.d/script/tcp.sh ESTABUserParameter=tcp_listen,bash /etc/zabbix/zabbix_agentd.d/script/tcp.sh LISTENUserParameter=tcp_timewait,bash /etc/zabbix/zabbix_agentd.d/script/tcp.sh TIMEWAIT# 这个案例使用的的zabbix-agent测试的[root@zabbix-agent script]# systemctl restart zabbix-agent# 服务端测试[root@zabbix-server ~]# zabbix_get -s '192.168.200.82' -p 10050 -k 'tcp_estab'4[root@zabbix-server ~]# zabbix_get -s '192.168.200.82' -p 10050 -k 'tcp_timewait'42[root@zabbix-server ~]# zabbix_get -s '192.168.200.82' -p 10050 -k 'tcp_listen'6# 上面这样写多少有些麻烦,如果脚本参数太多,还要多写好几行配置文件。# 在上面的基础上,我们做一下更改。# 第二种方法[root@zabbix-agent zabbix_agentd.d]# vim tcp.confUserParameter=tcp_[*],bash /etc/zabbix/zabbix_agentd.d/script/tcp.sh $1[root@zabbix-agent script]# systemctl restart zabbix-agent# 服务端测试[root@zabbix-server ~]# zabbix_get -s '192.168.200.82' -p 10050 -k 'tcp_[LISTEN]'6[root@zabbix-server ~]# zabbix_get -s '192.168.200.82' -p 10050 -k 'tcp_[ESTAB]'4[root@zabbix-server ~]# zabbix_get -s '192.168.200.82' -p 10050 -k 'tcp_[TIMEWAIT]'43

二、在页面添加zabbix-server的自定义监控项模板

添加流程

创建模板

创建应用集(好比是一个文件夹,里面放入一堆监控项)

创建监控项,自定义item,你具体想监控的内容

创建触发器,当监控项获取到值的时候,进行和触发器比较,判断,决定是否要报警

创建图形

将具体的主机和该模板链接,关联

1、创建模板

创建完成之后,可以搜到即可。

2、 创建应用集

3、创建监控项

4、创建触发器

创建完成会多出一个这个

5、创建图形

6、将具体的主机与该模板链接,关联

7、测试

使用xshell 多开几个会话,发现仪表盘多了一个警告

选择确认警告即可

注意

被监控的主机,一定要由配置好的自定义key的配置文件。

标签: #c 键值