zabbix-agent部署
server:192.168.244.141
agent1:192.168.244.128
agent2:192.168.244.129
我们现在来开始部署zabbix-agent
这里我只写出agent1的步骤,agent2的操作同agent1
- 安装zabbix-agent(rpm包与zabbix-server一致)
oot@agent1 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
[root@agent1 ~]# yum install -y zabbix-agent
- 修改agent配置文件
我们需要修改配置文件,添加zabbix-server的IP地址
[root@agent1 ~]# vim /etc/zabbix/zabbix_agentd.conf
###修改成zabbix-server端的ip地址###
Server=192.168.244.141
###修改成zabbix-server端的ip地址###
ServerActive=192.168.244.141
###修改成zabbix-agent端即本机的ip地址,不要用127.0.0.1###
Hostname=192.168.244.128
###修改完配置文件后别忘了开启服务,并设置成自启动
[root@agent1 ~]# systemctl start zabbix-agent.service
[root@agent1 ~]# systemctl enable zabbix-agent.service
- 关闭防火墙和selinux
测试环境可以这么做,方便server与agent通信
[root@agent1 ~]# setenforce 0
[root@agent1 ~]# systemctl stop firewalld
监控
至此,我们的server和两台agent都已经部署完毕了,我们在server端的web监控添加一些监控项来对agent1和agent2来进行监控
我们先将agent1、agent2添加到监控主机中
配置——>主机——>创建主机
添加完监控主机后我们可以添加一下监控项对其进行监控
监控项——>(左上角)创建监控项
添加完后我们可以看到agent1、agent2监控项数量有了新增
别忘了链接至模板,否则获取不到zabbix agent状态,并且图标为灰色,而在zabbix-server端使用zabbix_get可以正常获取到数据。在正常情况下应为绿色或红色
点击添加
我们还可以对监控项添加图形界面
点击名称——>图形——>创建图形
添加完毕后我们在上方菜单栏:监测——>图形——>选择监控主机
就能看到了
自定义监控项
除了server给出的监控项模板,我们还可以自定义监控项,从而实现更加个性化的设置
我们自定义监控项来监控agent1上的磁盘每秒IO数
首先在agent1上查看磁盘sda每秒IO数:tps
我们通过grep和awk工具过滤出我们想要的数据
[root@agent1 ~]# iostat | grep sda | awk '{print $2}'
2.13
然后添加自定义监控项配置文件
[root@agent1 ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_io.conf
#sda_io为自定义监控项名字,逗号后面为得出数据的语句
UserParameter=sda_io,iostat | grep sda | awk '{print $2}'
[root@agent1 ~]# systemctl restart zabbix-agent
我们可以先在server端进行验证,需要安装zabbix-get工具
[root@server ~]# yum install zabbix-get.x86_64 -y
[root@server ~]# zabbix_get -s 192.168.244.128 -k sda_io
1.93
#-s:指定agent ip地址
#-k:指定监控项名字
验证没问题,我们在web页面添加监控项并添加图形界面
添加完图形之后我们观察一下
zabbix-proxy部署
在一些分布式环境中,一台zabbix-server可能要监控许多agent,这会导致zabbix-server压力过大,容易出现资源紧张的情况
zabbix-proxy 可以代替 zabbix-server 收集性能和可用性数据,然后把数据汇报给 zabbix-server,在一定程度上分担了zabbix-server 的压力。
zabbix-proxy使用场景:
- 监控远程区域主机
- 监控本地网络不稳定区域
- 当 zabbix 监控上千设备时,使用它来减轻 server 的压力
- 便于分布式监控的维护
如上图所示,我们在192.168.244.129这台机器上去配置zabbix-proxy,然后代替zabbix-server去监控zabbix-agent1
proxy相关软件安装
下载zabbix-proxy和数据库
[root@proxy1 ~]# yum install zabbix-proxy-mysql -y
[root@proxy1 ~]# yum install mariadb-server -y
数据库初始化配置
[root@proxy1 ~]# systemctl start mariadb
[root@proxy1 ~]# systemctl enable mariadb
[root@proxy1 ~]# mysql -uroot -p
Enter password: #按回车即可
#创建数据库zabbix_proxy,并设置为utf-8编码
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate
utf8_bin;
#创建用户并设置密码
MariaDB [(none)]> create user zabbix_proxy@localhost identified by '123456';
#为用户授权
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to
zabbix_proxy@localhost;
#刷新权限
MariaDB [(none)]> flush privileges;
数据库配置好之后我们导入表
[root@proxy1 ~]# zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix_proxy -p zabbix_proxy
Enter password:
#密码是123456
导入之后我们验证一下
[root@proxy1 ~]# mysql -uzabbix_proxy -p zabbix_proxy
Enter password:
MariaDB [zabbix_proxy]> show tables;
可以看到导入成功了!
proxy配置
我们接下来修改proxy1的配置文件,让它能够与zabbix-server连接起来
先备份配置文件,又因为配置文件里有很多注释和空行,我们可以先使用grep过滤掉
[root@proxy1 ~]# cp /etc/zabbix/zabbix_proxy.conf /etc/zabbix/zabbix_proxy.conf.bak
[root@proxy1 ~]# grep -Ev "^$|#" /etc/zabbix/zabbix_proxy.conf > /etc/zabbix/1.conf
[root@proxy1 ~]# mv /etc/zabbix/1.conf /etc/zabbix/zabbix_proxy.conf
[root@proxy1 ~]# vim /etc/zabbix/zabbix_proxy.conf
#zabbix server服务器的地址或主机名,主动模式只能写一个IP,被动可以写多个IP
Server=192.168.244.141
#代理服务器名称,需要与zabbix server添加代理时候的proxy name是一致
Hostname=192.168.244.129
#允许zabbix server执行远程命令
EnableRemoteCommands=1
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
#数据库服务器地址
DBHost=localhost
#使用的数据库名称
DBName=zabbix_proxy
#连接数据库的用户名称
DBUser=zabbix_proxy
#数据库用户密码
DBPassword=123456
[root@proxy1 ~]# systemctl restart zabbix-proxy
agent端配置
我们先在zabbix-agent1上修改下配置文件
同理,先备份配置文件再去除注释和空行
[root@agent1 ~]# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak
[root@agent1 ~]# grep -Ev "^$|#" /etc/zabbix/zabbix_agentd.conf > /etc/zabbix/1.conf
[root@agent1 ~]# mv /etc/zabbix/1.conf /etc/zabbix/zabbix_agentd.conf
[root@agent1 ~]# vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.244.129
ServerActive=192.168.244.129
Hostname=192.168.244.128
Include=/etc/zabbix/zabbix_agentd.d/*.conf
配置好之后我们在server的web界面进行代理程序添加
点击右上角的“创建代理”
创建完后我们点开proxy配置看一下有没有问题
我们修改下agent1的配置,添加监控代理程序
之后我们看一下,zabbix的可用性变成绿色,则说明成功啦