zabbix4.0-centos6 报错坑,是因为有3.0的包

 
 

之前有介绍过zabbix源码的方式去安装(参见:https://www.jianshu.com/p/2a03d5e9f014),最近又需要安装zabbix的时候上官网看了一下,发现zabbix最新版本是4.0,而且支持yum的方式安装了,所以在此记录一下整个过程,望对自己以后甚至读者都有帮助

二、zabbix简介

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能。zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息收集。zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据。
三个关键(界面、服务器和数据库)可以安装在同一台服务器上,但是如果你拥有一个更大更复杂的环境,将它们安装在不同的主机上也是一个选项。Zabbix服务器能够直接监控到同一网络中的设备,如果其他网络的设备也需要被监控,那还需要一台Zabbix代理服务器。

三、依赖环境搭建

1、操作环境(或将要准备的)

server 端及 agent 端
操作系统:CentOS 7
数据库:MySQL 5.7
PHP:7.2
Apache:2.4.6

server 端
IP:192.168.106.203
agent 端
IP:192.168.106.204

2、环境搭建

① MySQL搭建配置

略,参考:https://www.jianshu.com/p/345caa47d1e6

注: 在使用yum的方式搭建zabbix的时候发现一点,就是在下载安装的时候会自动将PHP的环境也安装了,所以相对于之前源码安装的方式来说节省了不少,但是有一点要注意的,就是在CentOS 7操作系统中,与PHP安装相关的一些依赖包比如libgmp.so.3()(64bit)这种,是缺少的,还是要手动去添加,Apache的安装以及fping的安装没留意到在yum的时候有没有连带一起安装,所以这里也顺便将这些一起记下。

② Apache安装
# yum install -y httpd

开启服务

# systemctl start httpd
③fping安装

下载安装包

 

解压安装包
 

进入解压后的文件夹,并执行./configure
 

执行make && make install
④ 安装PHP相关的依赖包
# yum install gcc-c++ libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

顺便也记下单独安装PHP的方式(这里读者可忽略):

# rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# yum search php71   //查看有哪些php最新版的安装包文件
# yum install mod_php71w php71w-mysqlnd php71w-cli php71w-fpm

OK回归正文!!!!

⑤安装zabbix server (在server端操作)

进入官网:https://www.zabbix.com/download 

 

选择对应的环境
 

然后下面会出现对应环境相关的yum源及安装方式,这里将详细记录一下
首先配置yum源
# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

然后清一下yum缓存

# yum clean all

开始安装zabbix server
官网上是连同agent一起安装的,但我们agent需要安装在被监控的机子上,所以我们不需要安装在本机

# yum -y install zabbix-server-mysql zabbix-web-mysql

安装完成后进入到数据库(数据库需要提前安装好)

# mysql -uroot -ppassword
mysql> create database zabbix character set utf8 collate utf8_bin;#创建zabbix数据库
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';#创建zabbix用户
mysql> quit;#退出数据库

将zabbix相关的数据库导入到mysql中

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pyourzabbixuserpwd zabbix

打开zabbix server的配置文件并修改其中的数据库连接密码

# vim /etc/zabbix/zabbix_server.conf

将文件中的DBPassword注释打开并做修改

DBPassword=yourzabbixuserpwd

修改Apache中zabbix的时区信息

vim /etc/httpd/conf.d/zabbix.conf

将时区配置项打开并作修改

php_value date.timezone Asia/Shanghai

这个文件主要关注的配置主要有以下几项(web端安装的时候会检查):

php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value max_input_vars 10000
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai

重启zabbix server服务和Apache

# systemctl restart zabbix-server httpd

注:这里配置会有个坑,如果PHP环境是独立安装的,即自己在配置zabbix之前安装的,那么修改zabbix.conf中的php参数会无效,这时候需要修改php的php.ini文件中的那几项,然后用systemctl restart php-fpm重启PHP服务

⑥ 安装zabbix web端

打开网址:http://192.168.106.203/zabbix
网址格式是:http://server_ip_or_name/zabbix
这里用的是旧图,配置的东西基本没变,安装的时候忘记截图了........... 

 

检查环境,左边一列为当前你的配置,右边为需要的配置

 

配置数据库所在的位置信息

 

起个名字(可以随便起)
 

确认信息
 

进入登录界面
 

默认用户名是Admin,密码是zabbix

至此,server端与web端都安装配置完毕

⑦ 安装zabbix agent端

agent端的安装方式与server端一致
进入官网:https://www.zabbix.com/download 

 

选择对应的环境
 

首先配置yum源
# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

然后清一下yum缓存

# yum clean all

开始安装zabbix agent

# yum -y install zabbix-agent 

安装完毕之后需要修改一下默认的配置文件中的配置

# vim /etc/zabbix/zabbix_agentd.conf

主要需要修改的有一下几项:

PidFile=/var/run/zabbix/zabbix_agentd.pid #按照所需配置pid文件路径
LogFile=/var/log/zabbix/zabbix_agentd.log #按照所需配置日志文件路径
EnableRemoteCommands=0 #去除此项的注释
Server=192.168.15.203 #修改为zabbix server所在的服务器IP
ListenPort=10050 #监听的端口,去掉注释,保持默认值
ServerActive=192.168.15.203:10051 #修改为zabbix server所在的服务器IP

之后开启zabbix agent服务

# systemctl start zabbix-agent
⑧ 配置web端

1、模板的配置以及界面主机配置

 

 

 

 

 

 

 

 

下图中,点击顺序是:点击模板->选择模板->在弹出框中选择模板(双击或者选中选择框点最下面的确定按钮)->点击模板示例中的添加->最后点击蓝色按钮的添加
 

在主机界面中看到ZBX为绿色则为监控成功,如果为红色则需要查看提示看看报错是什么
 
关于在安装过程中遇到的问题整理:
问题1:

在安装zabbix-server或者zabbix-agent时,使用命令yum install zabbix-server后出现以下错误:

--> Finished Dependency Resolution
Error: Package: zabbix-agent-4.0.5-1.el7.x86_64 (zabbix)
           Requires: libpcre.so.1()(64bit)
Error: Package: zabbix-agent-4.0.5-1.el7.x86_64 (zabbix)
           Requires: libc.so.6(GLIBC_2.17)(64bit)
Error: Package: zabbix-agent-4.0.5-1.el7.x86_64 (zabbix)
           Requires: systemd
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

原因:

下载的zabbix安装包版本可能跟所需安装zabbix的操作版本不匹配

解决方案:

检查确认服务器操作系统的版本

使用rpm -qa | grep zabbix 查看已安装的版本,并用rpm -e --nodeps zabbix*来删除已安装的rpm包
从官网上找到相对应的RPM 包,并重新开始安装server的rpm包(或agent的rpm包)
使用yum clean all清楚yum的缓存,再重新yum命令安装

问题3:

在启动zabbix服务的时候出现或在使用systemctl status zabbix*命令查看zabbix服务状态的时候出现一下错误

 

原因:
防火墙或者selinux没关,需要将其关闭
解决方案: 
1、关闭防火墙:
Centos7版本:systemctl stop firewalld
Centos6版本:server iptables stop
2、关闭selinux
setenforce 0
并将selinux设为永久关闭
打开selinux配置文件:vim /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
问题4:

在web端提示server没启动起来,但在服务器中查看server状态是active,并在server端日志提示如下:

 

原因: 
数据库数据目录等安装的位置不是默认的位置,或者数据库在安装完之后有迁移过目录
解决方案: 
1、确认数据库是否开启且mysql.sock文件是否存在,并记下mysql.sock的位置
2、在mysql配置文件(/etc/my.cnf)中的[mysqld]小结修改mysql.sock的位置为步骤1记下的位置,并加上[client]和[mysql]小结,同时将mysql.sock的位置配置上
3、修改zabbixserver配置文件中的mysql.sock配置:将/etc/zabbix/zabbix_server.conf文件中的DBSocket项改为mysql.sock所在的路径
4、重启zabbix server服务
 
魅力男神
原文地址:https://www.cnblogs.com/capable/p/10938717.html