安装前准备:

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

1.2 关闭防火墙:

#systemctl stop firewall

#systemctl disable firewall

需要关闭 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源,如下:

[root@zabbix ~]# wget -P /etc/yum.repos.d http://mirrors.aliyun.com/repo/Centos-7.repo

wKiom1c4DwqSMynNAABWF61UWHU464.png

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

yum search mysql|tac

 

wKiom1c4Dxnx4AYwAABCiD_BEpo598.png

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

 

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

 

 

wKiom1c4DyXhhXaOAAA6ln-db2E288.png

wKioL1c4EBiBB6EVAAA0-WFozMU459.png

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

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

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

[root@zabbix ~]# systemctl enable mariadb

[root@zabbix ~]# systemctl start mariadb

wKioL1c4ECPR_oGNAAAq0nEEWUQ576.png

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

[root@zabbix ~]# mysql_secure_installation

wKioL1c4EG3DwhLwAABiKNrnsSE741.png

wKioL1c4EHiB6MuKAAAebhbkbSs344.png

wKioL1c4EIPz7VImAABXfV8vUAU219.png

注意:在上图中的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';"

 

 

wKiom1c4D6rhFBM7AAAn8HUmz1k454.png

 

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

 

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

MariaDB [(none)]> show databases;

MariaDB [(none)]> quit

 

wKiom1c4D7aSyrYnAABOayg9bqY970.png

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

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

[root@zabbix ~]# systemctl start  httpd

[root@zabbix ~]# netstat -ltun

wKioL1c4EN7D-U2zAAAxlovknSA746.png

wKioL1c4EOiATuDdAAAVdKy6cF4490.png

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

 

wKiom1c4EBDAy9jEAAH3vmBXiw0416.png

 

wKioL1c4EQfyUsJsAAJt1uNb9zE951.png

1.2 安装zabbix server3.0

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

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

[root@zabbix ~]# rpm -ivh http://mirrors.aliyun.com/epel/7/x86_64/e/epel-release-7-6.noarch.rpm

[root@zabbix ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

wKiom1c4EC6ya5RbAAA4_-tIzno683.png

wKiom1c4EDiyLv23AAA36edZQIU929.png

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

 

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

wKioL1c4EVaS7MReAAA10i_GE4M851.png

wKiom1c4EHuCY26OAAAj1TSRjdo002.png

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

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

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

[root@zabbix ~]# cd /usr/share/doc/zabbix-server-mysql-3.0.2/

[root@zabbix zabbix-server-mysql-3.0.2]# zcat create.sql.gz | mysql -uroot -p123456 zabbix

wKioL1c4EW-SfVNrAAA1qCYUqGI753.png

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

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

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

LogFileSize=0

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

DBHost=localhost

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




wKiom1c4FE-xTQmbAAAGtYHFb94449.png

wKioL1c4FTTBKvESAAAF7QxEnjw739.png

wKioL1c4FTSDwfhLAAAGucWR_Q4010.png

wKiom1c4FFDjx1zIAAAHyoZld4s645.png

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

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

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

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

Alias /zabbix /usr/share/zabbix

<Directory “/usr/share/zabbix”>

    Options FollowSymLinks

    AllowOverride None

    Require all granted

    <IfModule mod_php5.c>

        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

     </IfModule>

</Directory>

修改前:

 

wKiom1c4EJfQmFK4AABMC0SBsvw990.png

修改后:

 

wKiom1c4EMywGqClAAAuYl3nSMQ859.png

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

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

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

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

wKioL1c4EbyRZCA4AAAuKrUx6Uc736.png

最后重启apache,如下:

[root@zabbix ~]# systemctl restart httpd

wKioL1c4EcSg3z66AAAPvH9e2Lc127.png

三、配置zabbix

http://ip/zabbix/setup.php

 

wKiom1c4EOriLXdCAAAWvA_dpq4444.png

wKioL1c4Ed2SBy9WAACZLSHeAFw083.png

Next step

wKiom1c4ETbjvVEKAACcS0CTGwQ500.png

Next step


 wKiom1c4EV3gE4GdAABNBeZ2Ny4786.png

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

 

wKiom1c4EXnBQu8DAABPHDlCph0887.png

Next step

wKiom1c4EYezb94LAABkS_RX328074.png

Next step

wKioL1c4EnuQRzlkAAA_zUBfoM0179.png

Finish

wKiom1c4EaKRZappAAAoYItQ37I992.png

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

wKioL1c4EsSAXnv4AADLQLHgmqI381.png

四、安装zabbix agent

前面我们安装了zabbix server3.0,本章节我们介绍安装zabbix agent端。zabbix agent的安装比较简单,我们只需要安装相应的仓库,然后执行安装命令即可。

4.1 安装zabbix agent

在centos os上安装agent,使用如下命令:

[root@zabbix ~]# yum clean all

[root@zabbix ~]# rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm

[root@zabbix ~]# yum -y install zabbix zabbix-agent

wKioL1c4EtHyLfoqAAB-2mlhLZ0504.png

wKiom1c4Efby_DzMAAATB71koTw445.png

4.2 配置zabbix agent

zabbix agent的配置很简单,只需要修改zabbix agent配置文件中的Server、ServerActive和Hostname这三项即可。

其中Server、ServerActive是zabbix server服务器的IP地址,Hostname是被监控端的IP地址,如下:

[root@zabbix ~]# vim /etc/zabbix/zabbix_agentd.conf

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

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

Server=127.0.0.1

ServerActive=127.0.0.1

Hostname=127.0.0.1

Include=/etc/zabbix/zabbix_agentd.d/

以上配置完毕后,我们在zabbix web端添加该监控机器时,只需要把honst name与该配置文件中的hostname对应即可。如下:

Server=服务器ip地址

ServerActive=服务器ip地址

Hostname=客户端ip地址

Server被动ServerActive主动

到此zabbix agent就已经安装完毕。

启动客户端

[root@zabbix ~]# zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf

[root@zabbix ~]# systemctl start zabbix-agent

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

[root@zabbix ~]# systemctl enable zabbix-agent

wKioL1c4EuiQRnpqAAAg0v5gvuU316.png

wKioL1c4EvKCnbBbAAApLjEiV7s068.png

查看一下状态

wKioL1c4EzPicvQ-AACG4-d4HMM908.png

wKioL1c4E0CgrFaoAAElS1A0iK8218.png

五、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

           改正前:

wKioL1c4E0zR8eURAAAh_OMKyig510.png

          改正后:

wKiom1c4EnCx8ae9AABAov1ques396.png

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

         改正前:

wKioL1c4E3eBUnWRAABr9JnKXYM453.png

         改正后:

wKioL1c4E7-Q3iFGAAEu2cKA9YU091.png

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

 

wKioL1c4E8rSTP1rAACC9sPNr8k213.png

wKioL1c4E9PTyt2mAABVUkkP37Y994.png

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

[root@zabbix ~]# systemctl restart httpd

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

zabbix中文乱码:

乱码如下图:

wKiom1c4EvriryQVAADwW7c_Gc4939.png

解决乱码方法:

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

wKioL1c4E-zTNqxIAAEtdXSHOQI659.png

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

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

安装完成后双击打开

wKiom1c4EznwxcSYAAAwCNJtL4Q381.png

点击编辑:

wKioL1c4FCfS-XAHAADESbWVy_s203.png

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

wKioL1c4FDLzj9xjAAD8r0XAbPo336.png

保存,然后点击登陆

wKioL1c4FETjXtVtAABDibr2Z6s487.png

在输入一次密码,确定

wKioL1c4FE-QrKFyAAEq20ISV8c774.png

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

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

wKiom1c4E5-wJcu-AAAqzmBEh-s858.png

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

[root@zabbix fonts]# ls

graphfont.ttf  simkai.ttf

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

wKiom1c4E6nBfJf2AAA9rNogP5Q943.png

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

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

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

wKiom1c4E7PyFEIGAAAlHJaMETY114.png

查看一下 ,ok了

wKiom1c4E77zgGFMAAF2rMXzfp4452.png