CentOS7 部署 Zabbix 监控平台
一、Zabbix 简述
1.监控功能
2.Zabbix 工作原理
3.Zabbix 重要组件
4.Zabbix 进程
5.Zabbix 监控架构
二、部署 Zabbix 监控平台
1.安装 Zabbix 监控软件
2.安装 Mariadb 数据库
3.编辑 Zabbix 主配置文件
4.安装 Zabbix Web 接口
5.Zabbix Web 平台基本配置
三、部署被监控端
1.监控路由器
2.添加并监控 Linux 主机
3.添加并监控 Win7 主机
一、Zabbix 简述
Zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级开源解决方案。 Zabbix 官方网站
1.监控功能
- 主机的性能监控、网络设备性能监控、数据库性能监控、多种告警方式、详细的报表图表绘制。
- 监控主机 Zabbix 有专用的 Agent,可以监控 Linux,Windows,FreeBSD 等。
- 监控网络设备 Zabbix 通过 SNMP 协议,SSH(不常用)。
1)监控对象
- 设备:服务器,路由器、交换机。
- 软件:OS,网络,应用程序。
2)主机性能指标监控
- 故障监控:Down 机,服务不可用,主机不可达。
2.Zabbix 工作原理
首先需要在被监控主机上安装 Agent 软件,用来收集各项数据信息,并发送给 Server 端,当 Server 端接收到 Agent 发送过来的信息后,会将数据存储到数据库中,然后通过 Web 界面来将数据在前端进行展示和绘图。
这里 Agent 收集数据分为主动和被动两种模式:
- 主动:Agent 请求 Server 获取主动的监控项列表,并主动将监控项内需要检测的数据提交给 Server/Proxy。
- 被动:Server 向 Agent 请求获取监控项的数据,Agent 返回数据。
3.Zabbix 重要组件
4.Zabbix 进程
默认情况下 Zabbix 包含五个程序:
- Sender:用于发送数据给 Server 或者 Proxy,通常用于耗时比较长的检查;
- Get:Zabbix 命令,主要用于排查使用,可以在 Server 端执行来获取远程客户端信息;
- Proxy:代理守护进程,相当于是一个中转站,将收集到的数据 主动/被动 的提交到 Server 上;
- Agent:客户端守护进程,此进程用于收集被监控端的数据,如:CPU 负载、内存、硬盘使用情况等;
- Server:服务端守护进程,用来接收 Agent Get Sender Server Proxy Java_Gateway 提供的数据信息。
5.Zabbix 监控架构
在实际生产坏境中,Zabbix 根据网络环境、监控规模等外界因素分为三种架构:Server-Client(直接连接)、Master-Node-Client(Node 架构)、Server-Proxy-Client(Proxy 架构),如图:
1)Server-Client 架构
- Server-Client 架构是 Zabbix 最简单的架构,监控端和被监控端之间不经过任何代理;
- 直接在 Zabbix Server 和 Zabbix Agent 间进行数据交互,适用于网络比较简单,设备比较少的监控环境。
2)Master-Node-Client 架构
- Master-Node-Client 架构是 Zabbix 最复杂的架构,适用于跨网络、跨机房、设备较多的大型环境。
- 每个 Node 同样也是一个 Server 端,Node 下面可以接 Proxy,也可以直接 接 Client。
- Node 有自己的配置文件和数据库,其要做的是将配置信息和监控数据向 Master 同步。
- 当 Master 发生故障或损坏, Node 可以保证架构的完整性。
3)Server-Prxoy-Client 架构
- Proxy 是 Server、Client 间沟通的桥梁,Proxy 本身没有前端,而且其本身并不存放数据;
- 只是用来将 Agent 发送过来的数据暂时存放,然后再提交给 Server。
- 该架构经常是和 Master-Node-Client 架构做比较的架构,一般适用于跨机房、跨网络的中型网络架构的监控。
二、部署 Zabbix 监控平台
准备工作:
[root@localhost ~]# wget https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm [root@localhost ~]# rpm -ivh zabbix-release-4.4-1.el7.noarch.rpm [root@localhost ~]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# ls
修改 Zabbix 的 yum 源
[root@localhost yum.repos.d]# vim zabbix.repo 将文件所有的: baseurl=http://repo.zabbix.com/zabbix/4.4/rhel/7/$basearch/ 改为: baseurl=http://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.4/rhel/7/$basearch/
1.安装 Zabbix 监控软件
[root@localhost ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
2.安装 Mariadb 数据库
Zabbix Web 需要数据库。在 Mariadb 中创建 Zabbix 数据库,授权 Zabbix 用户管理,增强安全性。
[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo [root@localhost ~]# yum -y install mariadb-server mariadb
[root@localhost ~]# systemctl start mariadb [root@localhost ~]# mysqladmin -uroot password '123456' [root@localhost ~]# mysql -uroot -p123456 MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123123'; MariaDB [(none)]> exit
导入数据库脚本:
[root@localhost ~]# zcat /usr/share/doc/zabbix-server-mysql-4.4.10/create.sql.gz | mysql -uzabbix -p123123 zabbix
3.编辑 Zabbix 主配置文件
1)指定数据库名称、用户、密码
[root@localhost ~]# systemctl start zabbix-server zabbix-agent httpd [root@localhost ~]# netstat -anpt | grep zabbix
2)启动 Server、Agent、HTTP 服务
[root@localhost ~]# systemctl start zabbix-server zabbix-agent httpd [root@localhost ~]# netstat -anpt | grep zabbix
4.安装 Zabbix Web 接口
1)编辑 Apache 服务针对 Zabbix 的前端配置为 /etc/httpd/conf.d/zabbix.conf 设置时区与当前系统时区一致。
[root@localhost ~]# vim /etc/httpd/conf.d/zabbix.conf 将原来的第19行修改成如下: 19 php_value date.timezone Asia/Shanghai [root@localhost ~]# systemctl restart httpd # 重启 HTTP 服务
2)使用浏览器访问:http://192.168.100.110/zabbix
后两步依次点击 Next step 即可
5.Zabbix Web 平台基本配置
修改初始密码
三、部署被监控端
1.监控路由器
- 使用 SNMP 协议来做监控,需要在路由器上做配置。
1)在被监控路由器上操作
R1#conf t R1(config)#int f0/0 R1(config-if)#ip add 192.168.100.200 255.255.255.0 R1(config-if)#no sh R1(config-if)#exit R1(config)#snmp-server community 123456 ro #设置被服务器轮询的只读共同体 R1(config)#snmp-server host 192.168.100.110 123456 #设置发送 trap 消息的共同体
2)通过 Zabbix Web 管理界面来对路由器进行监控
1.配置 --- 主机群组 --- 创建主机群组 --- 组名:网络设备 --- 添加
2.配置 --- 主机 --- 创建主机
3.添加主机
4.模板 --- 选择 --- Template Module Generic SNMPv1 --- 选择(链接指示器)
5.宏 --- 继承以及主机宏 --- {$SNMP_COMMUNITY} 更改值 public 为123456
6.验证:主机列表中 switch 为绿色
7.查看图形显示,点击 sw1 的图形
进入原来的界面,滑倒最下面,直接点击 那个大的 添加
7.查看数据
2.添加并监控 Linux 主机
- Zabbix-Agent 软件包从这个链接下载:https://pan.baidu.com/s/1UcUsbJ9JVKqoO-1HTBZFPQ
- 提取码:miqw
1)被监控机配置
[root@localhost ~]# rpm -ivh zabbix-agent-3.2.6-1.el7.x86_64.rpm [root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf 根据行号做以下修改: 95 Server=192.168.100.110 136 ServerActive=192.168.100.110 147 Hostname=linux-Client [root@localhost ~]# systemctl start zabbix-agent
2)通过 Zabbix Web 管理界面来对 Linux 主机进行监控
1.上面的 配置 然后 主机,创建主机,左边的群组记得选 所有 ,点击 创建主机
2.点击 模板 界面,链接指示器,选择如下的模板
3.不用配置 宏、配置、图形,因为 Linux 的主机默认已经提供,直接查看即可,如下:
3.添加并监控 Win7 主机
- Zabbix-Agent 软件包从这个链接下载:https://pan.baidu.com/s/1IolJ7HKOxD0YtPVGfiZ0IA
- 提取码:03wn
1)Win7 主机上安装 Zabbix-Agent
- 在 Win7 C盘创建一个名为 zabbix 的文件夹。
- 把相关软件 64 位的客户端程序和 conf 文件复制到 zabbix。
2)修改 Agent 配置文件
修改成如下,这些默认就有找到修改即可: Server=192.168.100.130 ServerActive=192.168.100.130 Hostname=win-c
3)使用 CMD 命令来进行安装
- -c:指定配置文件
- -i:安装
- -s:启用
- -x:停止
- -d:卸载
打开 CMD 命令行
进入zabbix目录: c:\Users\Administrator> cd c:\zabbix 安装agent: c:\zabbix> zabbix_agentd.exe -c zabbix_agentd.win.conf -i 指定agent配置文件并启动: c:\zabbix> zabbix_agentd.exe -c zabbix_agentd.win.conf -s 查看agent服务端口10050是否开放: c:\zabbix> netstat -a
4)通过 Zabbix Web 管理界面来对 Win7 主机进行监控
1.先创建一个群组
2.创建主机
3.选择模块
4.查看和之前的步骤也是一样