Zabbix是一个基于Web界面的企业级运维监控平台,部署Zabbix 5.2.3 前,建议关闭防火墙和SElinux,然后重启服务器。
首先需要新建一个zabbix的用户,连接SSH进入输入以下命令:
安装EPEL源:
安装编译Zabbix需要的各种依赖和组件:
下载Zabbix 5.2.3 源码,Zabbix 5.2.3 源码下载地址:Download and install Zabbix
https://cdn.zabbix.com/zabbix/sources/stable/5.2/zabbix-5.2.3.tar.gz 本地电脑上也下载一份,后面需要上传自带的数据库文件。
https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.36.tar.gz 上面的5.2.3没了
用xshell工具,将源码上传到home下的zabbix文件夹下
下面开始建立zabbix的数据库,进入宝塔面板–》数据库–》phpmyadmin,进入phpmyadmin新建zabbix数据库,注意:数据库字符集一定要是utf8_bin
然后我们前面下载的源码里的/database/mysql目录找到如下三个文件:
按照顺序,选择对应的文件导入到zabbix数据库,然后点击执行。
在宝塔文件管理里面进入/usr/local/etc/目录,编辑zabbix_server.conf这个文件,找到以下
注意去掉DBPassword、DBSocket、DBPort前面的#
编辑完保存。然后找到/usr/local/etc/目录下的zabbix_agentd.conf这个配置文件,我们也编辑它:
Server=127.0.0.1这一项的127.0.0.1改成你自己的服务器IP,本地测试可以用本地电脑的IP地址。
比如:Server=127.0.0.1,192.168.88.246
然后在宝塔面板后台放行端口,zabbix使用10050和10051端口。
放行端口之后我们在SSH里启动zabbix的服务
查看他们的运行状态
下面开始安装zabbix的Web页面,宝塔面板里创建一个网站(不需要数据库),PHP版本选择7.4吧,PHP8.0会 出现报错:Deprecated: Required parameter $type follows optional parameter $level in /include/triggers.inc.php on line 1268
将 /home/zabbix/zabbix-5.2.3/ui 文件复制到你刚建的网站下面,访问你的域名就进入了zabbix的WEB安装过程。这里我用了一个zabbix.xxx.cn二级域名没有进行互联网解析,通过修改本地电脑修改hosts(C:WindowsSystem32driversetc)文件来用,在hosts文件里加下面一行:
访问域名进入了zabbix的WEB安装过程,第一步是检测环境组件是否正常。
其中有个PHP的LDAP扩展不正常,忽视即可,不影响使用。
还有一个报错需要进入软件商店PHP-7.3设置,把max_input_time的值改成300
然后刷新重新访问域名进入安装
下一步、下一步,地址host和端口port不要改,Name填写:zabbix
接下来会有个报错,意思是没有找到配置文件,我们把它提供的文件下载下来,传到网站的/conf/目录里面,打开域名,进入登录界面。
默认账号密码Admin、zabbix
报错 putenv() has been disabled for security reasons 错误,由于putenv()出于安全原因被禁用了。到宝塔面板|软件商店|PHP对应版本的设置中:禁用函数里面,删除putenv。
系统安装后,web界面不能选择使用中文
系统提示:
截图:
2,解决问题:手动安装中文语言包:
安装zh_CN语言包
安装glibc-common实现对语言包的识别:
说明;如果已安装过,需要重新安装,用reinstall
因为需要让它识别已安装的语言包
测试安装是否成功?
如果看到zh_CN语言已安装,表示成功
3,安装完成后,回到web页面,刷新
可以看到中文语言已可以选中
截图:
点击"update"按钮后会自动切换成中文界面
1,看截图:
问题的原因在于zabbix默认的字体文件不支持中文,所以中文字符的显示成了乱码
2,如何解决中文乱码?
查看zabbix的web目录下include/defines.inc.php文件中对于字体的定义:
可以看到zabbix使用了自己定义的字体文件,而没有使用linux的系统字体
路径位于web目录下assets/fonts目录
安装黑体:
说明:我们可以从windows的字体目录下获取黑体的字体文件,
windows下的字体文件位于:
把文件通过sftp上传到linux服务器即可,
然后复制到zabbix的web目录下assets/fonts目录
把黑体的字体文件符号链接为zabbix的默认字体:DejaVuSans.ttf
刷新页面之后,恢复正常
看截图:
重新启用防火墙
zabbix agent 的两种安装方式
(一)zabbix-agent介绍和工作原理
1 介绍
zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系统之上。
zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。
2 工作原理
一个监控系统运行的大概的流程是这样的:
zabbix agent需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agent收集数据分为主动和被动两种模式:
主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
被动:server向agent请求获取监控项的数据,agent返回数据。
(二)zabbix-agent的安装----官网预编包下载安装。
首先登陆到Download Zabbix agents 该网站下面,如下图。
下面看一下自己的linux系统,我使用的是centOS 8 ,所以我下载下面的安装包到我的服务器上。
https://cdn.zabbix.com/zabbix/binaries/stable/5.2/5.2.3/zabbix_agent-5.2.3-linux-3.0-amd64-static.tar.gz将这个zabbix-agent安装包下载下来。下完之后,我们来一步一步的安装吧。
1、创建zabbix用户和组
# groupadd zabbix
# useradd -g zabbix zabbix -s /sbin/nologin 新建zabbix用户并将其加入到zabbix组,并将他设置为不可登录的类型的用户。
#cd /home/zabbix/
# wget https://cdn.zabbix.com/zabbix/binaries/stable/5.2/5.2.3/zabbix_agent-5.2.3-linux-3.0-amd64-static.tar.gz
2、解压zabbix预编译包
# tar -zxvf zabbix_agent-5.2.3-linux-3.0-amd64-static.tar.gz
解压之后,出现下面三个目录:
bin conf sbin
3 、我们进入到bin目下,看到如下命令。
zabbix_sender zabbix_get /
将这两个命令建立软连接到usr/bin目录下面。
ln -s zabbix_sender zabbix_get /usr/bin
4 、接下来我们进入到sbin目录下。ls可以看到这里面有个zabbix_agentd的可执行文件,这个可执行文件是zabbix 的客户端的可执行文件,agent可以用来获取和监控数据环境。同样建立软连接到usr 下面的sbin目录下。
ln -s zabbix_agentd /usr/sbin/
5、接下来我们进入到conf目录下。cd https://blog.csdn.net/yuanzelin8/article/conf
这里面有一个zabbix_agentd.conf,这个就是zabbix-agent的配置文件。我们将它copy到/usr/local/etc目录下面。
cp zabbix_agentd.conf /usr/local/etc/
6 、进入到zabbix_agentd.conf进行修改
# vim /usr/local/etc/zabbix_agentd.conf
zabbix_agentd.conf修改如下:
LogFile=/tmp/zabbix_agentd.log #默认 如果不是要创建对应文件夹 /var/log/zabbix/
Server=192.168.88.246#地址主动模式,填写Server的IP
ServerActive=192.168.88.246 #修改为Server的IP地址
Hostname=Zabbix server #重要:客户端的hostname,不配置则使用主机名
保存退出。
7 创建/var/log/zabbix/并给予权限。(使用默认LogFile时不用创建)
mkdir /var/log/zabbix/
chown zabbix:zabbix /var/log/zabbix/
chmod 777 /var/log/zabbix/
touch /var/log/zabbix/zabbix_agentd.log
chmod 777 /var/log/zabbix/zabbix_agentd.log
8 、在客户端上添加zabbix的监控端口
vim /etc/services
添加如下内容(已有不用修改)
zabbix-agent 10050/tcp
zabbix-agent 10050/udp
保存退出!
9 、拷贝启动脚本
cp /home/zabbix/sbin/zabbix_agentd /etc/init.d/
拷贝启动脚本到/etc/init.d下
#chmod a+x /etc/init.d/zabbix_agentd
为/etc/init.d下的启动添加可执行权限
10、启动zabbix客户端
/etc/init.d/zabbix_agentd
11 、查看进程,确实zabbix客户端是否启动
ps -ef | grep zabbix
现在zabbix的服务并没有起来,报没有权限的错误,
12 、建立zabbix_agentd.pid并赋予权限
]# touch /tmp/zabbix_agentd.pid
chmod 777 /tmp/zabbix_agentd.pid
13 、关闭防火墙
service iptables stop
查看selinux:getenforce 状态是开启,
将它临时关闭:setenforce 0
14 、在启动一下
/etc/init.d/zabbix_agentd
输入ps -ef | grep zabbix 可以看到启动成功了。
现在安装成功了!
(三)zabbix-agent安装----yum的安装方式 这选的是这种安装方式
1.应用场景:
Zabbix监控系统提供两种监控Linux主机的方法,一种是启用主机上的SNMP协议,另一种是在主机上安装Zabbix Agent服务,本篇介绍Linux系统下Zabbix Agent的安装与使用。
2.添加Repository:
本文使用yum方式安装Zabbix Agent,在安装前首先添加对应的yum repository,以下列出了CentOS/RHEL版本的添加地址:
CentOS/RHEL 8:
# rpm -Uvh http://repo.zabbix.com/zabbix/5.2/rhel/8/x86_64/zabbix-release-5.2-1.el8.noarch.rpm
CentOS/RHEL 7:
# rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
CentOS/RHEL 6:
# rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
CentOS/RHEL 5:
# rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/5/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
其实这个rpm包是可以在官网上找到的。在该网址下:Download and install Zabbix
3.安装Zabbix Agent
yum install zabbix-agent
4.编辑Zabbix Agent 配置文件
vim /etc/zabbix/zabbix_agentd.conf
Server=[zabbix server ip]
ServerActive=[zabbix server ip]
Hostname=[ Hostname of client system ]
5.重启Zabbix Agent
#service zabbix-agent restart
#/bin/systemctl restart zabbix-agent.service
6.添加开机启动
#chkconfig zabbix-agent on
#systemctl enable zabbix-agent.service
登录数据库强行修改超级账户密码
mysql -uzabbix -p
mysql> use zabbix; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> update users set passwd='5fce1b3e34b520afeffb37ce08c7cd66' where userid='1';
zabbix 默认用户名Admin,默认密码zabbix
解释:5fce1b3e34b520afeffb37ce08c7cd66 = zabbix