1、zabbix监控的整体架构

zabbix由几个主要的软件组件构成
(1)服务器
zabbix服务器是代理程序报告系统可用性,系统完整性和统计数据的核心组件,是所有配置信息,统计信息和操作数据的核心武器。
(2)数据库存储
所有配置信息和zabbix收集到的数据都被存储在数据库中
(3)网络界面
为了从任何地方和任何平台都可以轻松访问zabbix,我们提供基于web的zabbix界面。该界面是zabbix server的一部分,通常跟zabbix server运行在同一台物理机器上。
(4)代理服务器
zabbix proxy可以替zabbix server收集性能和可用数据。proxy代理服务器是zabbix软件可选择部署的一部分,proxy代理服务器可以帮助单台zabbix server分担负载压力
(5)代理监控代理
zabbix代理监控代理部署在监控目标上,能够主动监控本地资源和应用程序,并将收集到的数据报告给zabbix服务器
(6)数据流
了解zabbix内部的数据流同样很重要,监控方面,为了创建一个监控项用于采集数据,必须先创建一个主机。
告警方面,在监控项里创建触发器,因此,如果你想收到server X CPU负载过高的告警,你必须:

  1. 为server x创建一个主机并关联一个用于对CPU进行监控的监控项。
  2. 创建一个Tigger,设置成当cpu负载过高时会触发
  3. 触发被触发,发送告警邮件虽然看起来有很多步骤,但是使用模板的话操作起来其实很简单,zabbix这样的设计使得配置机制非常灵活易用。

zabbix架构:

zabbix 集群模式 zabbix集群架构_linux

2、zabbix的工作流程

  1. agent获取被监控端数据,发送给server。
  2. server记录所接收到的数据,存储在database中并按照策略进行相应操作
  3. web interface将收集到的数据和操作信息显示给用户。

3、搭建实验环境

三台虚拟机

主机名

IP

服务名称

server1

172.25.254.11

zabbix-server,zabbix-web,mariadb-server监控方

server2

172.25.254.12

zabbix-agent(1)被监控方

server3

172.25.254.13

zabbix-agent(2)被监控方

打开三台虚拟机

zabbix 集群模式 zabbix集群架构_linux_02


在真机上共享zabbix的安装包

zabbix 集群模式 zabbix集群架构_linux_03


共享真机上的zabbix安装包

zabbix 集群模式 zabbix集群架构_数据库_04

zabbix 集群模式 zabbix集群架构_linux_05


2、安装zabbix-server服务,zabbix-web服务,数据库服务(这三个是整个zabbix的一套东西)

[root@server1 yum.repos.d]# yum install -y zabbix-web-mysql.noarch 
[root@server1 yum.repos.d]# yum install -y zabbix-server-mysql.x86_64 
[root@server1 ~]# yum install -y mariadb-server.x86_64

(3)安全初始化数据库
对mariadb-server开启服务,设置开机自启动

[root@server1 yum.repos.d]# systemctl start mariadb
[root@server1 yum.repos.d]# systemctl enable --now mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@server1 yum.repos.d]# mysql_secure_installation

设置数据库密码为westos

zabbix 集群模式 zabbix集群架构_数据_06


zabbix 集群模式 zabbix集群架构_zabbix 集群模式_07

zabbix 集群模式 zabbix集群架构_linux_08

(4)登陆数据库,创建zabbix数据库并且授权

create database zabbix character set utf8 collate utf8_bin;  字符 校验字符
grant all privileges on zabbix.* to zabbix@localhost identified by 'westos';

zabbix 集群模式 zabbix集群架构_zabbix 集群模式_09


(5)导入zabbix数据库

导入zabbix数据库并且查看

cd /usr/share/doc/zabbix-server-mysql-4.0.5/
zcat create.sql.gz | mysql -p zabbix     
zcat=gzip + cat 把这个数据库导入zabbix这个数据库中

zabbix 集群模式 zabbix集群架构_linux_10


(6)再次登陆数据库可以看到zabbix数据库里有很多表格和数据

zabbix 集群模式 zabbix集群架构_zabbix 集群模式_11

zabbix 集群模式 zabbix集群架构_mysql_12


(7)编辑zabbix配置文件,修改数据库密码和时区

cd /etc/zabbix/
vim zabbix_server.conf
124 DBPassword=westos   修改密码 124行
systemctl start zabbix-server
systemctl enable zabbix-server
ps ax 如果有与数据库zabbix-server有关的选项  则成功。
或者查看日志,vim /var/log/zabbix/zabbix_server.log
修改后开启服务,并设置开机自启

zabbix 集群模式 zabbix集群架构_zabbix 集群模式_13

cd /etc/httpd/conf.d/
vim zabbix.conf 
修改: 20 行的时区 php_value date.timezone Asia/Shanghai
[root@server1 conf.d]# systemctl start httpd
[root@server1 conf.d]# systemctl enable httpd

zabbix 集群模式 zabbix集群架构_mysql_14


(8)查看zabbix服务的日志

zabbix 集群模式 zabbix集群架构_mysql_15


(9)在真机中打开浏览器,测试

在浏览器界面输入http://172.25.254.11/zabbix,开始在zabbix的web页面进行设置

zabbix 集群模式 zabbix集群架构_linux_16


点击net step,可以看到相关配置都是ok,然后继续点击next step

zabbix 集群模式 zabbix集群架构_mysql_17

输入用户名和密码

zabbix 集群模式 zabbix集群架构_linux_18


名字随便起

zabbix 集群模式 zabbix集群架构_数据_19


zabbix 集群模式 zabbix集群架构_数据库_20


zabbix 集群模式 zabbix集群架构_数据_21


默认用户名,密码时zabbix

zabbix 集群模式 zabbix集群架构_数据_22

zabbix 集群模式 zabbix集群架构_linux_23


设置语言为中文

zabbix 集群模式 zabbix集群架构_linux_24

点击配置->主机,查看server状态

zabbix 集群模式 zabbix集群架构_zabbix 集群模式_25

可以看到zabbix监控的名称是zabbix server是自己,但是还没有安装zabbix-agent,因此安装了之后才会变成绿色,才可以对自己进行监控
可用性ZBX表示对自己的监控还没开启,要监控自己,首先要安装被监控的服务zabbix-agent

4、在server1中安装zabbix-agent客户端,对自己进行监控

yum install zabbix-agent -y
systemctl start zabbix-agent
systemctl enable zabbix-agent
netstat -ntlp   查看端口 agent是10050   server是10051

zabbix 集群模式 zabbix集群架构_linux_26


zabbix 集群模式 zabbix集群架构_zabbix 集群模式_27


可以看到10050端口已经打开

zabbix 集群模式 zabbix集群架构_数据库_28

此时就可以监控自身了

zabbix 集群模式 zabbix集群架构_数据_29