一、系统环境准备
1.1 修改主机名
vi /etc/hostname #进入配置文件里修改
hostnamectl set-hostname zabbix #使用hostnamectl命令修改
reboot #主机名修改后要重启系统后才会显示
查看主机名称
[root@zabbix ~]# hostname
zabbix
1.2修改IP地址信息
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改如下信息:
BOOTPROTO=static
ONBOOT=yes
IPADDR=X.X.X.X
NETMASK=255.255.255.0或PREFIX=24
GATEWAY=X.X.X.X
DNS1=X.X.X.X
DNS2=Y.Y.Y.Y
1.3重启网络服务
systmectl restart network
1.4 关闭防火墙(可以选择开放对应的端口,默认为tcp/udp 10050、10051)
systemctl stop firewalld #临时停止防火墙
systemctl disable firewalld #永久关闭防火墙
1.4.1在firewalld中放开zabbix服务及端口
[root@zabbix ~]# firewall-cmd --get-default-zone
public
[root@zabbix ~]# firewall-cmd --get-zone-of-interface=ens33
public
[root@zabbix ~]# firewall-cmd --get-active-zones
public
interfaces: ens33
[root@zabbix ~]# firewall-cmd --zone=public --add-service=zabbix-server --permanent
success
[root@zabbix ~]# firewall-cmd --zone=public --add-service=zabbix-agent --permanent
success
[root@zabbix ~]# firewall-cmd --zone=public --remove-service=zabbix-server
success
[root@zabbix ~]# firewall-cmd --zone=public --remove-service=zabbix-agent
success
[root@zabbix ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
[root@zabbix ~]# firewall-cmd --zone=public --add-port=10050/tcp --permanent
success
[root@zabbix ~]# firewall-cmd --zone=public --add-port=10051/tcp --permanent
success
[root@zabbix ~]# firewall-cmd --reload
success
1.4.2查看firewalld开放端口
[root@zabbix ~]# firewall-cmd --list-ports
80/tcp 10050/tcp 10051/tcp
1.4.3 netstat –ntulp查看所有已开启的端口
1.5 关闭SELinux
临时关闭
setenforce 0 #切换SELinux模式为Permissive
#setenforce 1 #切换SELinux模式为enforce
永久关闭SELINUX=disable
[root@zabbix ~]# vi /etc/selinux/config
SELINUX=disable
二、安装并配置Zabbix
2.1下载zabbix安装源并安装,使用官方zabbix源
rpm -Uvh
https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
2.2 清理yum缓存
[root@zabbix ~]# yum clean all
2.3 查看yum源文件列表
[root@zabbix ~]# yum repolist
2.4 查看zabbix安装
[root@zabbix ~]# rpm –ql zabbix #查看zabbix安装文件路径
[root@zabbix ~]# rpm –qa | grep zabbix #查询系统中已安装的zabbix rpm包
2.5 安装自动补全 bash-completion net-tools tree
[root@zabbix ~]# yum install bash-completion tree net-tools tree
2.6 安装zabbix服务端组件zabbix server和zabbix-agent
[root@zabbix ~]# yum –y install zabbix-server-mysql zabbix-agent
2.7 安装zabbix前端组件
[root@zabbix ~]# yum install centos-release-scl
2.8 编辑/etc/yum.repos.d/zabbix.repo
[root@zabbix ~]# vi /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
enabled=0改为enabled=1
2.9 安装 Zabbix前端软件
[root@zabbix ~]#yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
问题:安装yum install zabbix-web-mysql-scl zabbix-apache-conf-scl时报错
解决:编辑仓库配置文件,vi /etc/yum.repos.d/zabbix.repo,将zabbix-frontend中的enabled=1
三、 mariadb数据库的安装和配置
3.1 安装数据库
[root@zabbix ~]# yum -y install mariadb mariadb-server
3.2 启动数据库
[root@zabbix ~]# systemctl restart mariadb
[root@zabbix ~]# systemctl enable mariadb
[root@zabbix ~]# systmctl status mariadb
3.3 初始化数据库
[root@zabbix ~]# mysql_secure_installation #设置数据库管理员root密码为zabbix@123
3.4 执行mysql
[root@zabbix ~]# mysql -uroot -p
3.5 在mysql中创建zabbix数据库(DB:zabbix,USER:zabbix,PWD:zabbix)
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> create user zabbix@localhost identified by 'zabbix'; #设置密码为zabbix
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix. * to zabbix@localhost;
Query OK, 0 rows affected (0.00 sec)
3.6 完成后quit退出
MariaDB [(none)]> quit
Bye
3.7 导入数据库
[root@localhost ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
需要数据库用户密码验证:zabbix
3.8配置数据库
/etc/zabbix/zabbix_server.conf,将注释符去掉,修改DBPasswd=zabbix。
3.9配置前端PHP
/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf,修改时区为Asia/Shanghai
3.10启动zabbix服务
[root@zabbix ~]#systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
[root@zabbix ~]#systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
四、zabbix登录配置
通过web页面登录zabbix,
http://192.168.147.148/zabbix/setup.php
Next step
注:这里配置zabbix数据库的密码要正确,否则连接不上mysql
Next step
Next step
zabbix默认管理帐户Admin,登录密码zabbix
五、Linux客户端安装agent代理
5.1安装zabbix-agent客户端
[root@localhost ~]# yum install zabbix-agent -y
5.2编辑修改zabbix-server的IP
小技巧:
(1)进入vim编辑模式后,在命令模式(按ESC从编辑模式返回命令模式)下输入“/”,然后输入Server或ListenPort即可定位到相关字段位置。
(2)输入:set nu,即可以显示行号
[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.147.148 #zabbix服务端IP,系统默认采用被动监听模式
ListenPort=10050 #(agent端口)
ServerActive=192.168.147.148 #配置此项表示启用主动监听模式,agent端主动向zabbix发放所需数据。要启用主动模式把Server项注释掉即可。
Hostname=samba #客户端的主机名称,与hostname名称要一致。
Hostname=Zabbix Server #这一行要保留
注:
主动模式:由Agent主动建立TCP链接并向Server端发送请求。因为是Agent主动发起的TCP连接,所以Agent所在机器本身无需再启动监听Agent端口。
被动模式:由Server建立TCP链接并向Agent端发送请求。Agent需启动监听端口,等待Server连接。
5.3重启zabbix-agent
systemctl restart zabbix-agent
systemctl enable zabbix-agent
5.4查看Linux客户端agent端口10050是否开启
5.5问题记录:安装zabbix-agent客户端时,提示“No package zabbix-agent available”
解决方法:由于系统中没有zabbix-agent安装包,需要从外网进行下载。
通过rpm –qa | grep zabbix查询agent是否安装,如下图表示已安装成功。
问题记录:在Zabbix服务端使用zabbix_get命令查找不到主机
解决方法:(1)检查192.168.147.149是否安装了zabbix-agent客户端;(2)查zabbix-agent服务的状态是否为Active;(3端口是否已放开;(4开启了firewalld,需要放开10050和10051端口。
检查过程:从服务端使用 nc命令测试192.168.147.149的端口连通性,显示No route to host
在192.168.147.149主机防火墙中放行10050和10051端口
再次测试,连接成功。
现在再使用zabbix_get命令测试能不能获取到192.168.147.149的hostname
问题记录: Zabbix-agent服务启动失败
查看zabbix-agent服务启动状态,显示status=1/FAILURE
解决方法: (1)将zabbix-agent服务停止,然后重新启动。没有效果(2)重启FTP服务器
问题记录:主机没有监控数据。ZBX显示灰色。
解决方法:经过确认是客户端没有关闭SELinux导致。
六、Zabbix服务端安装zabbix-get组件
[root@zabbix ~]# yum -y install zabbix-get
测试是否能连通客户端
[root@zabbix ~]# zabbix_get -s '192.168.147.147' -p 10050 -k 'system.hostname'
samba
七、WEB页面添加被监控主机
主机名称=hostname
继续添加FTP服务器
点更新
现在还是显示灰色
稍等几分钟,可以看到监控项了。ZBX图标变绿了表示zabbix-agent客户端已与服务器连接上。
Windows7安装agent
到官网上下载安装包
选择Windows对应的版本下载,这里选择下载OpenSSL封装的MSI格式程序包
点击安装Zabbix Agent
在C:\Program Files\Zabbix Agent中,用写字板打开zabbix-agentd.conf文件,编辑如下内容:
Server=192.168.147.148 #被动监听模式(系统默认为被动模式)
ServerActive=192.168.147.148 #主动监听模式设置
#ListenPort=10050 #这项可改可不改。
Hostname=ENSP #要与被监控主机的计算机名称一样。
关闭防火墙或者允许放行10050端口,这里选择关闭防火墙做测试
检查服务是否启动
服务端添加主机
选择模板
最后确认
查看Windows7客户端的10050端口监听状态,在被动监听模式下, 客户端的10050端口一直处于监听状态,等待服务端TCP连接并发送数据请求。
Windows Server 2012安装Zabbix-agent
下载地址:
https://www.zabbix.com/cn/download_agents?version=5.4&release=5.4.9&os=Windows&os_version=Any&hardware=amd64&encryption=No+encryption&packaging=Archive&show_legacy=0
手动安装Zabbix-agent
将下载的zabbix_agent-5.4.9-windows-amd64.zip解压并保存到C盘并改名为zabbix_agent。
进入conf文件夹,编辑zabbix_agentd.conf文件
修改以下三个配置项:
Server=192.168.147.148 #被动监听模式(系统默认为被动模式)
ServerActive=192.168.147.148 #主动监听模式设置
#ListenPort=10050 #这项可改可不改。
Hostname=ENSP #要与被监控主机的计算机名称一样。
以管理员身份打开cmd窗口,执行以下命令安装。
c:\zabbix_agent\bin\zabbix_agentd.exe –i –c c:\zabbix_agent\conf\zabbix_agentd.conf
执行以下命令启动zabbix_agentd客户端
c:\zabbix_agent\bin\zabbix_agentd.exe –c c:\zabbix_agent\conf\zabbix_agentd.conf -s
在运行里输入services.msc,查看zabbix_agentd服务是否已启动
在服务端添加Windows Server 2012主机
点Create host创建主机
这里Groups主机组也要选。
选择系统默认的模板
模板选好后,最后点击Add即可完成主机的添加。
查看添加的主机
检查防火墙设置并允许10050端口(如果防火墙关闭的话,此步骤忽略)
再次检查WinServer2012主机是否上线,结果显示还有错误,提示“Get value from agent failed: ZBX_TCP_READ() failed: [104] Connection reset by peer”
解决方法:将Zabbix_agentd服务重新启动就可以了
netstat –an |findstr “10050”查看端口监听状态
查看WinServer2012的图形监控
八、Zabbix日常维护和管理
图形显示乱码
解决方法:
yum install -y wqy-microhei-fonts
cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
再刷新网页
修改Language为中文
查看全局面板/Global view
zabbix触发器
警报信息
故障排查:
检查Samba服务器zabbix agentd服务是否正常启动,10050端口是否已开放
检查Firewalld-cmd发现防火墙端口列表中没有放开10050
将10050在Firewalld中放行
[root@samba jobm]# firewall-cmd --permanent --add-port=10050/tcp --zone=public
[root@samba jobm]# firewall-cmd –reload
然后一会ZBX就显示连接上了。
Win7客户端无法连接,提示“Connection reset by peer”
故障排查:
将win7客户端进行重启(或者将Zabbix Agentd后台服务重启)
VSFTP服务器报警
原因是:VSFTP配置了与NTP服务器作了时钟同步,而Zabbix服务器还没有与NTP服务器作同步,所以会报时钟故障。