zabbix自定义监控项二

为zabbix增加支持传参的自定义监控项

例如使用zabbix来监控tcp的12种状态

tcp的12种状态可以通过man netstat来找到,即

LISTEN:等待从任何远端TCP 和端口的连接请求。

SYN_SENT:发送完一个连接请求后等待一个匹配的连接请求。

SYN_RECEIVED:发送连接请求并且接收到匹配的连接请求以后等待连接请求确认。

ESTABLISHED:表示一个打开的连接,接收到的数据可以被投递给用户。连接的数据传输阶段的正常状态。

FIN_WAIT_1:等待远端TCP 的连接终止请求,或者等待之前发送的连接终止请求的确认。

FIN_WAIT_2:等待远端TCP 的连接终止请求。

CLOSE_WAIT:等待本地用户的连接终止请求。

CLOSING:等待远端TCP 的连接终止请求确认。

LAST_ACK:等待先前发送给远端TCP 的连接终止请求的确认(包括它字节的连接终止请求的确认)

TIME_WAIT:等待足够的时间过去以确保远端TCP 接收到它的连接终止请求的确认。

TIME_WAIT 两个存在的理由:

1.可靠的实现tcp全双工连接的终止;

2.允许老的重复分节在网络中消逝。

CLOSED:不在连接状态(这是为方便描述假想的状态,实际不存在)

1、添加zabbix-agent配置文件,增加自定义监控项

[root@zabbix ~]# cd /etc/zabbix/zabbix_agentd.d/

[root@zabbix zabbix_agentd.d]# ls

tps.conf userparameter_mysql.conf

[root@zabbix zabbix_agentd.d]# vim tcp.conf

UserParameter=tcp_state[*],netstat -ant|grep -c "$1"    #参数用[]来引用,参数为*

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

2、模拟取值

[root@zabbix zabbix_agentd.d]# zabbix_get -s 127.0.0.1 -p 10050 -k "tcp_state[LISTEN]"

8

3、web界面添加监控项

点击:配置——>选择主机——>监控项——>创建监控项,添加需要创建的tcp的状态为监控项,将参数*换为具体的状态

tcp_state[ESTABLISHED]

tcp_state[SYN_SENT]

tcp_state[SYN_RECV]

tcp_state[FIN_WAIT1]

tcp_state[FIN_WAIT2]

tcp_state[TIME_WAIT]

tcp_state[CLOSE]

tcp_state[CLOSE_WAIT]

tcp_state[LAST_ACK]

tcp_state[LISTEN]

tcp_state[CLOSING]

tcp_state[UNKNOWN]

添加完一个监控项后,克隆添加的监控项继续添加其他的监控项

4、检查

点击:监测中,最新数据,过滤添加的主机和应用集,监控tcp的状态值已经成功添加

5、将自定义的监控项链接到新的模板

如果需要将自定义的监控将应用于多台机器,就可以选择将某个主机添加的监控项链接到新的模板

点击:配置——>模板——>创建模板,填写模板的名称,其中模板所在的群组为Templates

添加完成

为新添加的模板创建监控项

点击:配置——>主机,选择上面添加了自定义监控项的主机,过滤出添加的监控项,全选进行复制,复制到模板组,选择Temolates,复制成功后监控项就添加到了tcp_state_11模板中

为新添加的模板创建应用集

点击:配置——>模板,选择模板tcp_state_11,点击应用集,创建应用集tcp_state

点击:配置——>模板,选择模板tcp_state_11,点击监控项,全选,点击批量更新

勾选"添加新的或者已经存在的应用",选择创建的应用集tcp_state,点击更新

自定义监控项添加到模板基本完成。以后添加的主机除了在客户端添加配置文件外,可以选择模板来使用自定义的监控项,另外还可以根据需要创建触发器,图形等

 

博主原创文章,转载请务必注明出处

猜你喜欢

转载自www.cnblogs.com/ssgeek/p/9223535.html
今日推荐