ZABBIX在centos系统中的安装部署

本文详细介绍了如何在CentOS7系统中安装和配置ZABBIX,包括安装依赖包、关闭防火墙和selinux、搭建lamp环境、安装ZABBIX server3.0、配置数据库、启动服务以及解决安装过程中可能出现的问题。通过这些步骤,读者可以成功地在CentOS7上部署并运行ZABBIX监控系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装前准备:

1.1 安装依赖包:

yum -y install wget net-snmp-devel OpenIPMI-devel httpd openssl-devel java lrzsz fping-devel libcurl-devel perl-DBI pcre-devel libxml2 libxml2-devel mysql-devel gcc php php-bcmath php-gd php-xml php-mbstring php-ldap php-mysql.x86_64 php-pear php-xmlrpc  net-tools wget vim-enhanced

可能故障问题:Cannot find a valid baseurl for repo: base/7/x86_64

解决:修改DNS

 

1.2 关闭防火墙:

# systemctl stop firewalld.service

# systemctl disable firewalld.service 

需要关闭 selinux,一定要关闭这个,开启selinux会引起一连串问题,甚至zabbix的discovery功能也不能正常使用

# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

确认是否修改成功

# grep SELINUX /etc/selinux/config

然后重启系统即可

# reboot

一、zabbix server3.0在centos 7上安装

根据zabbix server3.0官方要求,目前zabbix server3.0在centos6 OS上不能进行yum安装。如果一定要在centos6 OS上进行安装zabbix server3.0的话,强烈建议通过源码方式进行编译安装,同时还需要注意PHP的版本。

考虑到这些因素,所以在此我们是在centos7 OS上进行yum安装zabbix server3.0。

注意:尽管zabbix server3.0在centos6 OS上不能yum方式进行安装,但是zabbix-agent3.0在centos6 OS上是可以进行yum安装的。

1.1 搭建lamp环境

centos7上安装zabbix server3.0之前,我们首先搭建zabbix所需要的lamp环境。

下载最新的yum源,如下:

# wget -P /etc/yum.repos.d http://mirrors.aliyun.com/repo/Centos-7.repo

 

在开始安装之前,还需要说明下centos7自带的mysql是mariadb,我们可以通过如下命令查看:

yum search mysql|tac

 

现在开始安装lamp环境,使用如下命令:

[root@zabbix ~]# yum -y install mariadb mariadb-server php php-mysql httpd

 

通过上图,我们可以很明显的看出centos7默认安装的是php5.4、httpd2.4和maradb5.5,这个完全符合zabbix3.0对软件版本的要求。

lamp安装完毕后,我们现在来配置mysql数据库。

设置开机自启动mysql,并启动mysql,使用如下命令:

[root@zabbix ~]# systemctl enable mariadb.service

[root@zabbix ~]# systemctl start mariadb.service

 

初始化mysql数据库,并配置root用户密码。使用如下命令:

[root@zabbix ~]# mysql_secure_installation

 

 


注意:在上图中的Enter current passwdord for root处,我们直接敲回车键即可。因为centos7上mysql的默认root用户密码为空。

上图中主要是为root用户配置密码,并刷新相关权限。(密码设为123456,只为实验用,生产环境自定义)

Remove anonymous users? 删除匿名用户?

Disallow root login remotely? 禁止root远程登陆

Remove test database and access to it? 删除测试数据库并且和访问它

Reload privilege tables now? 重新载入特权表

上图中主要是配置匿名用户、test用户以及root用户远程连接等相关配置。

mysql初始化完毕后,我们现在来创建zabbix数据库及其用户,使用如下命令:

[root@zabbix ~]# mysql -uroot -p123456 -e "create database zabbix default character set utf8 collate utf8_bin;"

[root@zabbix ~]# mysql -uroot -p123456 -e "grant all on zabbix.* to "zabbix"@"%" identified by "zabbix";"(登录mysql,使用grant命令添加)

 

现在来测试刚刚创建的zabbix用户,是否可以连接mysql数据库,如下:

[root@zabbix ~]# mysql -uzabbix -pzabbix

MariaDB [(none)]> show databases;

MariaDB [(none)]> quit

 

通过上图,我们可以很明显的看出zabbix用户是可以正常连接数据库的。

启动apache以及开放80端口,如下:

[root@zabbix ~]# systemctl start httpd.service

[root@zabbix ~]# netstat -ltun

 

 

到此lamp环境已经全部搭建完毕。

 

 

1.2 安装zabbix server3.0

lamp环境搭建完毕后,我们现在开始正式安装zabbix3.0。

安装zabbix3.0所需要EPEL源和zabbix的yum源,如下:

#rpm -ivh http://mirrors.aliyun.com/epel/7/x86_64/e/epel-release-7-8.noarch.rpm

 

#rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

 

以上安装完毕后,我们现在来正式安装zabbix3.0,使用如下命令:

[root@zabbix ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get

 

 

通过上图,我们可以很明显的看出目前zabbix server是3.0.5版本的。

以上安装完毕后,我们现在开始进行zabbix的相关配置。

导入zabbix数据库结构,如下:

[root@zabbix ~]# cd /usr/share/doc/zabbix-server-mysql-3.0.5/3.0.5改为你当前更新的mysql-server更新的版本

[root@zabbix zabbix-server-mysql-3.0.5]# zcat create.sql.gz | mysql -uroot -pDe123456 zabbix-p后为自己mysqlroot的密码

 

数据库导入完毕后,我们现在来修改zabbix sever的配置文件,如下:

[root@zabbix ~]# vi /etc/zabbix/zabbix_server.conf

LogFile=/var/log/zabbix/zabbix_server.log

LogFileSize=0

PidFile=/var/run/zabbix/zabbix_server.pid

DBHost=localhost#,在#下面添加新的host

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

SNMPTrapperFile=/var/log/snmptrap/snmptrap.log

Timeout=4

AlertScriptsPath=/usr/lib/zabbix/alertscripts

ExternalScripts=/usr/lib/zabbix/externalscripts

LogSlowQueries=3000

 

 

 

 

 

上述配置文件中,我们只需要关注 DBHost、DBName、DBUser、

DBPassword 几项即可。这几项是配置zabbix server连接mysql数据库的参数。

以上修改完毕后,我们再来修改下zabbix.conf文件。如下:

vi /etc/httpd/conf.d/zabbix.conf

Alias /zabbix /usr/share/zabbix

Options FollowSymLinks

AllowOverride None

Require all granted

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 always_populate_raw_post_data -1

   php_value date.timezone Asia/Chongqing

修改前:

 

修改后:

 

其中php_value date.timezone Asia/Chongqing主要是定义php的时区。

以上修改完毕后,我们把把zabbix-server加入开机启动,并启动zabbix-server,如下:

[root@zabbix ~]# systemctl start zabbix-server.service

[root@zabbix ~]# systemctl enable zabbix-server.service

 

最后重启apache,如下:找到文档最后问题5,因为会phptimezone报错

[root@zabbix ~]# systemctl restart httpd.service

 

三、配置zabbix

http://ip/zabbix/setup.php

 

 

Next step

 

Next step

 

上图中需要填写的是,我们前面创建的zabbix数据库已经用户和密码 , Next step

 

Next step

 

Next step

 

Finish

 

默认用户名是Admin 密码 zabbix 然后点击sign in

 

 

 

二:在被监控端配置zabbix-agent(有效方法)

  1创建用户

groupadd zabbix

useradd -g zabbix zabbix

         2)zabbix软件包下载,安装

zabbix-2.2.6

http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.6/zabbix-2.2.6.tar.gz

上传zabbix-2.2.6.tar.gz到服务器/usr/local/src目录下面

cd /usr/local/src #进入软件包下载目录

tar zxvf zabbix-2.2.6.tar.gz #解压

      cd /usr/local/src/zabbix-2.2.6 #进入安装目录

./configure --prefix=/usr/local/zabbix --enable-agent

make && make install

3)添加服务端口和修改启动脚本

vi /etc/services #编辑,在最后添加以下代码

# Zabbix

zabbix-agent 10050/tcp # Zabbix Agent

zabbix-agent 10050/udp # Zabbix Agent

zabbix-trapper 10051/tcp # Zabbix Trapper

zabbix-trapper 10051/udp # Zabbix Trapper

cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd ###前边的路径选择自己解压zabbix文件所在的目录、后边相同

chmod +x /etc/rc.d/init.d/zabbix_agentd #添加脚本执行权限

vi /etc/rc.d/init.d/zabbix_agentd #编辑客户端配置文件

修改BASEDIR=/usr/local/zabbix/ #zabbix安装目录()

chkconfig zabbix_agentd on #添加开机启动

4)修改zabbix_agent配置文件#翻页命令ctrl-f G移动到末尾

vim /usr/local/zabbix/etc/zabbix_agentd.conf
      Server=192.168.1.22,192.168.1.21 #服务器端的IP及本机的IP

ServerActive=192.168.1.22,192.168.1.21

Hostname=single #agent主机名

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/  #扩展配置目录

   5)启动

   /etc/init.d/zabbix_agentd start

   6)在防火墙上开启相应端口

   vi /etc/sysconfig/iptables

   添加:

   -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
   -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT

    重启防火墙:

    service iptables restart

    7)测试

      下面的命令需要在server端执行,其中192.168.1.21agentip

#/usr/local/zabbix/bin/zabbix_get -s192.168.1.21 -p10050 -k"system.uptime"

1031163   

    说明成功啦。

    8)监控该服务器

    访问:http://192.168.1.22/zabbix/,192.168.1.22是zabbix server的IP.

组态—>主机->创建主机,

可以选择相应的模板,如:

 

Z如果是红色的话是不正常的,必须是绿色。

 

zabbix web中文显示与优化

5.1 zabbix web中文显示

默认情况下zabbix web显示的是英文,实际上zabbix是支持中文的,我们可以通过修改web端源文件来开启中文。

修改/usr/share/zabbix/include/locales.inc.php文件,把zh_CN所在行的false改为true即可,如下:

[root@zabbix ~]# vim /usr/share/zabbix/include/locales.inc.php +55

改正前:

 

改正后:

 

最后后点击zabbix web监控网页端右上角人头头像,在弹出的选项卡选择中文语言即可。如下:

改正前:

 

改正后:

 

5.2 中文显示优化

安装中文支持包

安装方法如下:

[root@zabbix ~]# wget https://github.com/echohn/zabbix-zh_CN/archive/master.zip

[root@zabbix ~]# unzip master.zip

[root@zabbix ~]# rm /usr/share/zabbix/locale/zh_CN/LC_MESSAGES/frontend.mo

[root@zabbix ~]# cp zabbix-zh_CN-master/frontend.mo /usr/share/zabbix/locale/zh_CN/LC_MESSAGES/frontend.mo

 

 

现在重启下apache和zabbix_server两个服务就可以,如下:

[root@zabbix ~]# systemctl restart httpd

[root@zabbix ~]# systemctl restart zabbix-server

zabbix中文乱码:

乱码如下图:

 

解决乱码方法:

Windows 系统中找到 C:\Windows\Fonts 中的楷体(常规)复制到windows桌面上

 

如何将 window 文件上传到 linux 上,我们可以搭建一个 samba 服务器,这里我们介绍一款软件

" winscp " 下载地址网上百度一下就可以了。

安装完成后双击打开

 

点击编辑:

 

输入主机名( ip 地址)端口 22 用户名和密码

保存,然后点击登陆

在输入一次密码,确定

 

左面是 window 桌面,右面是 linux 根目录,直接把左面的文件拖动到右面就是把 window 文件复制到 linux 中,这样可以上传到 linux 里面了,接下来把 simkai.ttf 移动到 zabbix 安装目录的 fonts 目录下

[root@zabbix ~]# mv simkai.ttf /usr/share/zabbix/fonts/

 

[root@zabbix ~]# cd /usr/share/zabbix/fonts/

[root@zabbix fonts]# ls

graphfont.ttf  simkai.ttf

[root@zabbix fonts]# chmod 777 simkai.ttf

 

[root@zabbix fonts]# cp graphfont.ttf graphfont.ttf.bak

[root@zabbix fonts]# mv simkai.ttf graphfont.ttf

mv :是否覆盖 "graphfont.ttf" ? y

 

查看一下 ok了

 

 

 

 

 

问题汇总

问题1.登录界面时报错

解决:问题描述:

浏览器输入http://192.168.68.133/zabbix,发现下面的报错

Error connecting to database: Access denied for user 'zabbix' @ 'localhost' to database 'zabbixdb'

 

问题分析:

数据库的配置肯定正确的,那么问题就可能是zabbix的配置文件不正确,而涉及的配置文件当时只知道有zabbix_server.conf

 

排查过程:

1.检查zabbix_server.conf配置文件,发现数据库配置也是正确的,但就是报上面的错误

2.最后通过网上搜索,发现

******/zabbix/conf/zabbix.conf.php

文件里面也有数据库的配置不正确(见下面红色字体),修改后,可以正常显示zabbix页面。

 

$DB['DATABASE'] = 'zabbix';

$DB['USER'] = 'zabbix';

$DB['PASSWORD'] = 'zabbix';

问题2.登录进入页面后报错

错误内容:zabbix监控搭建完后打开web界面http://xxx/zabbix报错:

zabbix server is not running: the information displayed may not be current!

1 . 遇到这个问题,首先不要去直接搜,我们查看下zabbix server的log日志:

connection to database 'zabbix' failed: [1045] Access denied for user 'root'(using password: NO)

数据库被拒绝,没有使用密码,因为默认的zabbix_server.conf的DBPassword是注释掉的

解决方法:

/etc/zabbix/zabbix_server.conf 中的数据库配置项目 密码那项没有启用,去掉注释,填上密码再次启动即可.

然后重启:

#shell service zabbix_server restart

刷新界面,ok,正常运行。

问题3:在zabbix页面中ZBX是红色或灰色,不能正常显示绿色

 

解决办法

1. 关掉被监控端的防护墙或开启10050端口

注意事项

1. 在配置zabbix-server时遇到问题,要反复查看hostnmae=是否被注释#或没有填入本机的主机名。

2. 在配置zabbix-agent是要注意hostname

3. 查看如下内容

 

 

 

 

 

问题4:前面已经配置完成,测试也通过能够正常启动,但第二天重新启动zbx是红色

解决办法1:重新登录zabbix,重新输入账号密码,也可尝试关掉agent端防火墙

通常关掉agent端防火墙就可以,过30秒重新加载网页,就可看到

为绿色了。

 

问题5/etc/init.d/zabbix_agentd start

启动zabbix-agend报错   ,,,,,,,,,,failed失败

 

解决方法:

1. 方法1:看第一步骤:创建用户和用户组是否成功创建

2.  方法2:查看这个目录修改BASEDIR=/usr/local/zabbix/ #zabbix安装目录()规定为/usr/local/zabbix

 

问题6

Zabbix配置Web页面报错" PHP time zone unknown Fail"

 

分类: Linux操作系统

2017-02-25 18:25:02

Zabbix配置Web页面报错" PHP time zone unknown Fail"

解决方法:
查看php.ini配置文件的设置
[root@localhost create]# vi /etc/httpd/conf.d/zabbix.conf

1. Alias /zabbix /usr/share/zabbix

2. 

3. Options FollowSymLinks

4. AllowOverride None

5. Order allow,deny

6. Allow from all

7. 

8. php_value max_execution_time 300

9. php_value memory_limit 128M

10. php_value post_max_size 16M

11. php_value upload_max_filesize 2M

12. php_value max_input_time 300

13. # php_value date.timezone Europe/Riga

更改php.ini配置文件的设置,去掉date.timezone的注释,将时区改为Asia/Shanghai

[root@localhost create]# vi /etc/httpd/conf.d/zabbix.conf

1. Options FollowSymLinks

2. AllowOverride None

3. Order allow,deny

4. Allow from all

5. 

6. php_value max_execution_time 300

7. php_value memory_limit 128M

8. php_value post_max_size 16M

9. php_value upload_max_filesize 2M

10. php_value max_input_time 300

11. php_value date.timezone Asia/Shanghai

重启httpd服务
[root@localhost create]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]
点击"Retry"重新进行检查,顺利通过检查

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值