一、zabbix概述
作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。
利用一个优秀的监控软件,我们可以:
- 通过一个友好的界面进行浏览整个网站所有的服务器状态
- 可以在Web 前端方便的查看监控数据
- 可以回溯寻找事故发生时系统的问题和报警情况
1.1 zabbix是什么?
- zabbix是一个基于Web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
- zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
- zabbix由2部分构成,zabbix server 与可选组件zabbix agent。 通过c/s 模式采集数据,通过B/s模式在web端展示和配置。
- zabbix server 可以通过SNMP(简单网络管理协议),zabbix agent,ping, 端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它 可以运行在Linux等平台上。(支持多个平台,windows也支持)
- zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
1.2 zabbix监控原理
zabbix agent安装在被监控的主机上,zabbix agent 负责定期收集客户端本地各项数据,并发送至zabbix server 端,zabbix server收到数据后,将数据存储到数据库中,用户基于zabbix WEB可以看到数据在前端展现图像。
当zabbix 监控某个具体的项目,该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、 restart、 install 等)。
用户可以基于zabbix-web可以在WEBUI界面中查看展现的数据图像,以及进行相关的配置管理用户还可以在WEBUI界面中设置监控项的触发器,如被监控的数据指标超过触发器设定的阈值,会进行发送通知信息或者一些应急操作指令。
1.3 zabbix常见的五个程序
zabbix监控部署在系统中,包含常见的五个程序: zabbix server、 zabbix agent、 zabbix proxy、zabbix get、zabbix sender 等。
(1) zabbix server: zabbix 服务端守护进程,其中zabbix_agent、 zabbix_ get、zabbix_sender、 zabbix_proxy的数据最终都提交给zabbix server;
(2) zabbix agent: 客户端守护进程,负责收集客户端数据,例如:收集CPU负载、内存、硬盘使用情况等;
(3)zabbi xproxy: zabbix分布式代理守护进程,通常大于500台主机,需要进行分布式监控架构部署;
(4)zabbix get: zabbix 数据接收工具,单独使用的命令,通常在server 或者proxy端执行获取远程客户端信息的命令;
(5)zabbix sender: zabbix 数据发送工具,用户发送数据给server 或proxy端,通常用户耗时比较长的检查。
1.4 zabbix端口号
- zabbix服务端zabbix_server 默认使用10051 端口。
- 客户端zabbix_agent2 默认使用10050 端口。
二、安装zabbix 5.0
建议使用5.0版本/4.6版本/4.8 版本,不使用6.0。
实验环境:
节点 | IP | 安装服务 |
---|---|---|
zabbix-server | 192.168.41.45 | zabbix-server-mysql、zabbix-agent |
zabbix-agent | 192.168.41.46 | zabbix-agent2 |
2.1 部署 zabbix 服务端(端口号10051)
zabbix-server内存至少2G,推荐4G。
zabbix 服务端同时安装zabbix-server-mysql和zabbix-agent,因为服务端所在主机自己也要被监控。
##1、关闭防火墙,修改主机名
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-server
su
##2、获取 zabbix 的下载源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-r