Zabbix 企业级分布式监控
本章资源请访问:
https://download.csdn.net/download/weixin_54373617/18929511
技能目标:
- 了解 Zabbix
- 会安装 Zabbix Server
- 会安装 Zabbix Agent
- 会安装 Zabbix Proxy
- 会配置 Zabbix
初识 Zabbix
Zabbix 是一个基于 Web 界面的提供分布式系统监控,以及网络监控功能的企业级开源解决方案。Zabbix 是一个高度集成的网络监控套件,通过一个软件包即可提供如下特性。
- 数据收集
(1) 可用性及性能检测;
(2) 支持 SNMP(trapping 及 polling)、IPMI、JMX 监控;
(3) 自定义检测;
(4) 自定义间隔收集收据;
(5) 三种角色:Server、Proxy、Agent。
- 灵活的阈值定义
允许灵活地自定义问题阀值,在 Zabbix 中称为触发器(trigger), 存储在后端数据库中。
- 高级告警配置
(1) 可以自定义告警升级(escalation)、接收者及告警方式;
(2) 告警信息可以配置,并允许使用宏(macro)变量;
(3) 通过远程命令实行自动化动作(action)。
- 实时绘图
通过内置的绘图方法实现监控数据实时绘图。
- 扩展的图形化显示
(1) 允许自定义创建多监控项视图;
(2) 生成网络拓扑(network maps);
(3) 自定义的面板(screen)和 slide shows,并允许在 dashboard 页面显示;
(4) 生成监控报告。
- 历史数据存储
(1) 数据存储在数据库中;
(2) 历史数据可配置;
(3) 内置数据清理机制。
- 配置简单
(1) 一次配置,终生监控,除非调整或删除;
(2) 允许使用模板添加监控设备。
- 模板使用
(1) 模板中可以添加组监控;
(2) 模板允许继承。
- 网络自动发现
(1) 自动发现网络设备;
(2) Agent 自动注册;
(3) 自动发现文件系统、网卡设备、SNMP OID 等。
- 快速的 Web 接口
(1) Web 前端采用 PHP 编写;
(2) 访问无障碍。
- Zabbix API
Zabbix API 提供程序级别的访问接口,第三方程序可以很快接入。
- 权限系统
(1) 安全的权限认证;
(2) 用户可以限制允许维护的列表。
- 全特性、Agent 易扩展
(1) 在监控目标上部署;
(2) 支持 Linux 及 Windows。
- 二进制守护进程
(1) C 语言开发,高性能,低内存消耗;
(2) 易移植。
- 具备应对复杂环境情况
通过 Zabbix Proxy 可以非常容易的创建远程监控。
本章节将主要介绍如何安装 Zabbix Server、Zabbix Agent、Zabbix Proxy 以及如何利用Zabbix 实现灵活便捷的监控功能。
Zabbix 角色及架构
1. Zabbix Server
zabbix_server 是 Zabbix 服务端守护进程。Zabbix Agentd、Zabbix Proxy 的数据最终都是提交到 Server。
当然,并不是所有数据都主动提交给 Zabbix Server,也有的是 Server 主动获取数据。
2. Zabbix Agent
zabbix_agentd 是客户端守护进程,此进程主要用于收集客户端数据,例如 CPU 负载、内存、硬盘使用情况等。
3. Zabbix Proxy
zabbix_proxy 是 Zabbix 代理守护进程,功能类似 Server。不同的是,zabbix_proxy
只是一个中转站,它需要把收集到的数据提交/被提交到 Server。
Zabbix 整体架构
Zabbix 部署实施
实验环境介绍
主机 | 系统和版本 | 配置 | IP | 组件 |
---|---|---|---|---|
server | CentOS7.9 | 1C/2G | 192.168.10.101 | Zabbix Server、MySQL |
porxy | CentOS7.9 | 1C/2G | 192.168.10.102 | Zabbix Porxy、MySQL |
agent1 | CentOS7.9 | 1C/1G | 192.168.10.103 | Zabbix agent |
agent2 | CentOS7.9 | 1C/1G | 192.168.10.104 | Zabbix agent |
建议:至少 3 台主机,其中 Server 可与数据库同机,另外两台分别安装 Agent、Proxy。
实验步骤
准备实验环境
首先要进行环境初始化,然后进行 YUM 源安装,再安装 MySQL 数据库。
1. 环境初始化
所有节点操作
- 推荐安装 CentOS 7.3 及以上版本的 Linux 操作系统中;
- 机器之间内网互通,防火墙如 Firewalld 等请在部署时关闭;
- 关闭 SELinux;
- 安装时间同步服务器
修改主机名
192.168.10.101主机
hostnamectl set-hostname server
su
192.168.10.102主机
hostnamectl set-hostname proxy
su
192.168.10.103主机
hostnamectl set-hostname agent1
su
192.168.10.104主机
hostnamectl set-hostname agent2
su
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
关闭 SELinux
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
配置时间同步服务器
yum install chrony -y
systemctl enable chronyd
systemctl start chronyd
chronyc sources
2. YUM 源安装
所有节点操作
rpm -Uvh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
3. 安装数据库
这里server的数据库和proxy的数据库没有部署在一台主机上,如果想部署在一台主机上的话就直接在一台主机上创建连个库就可以了
server节点操作
yum install -y mariadb-server
systemctl start mariadb
systemctl enable mariadb
mysql #初始密码为空
MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
#创建 zabbix 库,并指定字符集为utf8
MariaDB [(none)]> USE mysql;
#切换进myql库
MariaDB [mysql]> UPDATE mysql.user SET password = PASSWORD(</