【玩转Lighthouse】基于 CentOS 8 搭建 Zabbix 6.0 LTS 监控系统实战
0x00.前言
- 时间过得可真快啊,不知不觉今年的征文活动也开始了,最开始是直接在「专栏」看到的比赛文章:https://cloud.tencent.com/developer/article/1967215,后来在「轻量控制台」banner 和「云 + 社区」菜单也都能看到了
最后来说一下监控的意义,特性一文中给了详细的描述:https://www.zabbix.com/cn/features,懒得看原文的话推荐看下面贴出的截图
1,首先是采集数据
2,然后设置告警以发现问题,甚至会通过机器学习的方式
3,并且在告警的同时还可以直接采取措施,尝试自动解决问题(重启大法
4,必不可少的数据可视化,比如常见的拓扑图
5,灵活的仪表盘,可自定义构建
6,还可以计算 SLA
7,就是之前说过的,各种基础设施几乎都是支持的,开箱即用
8,安全性也是不可忽视的重要一环
9,官方宣称 5min 即可部署完成
10,最后一点:「无限可拓」
对于产品发布有着明确的路线图:https://www.zabbix.com/cn/roadmap
以及「Zabbix产品周期&发布日志」:https://www.zabbix.com/cn/life_cycle_and_release_policy
这里就不再赘述了,针对 Zabbix 的了解到这里应该足够了
0x02. Zabbix 安装
本来计划用 docker-compose 管理 docker 容器,后来还是确定为从本机安装:https://www.zabbix.com/cn/download?zabbix=6.0&os_distribution=centos&os_version=8&db=postgresql&ws=nginx
- Zabbix 6.0 LTS
- CentOS 8
- PostgreSQL
- Nginx
服务器选择 4C4G 的轻量机(是目前手中三台云主机中配置最高的一台)进行安装,因为暂时需要接入监控的设备并不多,所以跑起来性能绰绰有余
选取一个指标举个栗子,查看这个月云主机剩余内存的曲线图
当然了,也可以去查看默认配置的「图形」和「仪表盘」
至此,Zabbix 监控系统已经搭建完成,本文 50% 已经搞定,剩下的就是接入监控设备了
0x03.通过 Zabbix Agent 接入 Windows 云主机
要接入 Windows 云主机,需要在 Windows 云主机上安装 Zabbix agent,这里选择基于 Go 语言开发的 2 代版本,在 Windows 下双击 msi 安装到系统服务中即可
然后在 Zabbix server 的「配置」-「主机」中把它加进去就好了,可以关联上官方模板,就不用自己手动创建监控项了
同样选取一个指标,查看这个月云主机已用内存的曲线图
再贴一下两个「仪表盘」
虽然 public community 下仅有只读权限,但为了安全性考虑建议开启 SNMPv3 的最严格模式,即 authPriv
网页编辑完成后可通过终端查看当前 SNMP 配置
[admin@MikroTik] > snmp print
enabled: yes
contact: yuangezhizao <root@yuangezhizao.cn>
location: PYDL
engine-id:
src-address: ::
trap-target:
trap-community: public
trap-version: 2
trap-generators: interfaces,start-trap,temp-exception
trap-interfaces: all
再通过 snmpwalk 验证,说明是没有问题了
pi@rpi-master:~ $ snmpwalk -v3 -c public -u public 192.168.25.254
iso.3.6.1.2.1.1.1.0 = STRING: "RouterOS RB5009UG+S+"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.14988.1
iso.3.6.1.2.1.1.3.0 = Timeticks: (6138000) 17:03:00.00
iso.3.6.1.2.1.1.4.0 = STRING: "yuangezhizao <root@yuangezhizao.cn>"
iso.3.6.1.2.1.1.5.0 = STRING: "MikroTik"
iso.3.6.1.2.1.1.6.0 = STRING: "PYDL"
二、然后在 Zabbix 中添加主机(路由器)
同样关联上官方模板
并且 Zabbix 的官方模板还真有 MicroTik 的这款路由器,位于倒数第二个
截止目前,官方模板创建了 206 个监控项
再选取一个指标,这次不看内存了,看下 ICMP 的响应时间,可以看出有一阵较长的无响应,是因为今天 05:23 猫棒挂了导致家宽拨号不能,与外网失联了几个小时,怀疑是光衰太低(26~27 左右)的缘故,不一定啥时候就突然寄了……
0x05.Zabbix 生态
至此,额外两种接入监控的实战都介绍完了:Zabbix agent 2 & SNMP
不过从宏观来讲,接入监控只是第一步,针对于这些采集到的监控信息,如何有效的利用才是关键,特性一文中也介绍了如何发现异常数据进行告警甚至主动采取措施,这些都是后续需要花时间来做的,而不是仅仅将设备接入监控就万事大吉了
再来举个栗子,从「问题」页面就可以看到内置的告警策略
比如虽然是 INFO 的这一条
Interface ether1(): Ethernet has changed to lower speed than it was before
没错,是因为这时候把猫棒换回了光猫,所以 ether1 口的速率从 2.5g 降低到了 1g
0x05.后记
本来想着只介绍 Zabbix 的搭建应该花不了多长时间,结果发现写完却花了接近 4 个小时
不过对于 Zabbix 倒是有了更深一步的认识,这也算是一种收获吧,Zabbix 有着一套完整的监控生态
还是那句话,接入监控只是第一步,后续才是关键,不过限于篇幅原因只能拆分到后续的文章再来介绍了
最后,感谢云 + 社区举办的这次「玩转「Lighthouse」有奖征文活动」,祝云 + 社区越来越好!
2022-05-04
远哥制造