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负载过高的告警,你必须:
- 为server x创建一个主机并关联一个用于对CPU进行监控的监控项。
- 创建一个Tigger,设置成当cpu负载过高时会触发
- 触发被触发,发送告警邮件虽然看起来有很多步骤,但是使用模板的话操作起来其实很简单,zabbix这样的设计使得配置机制非常灵活易用。
zabbix架构:
2、zabbix的工作流程
- agent获取被监控端数据,发送给server。
- server记录所接收到的数据,存储在database中并按照策略进行相应操作
- 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安装包
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
(4)登陆数据库,创建zabbix数据库并且授权
create database zabbix character set utf8 collate utf8_bin; 字符 校验字符
grant all privileges on zabbix.* to zabbix@localhost identified by 'westos';
(5)导入zabbix数据库
导入zabbix数据库并且查看
cd /usr/share/doc/zabbix-server-mysql-4.0.5/
zcat create.sql.gz | mysql -p zabbix
zcat=gzip + cat 把这个数据库导入zabbix这个数据库中
(6)再次登陆数据库可以看到zabbix数据库里有很多表格和数据
(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
修改后开启服务,并设置开机自启
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
(8)查看zabbix服务的日志
(9)在真机中打开浏览器,测试
在浏览器界面输入http://172.25.254.11/zabbix,开始在zabbix的web页面进行设置
点击net step,可以看到相关配置都是ok,然后继续点击next step
输入用户名和密码
名字随便起
默认用户名,密码时zabbix
设置语言为中文
点击配置->主机,查看server状态
可以看到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
可以看到10050端口已经打开
此时就可以监控自身了