zabbix 的作用

  • 通过一个友好的界面进行浏览整个网站所有的服务器状态
  • 可以在 Web 前端方便的查看监控数据
  • 可以回溯寻找事故发生时系统的问题和报警情况

zabbix 是什么?

  • zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
  • zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
  • zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。
  • zabbix server 可以通过 SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能, 它可以运行在 Linux 等平台上。
  • zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU 等信息的收集。

zabbix 监控原理:

zabbix agent安装在被监控的主机上,zabbix agent负责定期收集客户端本地各项数据,并发送至 zabbix server 端,zabbix server 收到数据后,将数据存储到数据库中,用户基于 Zabbix WEB 可以看到数据在前端展现图像。当 zabbix 监控某个具体的项目, 该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、restart、install 等)。

zabbix 监控部署在系统中,包含常见的五个程序:

  • zabbix server:zabbix 服务端守护进程,其中 zabbix_agent、zabbix_get、zabbix_sender、zabbix_proxy 的数据最终都提交给 zabbix server;
  • zabbix agent:客户端守护进程,负责收集客户端数据,例如:收集 CPU 负载、内存、硬盘使用情况等;
  • zabbix proxy:zabbix 分布式代理守护进程,通常大于 500 台主机,需要进行分布式监控架构部署;
  • zabbix get:zabbix 数据接收工具,单独使用的命令,通常在 server 或者 proxy 端执行获取远程客户端信息的命令;
  • zabbix sender:zabbix 数据发送工具,用户发送数据给 server 或 proxy 端,通常用户耗时比较长的检查。
安装 zabbix 5.0

获取zabbix的下载源

zabbix_配置文件

 

更换 zabbix.repo 为阿里源

 zabbix_数据_02

 

 zabbix_数据库_03

 

 zabbix_配置文件_04

 

 安装SCL(Software Collections),便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4,版本过低,zabbix 5.0 版本对 php 版本最低要 7.2.0 版本。SCL 可以使得在同一台机器上使用多个版本的软件,而又不会影响整个系统的依赖环境。软件包会安装在 /opt/rh 目录下。

zabbix_配置文件_05

 

 修改 zabbix-front 前端源,安装 zabbix 前端环境到 scl 环境下

zabbix_客户端_06

 

 zabbix_数据库_07

 

 安装 zabbix 所需的数据库

zabbix_服务端_08

 

 zabbix_数据_09

 

 zabbix_客户端_10

 

 zabbix_服务端_11

 

 导入数据库信息

zabbix_配置文件_12

 

 修改 zabbix server 配置文件,修改数据库的密码

zabbix_客户端_13

zabbix_数据_14

 

 修改 zabbix 的 php 配置文件

zabbix_客户端_15

 

 启动 zabbix 相关服务

zabbix_数据_16

 

 访问

zabbix_数据_17

 

 zabbix_客户端_18

 

 解决 zabbix-server Web页面中文乱码

zabbix_服务端_19

 

 zabbix_客户端_20

 

 zabbix_数据库_21

 

 zabbix_数据_22

 

 

部署 zabbix 客户端

 zabbix 服务端 zabbix_server 默认使用 10051 端口,客户端 zabbix_agent2 默认使用 10050 端口。

1、服务端和客户端配置时间同步

zabbix_配置文件_23

 

 zabbix_客户端_24

 

 2、客户端配置时区,与服务器保持一致

zabbix_客户端_25

 

 3、设置 zabbix 的下载源,安装 zabbix-agent2

zabbix_数据_26

 

 zabbix_客户端_27

 

 4、修改 agent2 配置文件

zabbix_客户端_28

 

 zabbix_服务端_29

 

 zabbix_数据库_30

 

 5、启动 zabbix-agent2

zabbix_客户端_31

 

 6、在服务端验证 zabbix-agent2 的连通性

zabbix_数据库_32

 

 zabbix_数据_33

 

 在Web 页面中添加 agent 主机

zabbix_数据_34

 

 zabbix_数据库_35

 

 zabbix_数据库_36

 

zabbix_数据库_37

 自定义监控内容

案例:自定义监控客户端服务器登录的人数

需求:限制登录人数不超过3个,超过3个就报警

在客户端创建自定义key

1、明确需要执行的linux命令

zabbix_服务端_38

 

 2、创建zabbix的监控项配置文件,用于自定义key

zabbix_数据库_39

 

 zabbix_配置文件_40

 

 zabbix_客户端_41

 

 zabbix_服务端_42

 

 3、在服务端验证新建的监控项

zabbix_配置文件_43

 

 zabbix_数据_44

 

 zabbix_配置文件_45

 

 zabbix_客户端_46

 

zabbix_服务端_47

 

 zabbix_数据_48

 

 zabbix_数据库_49

 

 zabbix_配置文件_50

 

 zabbix_配置文件_51

 

 zabbix_数据库_52

 

 zabbix_配置文件_53

 

 

zabbix_数据库_54

 

 

zabbix_数据库_55

 

 zabbix_服务端_56

 

 zabbix_数据库_57

 

 zabbix_服务端_58

  zabbix 自动发现与自动注册

zabbix 自动发现

zabbix 自动发现(对于 agent2 是被动模式)
zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上
缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大

1.确保客户端上的 zabbix-agent2 服务状态正常

zabbix_服务端_59

 

 2.在 Web 页面删除原有的客户端主机

zabbix_数据_60

 

 3.在服务端和客户端上配置 hosts 解析

zabbix_数据_61

 

 4.在 Web 页面配置自动发现

zabbix_客户端_62

 

 zabbix_服务端_63

 

 zabbix_数据库_64

 

5、 可在服务端查看 zabbix 日志

zabbix_数据库_65

 

 zabbix 自动注册(对于 agent2 是主动模式)

zabbix agent2 会主动上报自己的信息,发给 zabbix server。
缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix server。

1、环境准备

zabbix_配置文件_66

 

 

 zabbix_客户端_67

 

 2.修改 zabbix-agent2 配置文件

zabbix_服务端_68

 

 zabbix_服务端_69

 

 3.在 Web 页面配置自动注册

zabbix_数据_70

 

zabbix_数据_71

4、 在服务端查看 zabbix 日志

zabbix_数据_72

 

 zabbix_服务端_73

 

 部署 zabbix 代理服务器

分布式监控的作用:

  • 分担 server 的集中式压力
  • 解决多机房之间的网络延时问题
  • agent --> proxy --> server

 设置 zabbix 的下载源,按照 zabbix-proxy

zabbix_服务端_74

 

 安装 zabbix 所需的数据库

zabbix_数据_75

 

 zabbix_数据库_76

 

 添加数据库用户,以及 zabbix 所需的数据库信息

zabbix_服务端_77

 

 导入数据库信息

zabbix_服务端_78

 修改 zabbix-proxy 配置文件

zabbix_配置文件_79

 

 zabbix_客户端_80

 

 启动 zabbix-proxy

zabbix_客户端_81

 

 在所有主机上配置 hosts 解析

zabbix_配置文件_82

 

 在 Web 页面配置 agent 代理

zabbix_数据_83

 

 zabbix_客户端_84

 

 zabbix_数据_85

 

 zabbix_客户端_86

 

 配置 agent 使用 proxy

1、在客户端修改 agent2 配置文件

zabbix_服务端_87

 

 zabbix_服务端_88

 

 2、在 Web 页面配置

zabbix_配置文件_89

 

 zabbix_数据_90

 

 zabbix_服务端_91

 

 3.分别在客户端和代理服务器上重启服务

zabbix_数据库_92

 

 zabbix_数据_93

 

4、查看

zabbix_数据库_94

 

 zabbix_服务端_95

 

  设置 zabbix-snmp 监控 

SNMP,简单网络管理协议

1.服务端安装 snmp 监控程序

zabbix_数据库_96

 

 2.修改 snmp 的配置文件,并启动服务

zabbix_客户端_97

 

 zabbix_服务端_98

 

 3.使用 snmp 命令测试

zabbix_数据库_99

 

 4.在 Web 页面配置 snmp 方式监控

zabbix_客户端_100

 

 

 zabbix_数据库_101

 

 

zabbix_客户端_102

 

 zabbix_数据_103