zabbix_agentd:客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等。zabbix agent启动的时候,会分别开启三个进程。
zabbix 26530 1 0 May24 ? 00:00:00 zabbix_agentd
zabbix 26531 26530 0 May24 ? 00:01:14 zabbix_agentd: collector [idle 1 sec]
zabbix 26534 26530 0 May24 ? 00:07:07 zabbix_agentd: listener #1 [waiting for connection]
zabbix 26535 26530 0 May24 ? 00:06:31 zabbix_agentd: listener #2 [waiting for connection]
zabbix 26536 26530 0 May24 ? 00:06:56 zabbix_agentd: listener #3 [waiting for connection]
zabbix 26537 26530 0 May24 ? 00:00:19 zabbix_agentd: active checks #1 [idle 1 sec]

collector_thread-用来收集本机的基本监控信息、listener_thread-用来实现zabbix master连接过来的被动监控、active_checks_thread-主动的推送数据进程(默认值在active.c)。
默认值在agentd.c中定义:

int CONFIG_COLLECTOR_FORKS = 1;
int CONFIG_PASSIVE_FORKS = 3; /* number of listeners for processing passive checks /
int CONFIG_ACTIVE_FORKS = 0;

/
--- START THREADS ---*/

/* allocate memory for a collector, all listeners and active checks */
threads_num = CONFIG_COLLECTOR_FORKS + CONFIG_PASSIVE_FORKS + CONFIG_ACTIVE_FORKS;</code>

在zabbix_agent.conf中可以更改StartAgents来控制数量:

StartAgents
取值范围:0-100
默认值:3
#zabbix启动之后开启被动监控的进程数量,如果设置为0,那么zabbix被动监控被禁用,并且不会监听相应端口,也就是说10050端口不会开启。

zabbix_get:zabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令。通常用户排错。例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。
zabbix_sender:zabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。
zabbix_server:zabbix服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server。
zabbix_proxy:zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。
zabbix_java_gateway:zabbix2.0之后引入的一个功能。Java网关,类似agentd,但是只用于Java方面(它只能主动去获取数据,而不能被动获取数据),它的数据最终会给到server或者proxy。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code