当前位置 : 主页 > 编程语言 > 其它开发 >

Zabbix 5.0:服务端进程总结

来源:互联网 收集:自由互联 发布时间:2022-05-18
Zabbix服务端进程被分为不同的种类,每一种进程负责相应的任务,包括收集原始监控数据、对原始监控数据进行预处理、将预处理后的监控数据同步到数据库、对监控数据进行计算以生
Zabbix服务端进程被分为不同的种类,每一种进程负责相应的任务,包括收集原始监控数据、对原始监控数据进行预处理、将预处理后的监控数据同步到数据库、对监控数据进行计算以生成事件、计算和获取内部监控数据,以及对数据库中的数据进行清理等。

Blog:自由互联 个人
参考:《深入理解Zabbix监控系统》、《Zabbix用户手册》

Zabbix服务端进程被分为不同的种类,每一种进程负责相应的任务,包括收集原始监控数据、对原始监控数据进行预处理、将预处理后的监控数据同步到数据库、对监控数据进行计算以生成事件、计算和获取内部监控数据,以及对数据库中的数据进行清理等。

监控数据的收集进程

Zabbix服务器的重要任务之一就是被动接收由Zabbix代理和各种Zabbix客户端发送的监控数据,以及主动向Zabbix代理、Zabbix java gateway和Zabbix客户端等数据源请求数据,其中被动接收数据由trapper类进程实现,主动请求数据则由poller类进程实现。

trapper类进程通过监听TCP套接字来捕获符合通信协议的原始监控数据,poller类进程则使用ConfigCache作为输入,根据缓存信息实现完善的任务调度。trapper类和poller类进程的下游是预处理进程,这两类进程需要将收集到的原始监控数据发送到预处理进程。trapper类进程和poller类进程都会在进程内部维护一个静态变量cached_message,用于暂存待发送的监控数据,并在各种必要的时机将该变量中的消息发送到预处理进程。

trapper类进程

Zabbix服务器端的trapper进程负责接收来自Zabbix客户端、Zabbix代理、zabbix_sender及其他外部进程发来的请求并进行处理,按照Zabbix 5.0的通信协议规范,trapper进程只能接收JSON格式字符串的请求。

trapper进程由配置文件中的StartTrappers参数决定其启动数量(允许启动0~1000个进程,默认为5个)。

[root@prod-zabbix-server ~]# ps -ef|grep trapper
zabbix    8740  8643  0 Feb21 ?        01:55:26 /usr/sbin/zabbix_server: trapper #1 [processed data in 0.001288 sec, waiting for connection]
zabbix    8741  8643  0 Feb21 ?        01:13:24 /usr/sbin/zabbix_server: trapper #2 [processed data in 0.000863 sec, waiting for connection]
zabbix    8742  8643  0 Feb21 ?        01:02:48 /usr/sbin/zabbix_server: trapper #3 [processed data in 0.000664 sec, waiting for connection]
zabbix    8743  8643  0 Feb21 ?        01:55:36 /usr/sbin/zabbix_server: trapper #4 [processed data in 0.000788 sec, waiting for connection]
zabbix    8744  8643  0 Feb21 ?        01:43:59 /usr/sbin/zabbix_server: trapper #5 [processed data in 0.000802 sec, waiting for connection]

上一篇:Perforce 使用建议
下一篇:没有了
网友评论