一、zabbix agent简介
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 zabbix主要由2部分构成,zabbix server与可选组件zabbix agent。zabbix agent需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agent收集数据分为主动和被动两种模式:
主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy 被动:server向agent请求获取监控项的数据,agent返回数据。
二、安装及配置步骤
zabbix agent的安装方式主要有源码安装、rpm包安装、二进制包安装等多种方式,本文介绍YUM方式rpm包安装,此方式安装步骤简单、快捷。
1.下载安装zabbix yum源文件
代码语言:javascript复制rpm -Uvh https://repo.zabbix.com/zabbix/5.2/rhel/7/x86_64/zabbix-release-5.2-1.el7.noarch.rpm
2.配置zabbix_agentd.conf
代码语言:javascript复制[admin@host-172-16-50-8 ~]$ cat /etc/zabbix/zabbix_agentd.conf | grep -Ev "^#|^$"
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.0.120
ServerActive=192.168.0.120:10051
Hostname=host-172-16-50-8
Include=/etc/zabbix/zabbix_agentd.d/*.con
三、zabbix_agentd.conf配置参数文件说明
代码语言:javascript复制AllowRoot 默认值:0 是否允许使用root身份运行zabbix,如果值为0,并且是在root环境下,zabbix会尝试使用zabbix用户运行,如果不存在会告知zabbix用户不存在。 0 - 不允许 1 - 允许
BufferSend 取值范围:1-3600 默认值:5 数据存储在buffer中最长多少秒
BufferSize 取值范围:2-65535 默认值:100 buffer最大值,如果buffer满了,zabbix将会将检索到的数据发送给zabbix server或者proxy
DebugLevel 取值范围:0-5 默认值:3 指定日志级别 0 - basic information about starting and stopping of Zabbix processes 1 - critical级别 2 - error级别 3 - warnings级别 4 - debug级别 5 - extended debugging (与级别4一样. 只能使用runtime control 来设置.)
EnableRemoteCommands 默认值:0 是否运行zabbix server在此服务器上执行远程命令 0 - 禁止 1 - 允许
HostMetadata 取值范围:0-255 字符 仅用于主机自动注册功能,如果当前值为定义,那么它的值默认为HostMetadataItem的值。这个选项在2.2.0之后加入,并且确保支付不能超过限制,以及字符串必须是UTF8,否则服务器无法启动
HostMetadataItem 功能同上,如果HostMetadata值未设置,这个配置才有效。支持使用UserParameters、alias、system.run[]
Hostname 默认值:HostnameItem配置的值 主机名,必须唯一,区分大小写。Hostname必须和zabbix web上配置的一直,否则zabbix主动监控无法正常工作。为什么呢?因为agent拿着这个主机名去问server,我有配置主动监控项 吗?server拿着这个主机名去配置里面查询,然后返回信息。 支持字符:数字字母、’.’、’ '、 ‘_’、 ‘-’,不超过64个字符
HostnameItem 默认值:system.hostname 设置主机名,只有当HostMetadata没设置,她才生效。不支持UserParameters 、aliases,支持system.run[]
Include 包含自配置文件,不同的配置写到不同的文件中,然后include,配置文件会显得规范。例如: /absolute/path/to/config/files/*.conf. Zabbix 2.4.0开始支持正则表达式。
ListenIP 默认值:0.0.0.0 监听IP地址,默认为所有接口,多个ip之间使用逗号分隔
ListenPort 取值范围:1024-32767 默认值10050 监听端口
LoadModule 加载模块文件,可以写多个 格式: LoadModule= 必须配置LoadModulePath
LoadModulePath 模块路径,绝对路径
LogFile 日志文件路径 如果未配置,日志会记录到syslog中
LogFileSize 取值范围:0-1024 默认值:1 日志文件大小,单位为MB。 0 - 关闭自动轮滚. 备注:如果日志文件到达了最大值并且文件轮滚失败,那么老日志文件会被清空掉。
LogRemoteCommands 默认值:0 记录原型执行的shell命令日志,级别为warrning 0 - disabled 1 - enabled
MaxLinesPerSecond 取值范围:1-1000 默认值:100 处理监控类型为log何eventlog日志时,agent每秒最大发送的行数。默认为100行
PidFile 默认值:/tmp/zabbix_agentd.pid PID文件名
RefreshActiveChecks 取值范围:60-3600 默认值:120 多久时间(秒)刷新一次主动监控配置信息,如果刷新失败,那么60秒之后会重试一次
Server zabbix server的ip地址,多个ip使用逗号分隔
ServerActive zabbix 主动监控server的ip地址,使用逗号分隔多IP,如果注释这个选项,那么当前服务器的主动监控就被禁用了
SourceIP zabbix对外连接的出口IP地址
StartAgents 取值范围:0-100 默认值:3 zabbix启动之后开启被动监控的进程数量,如果设置为0,那么zabbix被动监控被禁用,并且不会监听相应端口,也就是说10050端口不会开启。
Timeout 默认值:1-30 默认值:3 超时时间,单位秒
UnsafeUserParameters 取值范围:0,1 默认值: 0 允许所有字符的参数传递给用户定义的参数。
User 默认值:zabbix 运行zabbix程序的用户,如果AllowRoot被禁用,才有效果
UserParameter 用户自定义key,格式: UserParameter=, 例如:serParameter=system.test,who|wc -l