一、实验环境(rhel7.6版本)
1.selinux和firewalld状态为disabled
2.各主机信息如下:
主机 | ip |
---|---|
server2(zabbix-agent) | 172.25.254.2 |
server3(zabbix-agent) | 172.25254.3 |
server1(zabbix-server zabbix-agent ) | 172.25.254.1 |
二、zabbix-server的部署
1.安装zabbix
下载zabbix软件包及其对应依赖性对应的包,并进行安装
配置yum仓库
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/
enabled=1
gpgcheck=0
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/x86_64/
enabled=1
gpgcheck=0
-
2.配置zabbix-database
安装数据库,登陆数据库,并对数据库进行配置:
[root@server1 4.0]# mysql -uroot -predhat
#创建zabbix数据库,因为之后要在web界面进行操作,为了防止乱码,这里创建的数据库要求格式为utf-8
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
#创建zabbix用户,并对其进行授权
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123;
Query OK, 0 rows affected (0.00 sec)
3.导入数据库
<1>先找到数据库要导入的位置:
[root@server4 4.4]# find / -name create.sql.gz
/usr/share/doc/zabbix-server-mysql-4.4.1/create.sql.gz
<2>导入数据库
[root@server4 4.4]# zcat /usr/share/doc/zabbix-server-mysql-4.0/create.sql.gz | mysql -uzabbix -p zabbix
Enter password: #这里的密码是zabbix用户的密码,输入之后,等待,不要ctrl+c
这里的第一个zabbix是用户,第二个zabbix是要创建数据库的名字
登陆数据库查看:
[root@server4 4.4]# mysql -uroot -predhat
MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> show tables;
可以看到zabbix数据库中共有149张表
4.编辑zabbix配置文件
编辑zabbix配置文件,并启动zabbix-server与zabbix-agent服务
<1>先找到zabbix-server配置文件所在的位置
[root@server1 4.0]# rpm -ql zabbix-web | head
<2>编辑zabbix-server的配置文件(编辑vim /etc/zabbix/zabbix_server.conf)
[root@server1 4.0]# vim /etc/zabbix/zabbix_server.conf
124 DBPassword=123 #zabbix用户的密码
<3>启动zabbix-server和zabbix-agent服务
[root@server1 4.0]# systemctl start zabbix-server
[root@server1 ~]# netstat -antlp | grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 85088/zabbix_agentd
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 85111/zabbix_server
tcp6 0 0 :::10050 :::* LISTEN 85088/zabbix_agentd
tcp6 0 0 :::10051 :::* LISTEN 85111/zabbix_server
5.编辑zabbix-web配置文件
[root@server4 4.4]# vim /etc/httpd/conf.d/zabbix.conf
20 php_value date.timezone Asia/Shanghai
#更改时区
[root@server4 4.4]# systemctl start httpd #打开web服务器
登录用户名为Admin 密码 zabbix
本机信息(server1)
四、配置手动添加zabbix agent
在server2:
1.安装zabbix-agent
下载zabbix-agent对应软件包:zabbix-agent-4.0.5-1.el7.x86_64.rpm,并进行安装
2.在网页端手动创建主机
可以看出此时server2并没有监控模板(即监控的策略),接下来就为server2添加模板:
点击server2
手动添加成功
3.配置zabbix-agent
(1)编辑zabbix-agent的配置文件
[root@server2 4.0]# vim /etc/zabbix/zabbix_agentd.conf
98 Server=172.25254.1 #被动模式,表示哪些主机可以到本机取数据
139 ServerActive=172.25254.1 #主动模式的server IP地址(客户端主动发送数据给服务端)
150 Hostname=server2 #客户端的hostname(在web界面上显示的名字)
#在这里,139行可写,可不写。因为现在配置的是被动模式(服务端来找客户端要数据)。要想开启主动模式,还要结合StartAgents这一行(#StartAgents=3 #客户端agent模式,设置为0表示禁止被动模式)
之后在网页端刷新网页:
发现server2已经显示可用,表示zabbix-agent配置成功
五、配置自动发现zabbix agent
1.zabbix监控配置自动发现
自动发现规则主要针对企业批量添加主机,如果使用传统方法去单个添加设备、分组、项目、图像…,这是一个任务量巨大的工程,由此引入自动发现规则。
自动发现规则由服务端主动发起,Zabbix Server开启发现进程,定时扫描局域网中的IP、服务器、设备,实现自动发现主机,自动将主机添加到主机组、自动加在模板、自动创建项目、自动创建图像等功能
2.实验准备
首先需要将上个实验中手动添加的zabbix agent(server2)删除掉:
3.配置自动发现动作
4.配置自动发现规则
5.自动发现主机
配置完规则后等待几十秒刷新页面即可发现zabbix agent (server2):
从图上可以看出此时主机server2并不可用,等待一会再刷新页面就好了,如果不想等待,也可以在server2重启 zabbix agent服务,之后刷新页面就可以看到server就可以使用了:
六、配置zabbix agent 自动注册
1.zabbix 自动注册
Zabbix的自动注册规则主要用于Agent主动且自动向Server注册,适用于当前云环境下的监控。
Zabbix-Server在收到Zabbix-Agent的注册请求时,如果没有收到IP地址的值,则使用Zabbix-Agent和Zabbix-Server建立TCP连接时的IP地址。
2.配置zabbix agent
再增加一台zabbix agent主机:server3
安装zabbix agent:
[root@server3 4.0]# rpm -ivh zabbix-agent-4.4.1-1.el7.x86_64.rpm
编辑配置文件并启动服务:
[root@server3 4.0]# vim /etc/zabbix/zabbix_agentd.conf
98 Server=172.25254.1 #被动模式,表示哪些主机可以到本机取数据
139 ServerActive=172.25254.1 #主动模式的server IP地址(客户端主动发送数据给服务端)
150 Hostname=server2 #客户端的hostname(在web界面上显示的名字)
#在这里,139行可写,可不写。因为现在配置的是被动模式(服务端来找客户端要数据)。要想开启主动模式,还要结合StartAgents这一行(#StartAgents=3 #客户端agent模式,设置为0表示禁止被动模式)
3.实验准备
由于上个实验配置过自动发现规则,因此server3已经被自动发现,需要关闭自动发现规则并且删除server3:
4.添加自动注册规则
创建动作:
编辑动作:
编辑操作:
添加第一个操作:
之后再添加两个操作:
最后选择添加则自动注册规则以成功添加:
5.查看主机
等待一会后刷新页面查看主机:
可以发现server3已经成功添加,但是并不可用,再等待一会再刷新就发现已经可用:
表示server3自动注册成功。