云计算百科
云计算领域专业知识百科平台

Day 15 zabbix管理(上)

文章目录

  • Rocky9 部署 Zabbix 6.0 分布式监控完整实操复盘
    • 一、基础环境初始化
      • 1. 关闭SELinux
      • 2. 网卡信息确认
      • 3. 主机名解析配置
    • 二、Zabbix Server 服务端部署
      • 1. 版本选型
      • 2. 数据库初始化踩坑
      • 3. 服务端配置
      • 4. Web前端初始化
    • 三、Agent 客户端部署与接入
      • 1. Rocky9 节点 server2 部署
      • 2. Web前端中文乱码修复
      • 3. Agent 核心配置
      • 4. CentOS7 节点 server3 部署
      • 5. 连通性验证
    • 四、自定义监控项与效果验证
      • 1. CPU 负载监控项创建
      • 2. 压测验证监控有效性
      • 3. 磁盘使用率监控项
    • 踩坑汇总与实操总结
      • 1. 本次核心踩坑点
      • 2. 实操心得

Rocky9 部署 Zabbix 6.0 分布式监控完整实操复盘

一、基础环境初始化

做Zabbix集群之前先把所有节点的基础环境统一调好,避免后面因为系统配置问题反复排查。

1. 关闭SELinux

实验环境第一步先禁用SELinux,不然后面端口、文件权限的隐性问题特别多。编辑/etc/selinux/config,将SELINUX设置为disabled。文档里也标注了RHEL8之后的版本,彻底禁用还可以通过grubby给内核加参数,实验场景改配置文件重启就足够了。

在这里插入图片描述

2. 网卡信息确认

本次实验用的是Rocky Linux 9.6版本,内核为5.14.0。登录系统后先确认网卡状态:

ip a

将网卡名为eth0,通过DHCP获取到了IP地址。

在这里插入图片描述

再通过NetworkManager查看连接列表,确认eth0对应的配置正常:

nmcli connection show

在这里插入图片描述

进入系统连接配置目录,查看网卡配置文件详情:

cd /etc/NetworkManager/system-connections
cat eth0.nmconnection

当前IPv4为自动获取模式,后续需要固定IP直接修改该文件即可。

在这里插入图片描述

3. 主机名解析配置

多节点监控集群一定要提前做好主机名映射,我把所有实验节点的IP和主机名都写入了/etc/hosts,从server1到server8一一对应,后续配置和排错都不用反复记IP,也能避免主机名不匹配导致的监控异常。

在这里插入图片描述

二、Zabbix Server 服务端部署

1. 版本选型

Zabbix版本选择6.0 LTS长期支持版,稳定性最好;对应系统选择Rocky Linux 9,组件包含服务端、前端、Agent,数据库选用MySQL,直接通过官方rpm源安装。

在这里插入图片描述

2. 数据库初始化踩坑

安装完Zabbix服务端和MySQL后,需要导入初始SQL脚本:

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql –default-character-set=utf8mb4 -uzabbix -p zabbix

第一次执行直接报错ERROR 1045 (28000): Access denied,排查后发现是zabbix数据库用户的密码输入错误。重新核对密码后导入成功,登录MySQL确认zabbix库已正常创建。 在这里插入图片描述

3. 服务端配置

编辑服务端主配置文件:

vim /etc/zabbix/zabbix_server.conf

核心修改DBPassword参数,填入zabbix数据库用户对应的密码,其余参数默认即可满足实验需求。 在这里插入图片描述

重启服务,查看状态所有子进程都正常启动。

systemctl restart zabbix-server
systemctl status zabbix-server

在这里插入图片描述

4. Web前端初始化

浏览器访问Zabbix前端地址,进入仪表盘后可以看到服务端运行状态正常,主机、模板、监控项等数据都能正常加载,说明服务端和Web前端部署完成。 在这里插入图片描述

三、Agent 客户端部署与接入

1. Rocky9 节点 server2 部署

首先在server2节点配置Zabbix官方yum源,安装release包:

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-latest-6.0.el9.noarch.rpm

在这里插入图片描述

源配置完成后,直接安装zabbix-agent客户端:

dnf install -y zabbix-agent

在这里插入图片描述

2. Web前端中文乱码修复

部署过程中发现Web界面中文显示乱码,这是Zabbix的老问题,默认的graphfont字体不支持中文。解决方法很简单:进入字体目录,删除默认字体,将中文字体软链接为默认文件名即可。

cd /usr/share/zabbix/assets/fonts
rm -f graphfont.ttf
ln -s simkai.ttf graphfont.ttf

在这里插入图片描述

3. Agent 核心配置

编辑server2的Agent配置文件:

vim /etc/zabbix/zabbix_agentd.conf

第一个核心参数Server,填写Zabbix服务端IP,仅允许该地址发起被动监控请求。 在这里插入图片描述

第二个参数ServerActive,同样填写服务端IP,用于主动模式上报数据。

在这里插入图片描述

第三个关键参数Hostname,设置为当前节点主机名server2,必须和Web端添加主机时的名称完全一致,否则会匹配失败。

在这里插入图片描述

在这里插入图片描述

配置完成后重启Agent服务,到Web端添加主机并关联系统模板,添加完成后主机列表即可看到server2节点。 在这里插入图片描述

4. CentOS7 节点 server3 部署

另外准备了一台CentOS7节点server3,部署流程和Rocky9基本一致,仅需安装对应版本的Zabbix源:

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-latest-6.0.el7.noarch.rpm

在这里插入图片描述

Agent配置和server2完全相同,仅需把Hostname改为server3即可。

配置完成后在Web端创建server3主机,填写对应IP和端口,关联Linux监控模板。 在这里插入图片描述

刷新主机列表后,三台主机的可用性图标都变为绿色ZBX,说明所有Agent都正常接入。

在这里插入图片描述

5. 连通性验证

为确认服务端到Agent链路完全通畅,在服务端安装测试工具:

yum install -y zabbix-get

分别测试两台Agent的连通性:

zabbix_get -s 192.168.48.163 -p 10050 -k 'agent.ping'
zabbix_get -s 192.168.48.163 -p 10050 -k 'agent.hostname'

agent.ping返回1代表网络和端口都通,agent.hostname能正确返回主机名,说明Agent配置完全正确。

在这里插入图片描述

四、自定义监控项与效果验证

1. CPU 负载监控项创建

自带模板虽然全,但还是手动创建一个监控项熟悉流程。给server2添加“cpu每分钟负载”自定义监控项,键值为system.cpu.load[all,avg1],更新间隔设为1分钟。 在这里插入图片描述

创建完成后在监控项列表中可以看到刚添加的条目,状态为已启用。 在这里插入图片描述

回到主机列表,server2的监控项数量已同步更新。 在这里插入图片描述

在这里插入图片描述

等待几个采集周期后查看监控图表,空闲状态下CPU负载很低,数值稳定在0.1左右,符合系统表现。 在这里插入图片描述

2. 压测验证监控有效性

在server2后台执行CPU密集型任务拉高负载:

md5sum /dev/zero &

压测一段时间后再看图表,CPU负载明显上升,监控曲线正常变化,说明数据采集实时有效。 在这里插入图片描述 在这里插入图片描述

持续压测过程中,负载进一步升高,图表趋势和实际操作完全对应。

在这里插入图片描述

验证完成后,将后台进程切到前台并结束压测:

fg

停止压测后,CPU负载快速回落,图表曲线下降,整个监控链路响应及时。 在这里插入图片描述

3. 磁盘使用率监控项

除了CPU,又补充了两个磁盘相关监控项:根分区使用量和根分区空闲百分比,覆盖基础资源监控维度。

在这里插入图片描述

在这里插入图片描述


踩坑汇总与实操总结

1. 本次核心踩坑点

  • 服务名拼写错误:把zabbix-server写成zabbix_server,导致systemctl找不到服务。Linux服务单元名基本都是横杠分隔,记混很容易踩坑。
  • 数据库导入1045报错:输入zabbix用户密码时手滑出错,导入前先手动登录MySQL验证账号密码,能少走很多弯路。
  • Web中文乱码:默认字体不支持中文,替换字体时注意软链接的文件名要和原文件名完全一致。
  • Agent主机名不匹配:Agent配置的Hostname必须和Web端主机名称完全相同,差一个字符都匹配不上监控项。
  • 2. 实操心得

    这次从0到1搭完一整套Zabbix监控,最大的感受是:部署本身不难,坑基本都在细节里。比如服务名的横杠下划线、密码输错、主机名不一致,都是很小的点,但卡起来要排查半天。另外自定义监控项+压测验证的流程很重要,不能光看监控项状态是启用的就完事,一定要模拟负载变化,确认数据真的能正常采集、图表能正常更新,不然真出问题了监控没反应就失去意义了。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » Day 15 zabbix管理(上)
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!