你的位置:首页 > 操作系统

[操作系统]烂泥:zabbix3.0安装与配置


本文由ilanniweb提供友情赞助,首发于烂泥行天下

想要获得更多的文章,可以关注我的微信ilanniweb

这个月又快过完了,最近也比较忙,没时间写文章,今天挤点时间把zabbix3.0安装与配置的文章写下来。

其实zabbix3.0的安装很简单,但是由于个人比较懒,所以一直不喜欢使用源码方式进行安装,而且管理的服务器多了,源码安装也感觉不方便,所以现在大部分安装软件我都会首先选择yum或者apt-get方式进行。

本篇文章,我也不多介绍zabbix3.0安装的详细步骤了,只列出centos、ubuntu下zabbix3.0的相关安装命令以及zabbix的基本配置。

zabbix3.0对OS的要求:mysql5.0以上版本、apache1.3以上版本、php5.4以上版本。

注意:这个要求很重要。

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

clip_image001

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

yum search mysql|tac

clip_image002

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

yum -y install mariadb mariadb-server php php-mysql httpd

clip_image003

clip_image004

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

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

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

systemctl enable mariadb

systemctl start mariadb

clip_image005

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

mysql_secure_installation

clip_image006

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

上图中主要是为root用户配置密码,并刷新相关权限。

clip_image007

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

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

mysql -uroot -p'ilanni' -e "create database zabbix default character set utf8 collate utf8_bin;"

mysql -uroot -p'ilanni' -e "grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix';"

clip_image008

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

mysql -uzabbix -pzabbix

show databases;

clip_image009

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

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

systemctl start httpd

netstat –tunl

firewall-cmd --zone=public --add-port=80/tcp –permanent

firewall-cmd --reload

clip_image010

注意:centos7的防火墙和centos6的防火墙很不一样。

到此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-6.noarch.rpm

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

clip_image011

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

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

clip_image012

clip_image013

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

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

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

cd /usr/share/doc/zabbix-server-mysql-3.0.2/

zcat create.sql.gz | mysql -uroot -pilanni zabbix

clip_image014

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

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

clip_image015

上述配置文件中,我们只需要关注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>

clip_image016

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

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

systemctl enable zabbix-server

systemctl start zabbix-server

clip_image017

最后重启apache,如下:

systemctl restart httpd

然后访问http://192.168.1.9/zabbix/setup.php这个地址,如下:

clip_image018

通过上图,我们可以很明显的看出zabbix3.0已经被正确安装。

当然上述的访问地址也是可以自定义的,我们只需要修改zabbix.conf文件中的alias即可,如下:

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

clip_image019

修改完毕后,记得重启apache,如下:

systemctl restart httpd

此时访问地址已经更改为http://192.168.1.9/ilanni/setup.php,如下:

clip_image020

到此有关centos7上安装zabbix server 3.0的上半部分已经完毕,下半部分见第三章《配置zabbix3.0》。

二、zabbix server3.0在ubuntu 15上安装

在ubuntu 15上安装zabbix server 3.0就简单的多了,我们也是直接使用apt-get方式进行的。注意:zabbix server3.0在 ubuntu 15与ubuntu 14上安装方法是一样的。

首先安装相关的软件,如下:

sudo apt-get -y install gettext unzip rar

clip_image021

下载zabbix server3.0仓库文件,并安装如下:

wget http://mirrors.aliyun.com/zabbix/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1%2btrusty_all.deb

dpkg -i zabbix-release_3.0-1+trusty_all.deb

clip_image022

clip_image023

开始安装zabbix server,使用如下命令:

sudo apt-get update

sudo apt-get -y install zabbix-server-mysql zabbix-frontend-php zabbix-get

clip_image024

clip_image025

clip_image026

以上是设置mysql数据库root用户的密码。

clip_image027

以上安装完毕后,我们现在来创建zabbix数据库及其用户,如下:

mysql -uroot -p'ilanni' -e "create database zabbix default character set utf8 collate utf8_bin;" && mysql -uroot -p'ilanni' -e "grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix';"

clip_image028

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

mysql -uzabbix -pzabbix

show databases;

clip_image029

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

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

cd /usr/share/doc/zabbix-server-mysql

zcat create.sql.gz | mysql -uroot -p'ilanni' zabbix

clip_image030

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

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

clip_image015[1]

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

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

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

vim /etc/apache2/conf-enabled/zabbix.conf

<IfModule mod_alias.c>

Alias /zabbix /usr/share/zabbix

</IfModule>

<Directory "/usr/share/zabbix">

Options FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

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

clip_image031

其中php_value date.timezone Asia/Chongqing主要是定义php的时区。这个和centos7下的配置基本一致。

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

sudo systemctl enable zabbix-server

sudo systemctl start zabbix-server

clip_image032

最后重启apache,如下:

sudo systemctl restart apache2.service

然后访问http://192.168.1.231/zabbix/setup.php这个地址,如下:

clip_image033

通过上图,我们可以很明显的看出zabbix server 3.0已经被正确安装。

到此有关ubuntu上安装zabbix server 3.0的上半部分已经完毕,下半部分见第三章《配置zabbix3.0》。

三、配置zabbix

在第一、二章节中,我们已经安装zabbix server3.0的上半部分,这个章节我们来继续安装和配置zabbix。

注意:本章节我们不再进行文字解释,全部都是图片。

打开前面的显示的zabbix3.0的网页,点击下一步,如下:

clip_image034

clip_image035

clip_image036

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

clip_image037

clip_image038

clip_image039

clip_image040

clip_image041

四、安装zabbix agent

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

4.1 安装zabbix agent

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

rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm

yum clean all

yum -y install zabbix zabbix-agent

clip_image042

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

wget http://mirrors.aliyun.com/zabbix/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1%2btrusty_all.deb

dpkg -i zabbix-release_3.0-1+trusty_all.deb

sudo apt-get -y install zabbix-agent

clip_image043

4.2 配置zabbix agent

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

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

vim /etc/zabbix/zabbix_agentd.conf

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

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

LogFileSize=0

Server=192.168.1.231

ServerActive=192.168.1.231

Hostname=192.168.1.124

Include=/etc/zabbix/zabbix_agentd.d/

clip_image044

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

clip_image045

clip_image046

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

五、zabbix web中文显示与优化

本章节分为两部分,第一部分是配置zabbix web中文显示,第二部分是优化显示的中文。

5.1 zabbix web中文显示

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

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

vim /usr/share/zabbix/include/locales.inc.php +55

clip_image047

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

clip_image048

clip_image049

注意:如果是在ubuntu OS上面配置文件修改完毕后,在zabbix web后台还是会显示,不支持中文的话,说明ubuntu OS没有安装中文语言包。如下:

clip_image050

我们只需要按照以下三步进行操作,即可解决上述问题。

第一步,安装中文包,如下:

sudo apt-get -y install language-pack-zh-hant language-pack-zh-hans

clip_image051

第二步,配置相关环境变量:

vim /etc/environment

在环境变量文件中增加语言和编码的设置:

LANG="zh_CN.UTF-8"

LANGUAGE="zh_CN:zh:en_US:en"

clip_image052

第三步,重新设置本地配置:

dpkg-reconfigure locales

clip_image053

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

sudo systemctl restart apache2.service

sudo systemctl restart zabbix-server.service

clip_image054

clip_image048[1]

更换语言后,如果发现图形出现乱码,我们做如下修改即可。

修改/usr/share/zabbix/include/defines.inc.php文件的第45行和第93行,如下:

vim /usr/share/zabbix/include/defines.inc.php

define('ZBX_GRAPH_FONT_NAME','mysh');

define('ZBX_FONT_NAME', 'mysh');

clip_image055

clip_image056

然后下载自己喜欢的字体,改名为msyh放到/usr/share/zabbix/fonts目录下即可。

5.2 中文显示优化

以上做完之后,你会发现尽管zabbix web支持中文,但是有些地方翻译的很不到位。如下:

clip_image057

据小道消息,zabbix官方的中文翻译是一位使用繁体中文的华人工程师进行翻译的。

所以在github上有大神对此进行了重新翻译,github连接地址如下:https://github.com/duanzhanling/zabbix-zh_CN

安装方法如下:

wget https://github.com/echohn/zabbix-zh_CN/archive/master.zip

unzip master.zip

rm /usr/share/zabbix/locale/zh_CN/LC_MESSAGES/frontend.mo

cp zabbix-zh_CN-master/frontend.mo /usr/share/zabbix/locale/zh_CN/LC_MESSAGES/frontend.mo

clip_image058

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

sudo systemctl restart apache2.service

sudo systemctl restart zabbix-server.service

clip_image059

通过上图可以看到,最新的翻译比以前好多了。