zabbix服务器和客户端连接配置
1. 安装环境说明
本例中安装zabbix
开源软件和zabbix
运行所需的中间件和数据库apache、php
和postgres
,软件版本信息如下:
软件 | 版本 |
---|---|
zabbix | Zabbix6.4.0 |
apache | httpd-2.4.57 |
apr | apr-1.7.4 |
apr-util | 1.6.3 |
php | 8.2.6 |
sqlite-autoconf | 3420000 |
gcc | 11 |
postgres | 14.7 |
zabbix-agent | 5.2.5 |
主机信息如下:
Red Hat Enterprise Linux Server 7.9 (Maipo)
2. 服务器准备
主机名 | 主机地址 | 用途 |
---|---|---|
zib_server | 192.168.101.238 | zabbix的服务器地址 |
pgsql_master | 192.168.101.232 | pgsql的主服务器 |
pgsql_backup | 192.168.101.239 | pgsql的备服务器 |
3. 服务器配置
采用了源码安装的方式,详情请见 240717-RedHat7.9安装zabbix6.md
文档。
4. 客户端配置
4.1. 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返回数据。
4.2 安装及配置步骤
zabbix agent的安装方式主要有源码安装、rpm包安装、二进制包安装等多种方式,本文介绍YUM方式rpm包安装,此方式安装步骤简单、快捷。
4.2.1 示例环境说明
- 操作系统版本 Red Hat Enterprise Linux Server 7.9 (Maipo)
- zabbix-server版本 6.4.0
- zabbix-agent版本 5.2.5
4.2.2 下载安装zabbix YUM
源文件
rpm -Uvh https://repo.zabbix.com/zabbix/5.2/rhel/7/x86_64/zabbix-release-5.2-1.el7.noarch.rpm
4.2.3 安装zabbix-agnet
客户端
yum install -y zabbix-agent
4.2.4 配置zabbix_agentd.conf
vim /etc/zabbix/zabbix_agentd.conf
# 修改内容
LogFileSize=1
Server=192.168.101.238
ServerActive=192.168.101.238
Hostname=pgmaster
# 修改内容
LogFileSize=1
Server=192.168.101.238
ServerActive=192.168.101.238
Hostname=pgbackup
4.2.5 启动zabbix_agent
systemctl start zabbix-agent
4.2.6 设置开机自启动
systemctl enable zabbix-agent
4.2.7 检查agent
服务
netstat -tnpl
5. 服务器网页操作
进入页面如下
点击 监测->主机
;点击右上角的 添加主机
按钮即可进入添加主机页面。
5.1 添加主机
添加主机页面如下。
在这个页面填写主机名称
,选择对应的主机群组
,在接口
处添加agent接口,填写ip地址和对应的接口。
完成如下所示。
然后点击添加
即可。
5.2 添加监控项
添加完主机之后ZBX
不会变绿,添加玩监控项之后才会变绿。
回到主机页面,点击对应的主机。
进入主机信息编辑页面后选择模版。
进入选择模版群组页面,选择模版群组。
进入详细模版选择页面,选择对应的详细模版。
然后点击更新
即可,过不久就会ZBX
就会变绿,表明已经连接上了。
6. zabbix_agentd.conf 配置参数文件说明
- 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