今天的开场献给你们一句话,一直以来我也在用这句话鼓励我自己:不忘初心,方得始终,不负梦想。

纯属是对技术的热爱,巩固复习一下,也献给那些正在学习的同学们!!!

关于zabbix的介绍,这里不做任何介绍,自行查阅资料

说明:

操作系统:CentOS-7.1

IP地址:192.168.31.130

Web环境:Nginx+MySQL+PHP

zabbix版本:Zabbix 2.2 LTS

备注:Linux下安装zabbix需要有LAMP或者LNMP运行环境

准备篇:

一、Web环境:Nginx+MySQL+PHP

CentOS 7.1编译安装Nginx1.8.1+MySQL5.6.19+PHP5.5.14

     http://sumous.blog.51cto.com/10483407/1949492

二、zabbix软件包下载

zabbix-2.2.6

wget 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目录下面或者直接进去到下载目录wget,还是那句话怎么方便怎么来,zabbix也可以去下最新的,个人建议别用最新的,最新的可能有bug,看个人喜好

安装篇

一、创建、导入zabbix数据库

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

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

cd /usr/local/src/zabbix-2.2.6/database/mysql #进入mysql数据库创建脚本目录

ls #列出文件,可以看到有data.sql  p_w_picpaths.sql  schema.sql这三个文件

mysql -u root -p #输入密码,进入MySQL控制台

create database zabbix character set utf8; #创建数据库zabbix,并且数据库编码使用utf8

注意:insert into mysql.user(Host,User,Password) values('localhost','zabbix',password('123456')); #新建账户zabbix,密码123456

执行这条命令有错

ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value

错语原因:

mysql用户表的中某些字段不能为空,没有默认值,其实是操作错误,mysql添加用户是不能这样直接insert user表的。

解决方法:

正确的添加用户方法:

GRANT USAGE ON *.* TO 'zabbix'@'l92.168.31.130' IDENTIFIED BY '123456' WITH GRANT OPTION;

用户:zabbix,密码:123456,这样就添加了一个新的用户,不会出以上的错误了。

flush privileges; #刷新系统授权表

grant all on zabbix.* to 'zabbix'@'192.168.31.130' identified by '123456' with grant option; #允许账户zabbix能从本机连接到数据库zabbix

flush privileges; #再次刷新系统授权表

use zabbix #进入数据库

source /usr/local/src/zabbix-2.2.6/database/mysql/schema.sql #导入脚本文件到zabbix数据库

source /usr/local/src/zabbix-2.2.6/database/mysql/p_w_picpaths.sql #导入脚本文件到zabbix数据库

source /usr/local/src/zabbix-2.2.6/database/mysql/data.sql #导入脚本文件到zabbix数据库

注意:请按照以上顺序进行导入,否则会出错。

exit #退出

或者这样导入

mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-2.2.6/database/mysql/schema.sql

mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-2.2.6/database/mysql/p_w_picpaths.sql

mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-2.2.6/database/mysql/data.sql

cd /usr/lib64/mysql #32位系统为/usr/lib/mysql,注意系统版本同,文件版本可能不一样,这里是16.0.0

ln -s libmysqlclient.so.16.0.0 libmysqlclient.so #添加软连接

ln -s libmysqlclient_r.so.16.0.0 libmysqlclient_r.so #添加软连接

二、安装zabbix

1、添加用户:

groupadd zabbix #创建用户组zabbix

useradd zabbix -g zabbix -s /bin/false #创建用户zabbix,并且把用户zabbix加入到用户组zabbix中

2、安装依赖包 #CentOS使用yum命令安装

yum install net-snmp-devel curl curl-devel mysql-devel

备注:以上软件包如果在安装Web环境LAMP或者LNMP时已经安装过,此步骤可忽略

3、安装zabbix

ln -s /usr/local/lib/libmcrypt.so.4 /usr/local/libmcrypt.so.4 #添加软连接

/sbin/ldconfig #使配置立即生效

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

./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config #配置

make #编译

make install #安装

ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ #添加系统软连接

ln -s /usr/local/zabbix/bin/* /usr/local/bin/ #添加系统软连接

说明:find / -name mysql_config 查找位置,如果没有mysql_config,需要安装yum install mysql-devel

4、添加zabbix服务对应的端口

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

:wq! #保存退出

5、修改zabbix配置文件

cd /usr/local/zabbix/etc

vi /usr/local/zabbix/etc/zabbix_server.conf

DBName=zabbix #数据库名称

DBUser=zabbix #数据库用户名

DBPassword=123456 #数据库密码

ListenIP=192.168.31.130 #数据库真实ip地址

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix运行脚本存放目录

:wq! #保存退出

vi /usr/local/zabbix/etc/zabbix_agent.conf     #编辑zabbix_agent.conf 文件

Include=/usr/local/zabbix/etc/zabbix_agent.conf.d/  #去掉注释

UnsafeUserParameters=1 #启用自定义key

:wq! #保存退出

6、添加开机启动脚本

cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server #服务端

cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agent #客户端

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

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

chkconfig zabbix_server on #添加开机启动

chkconfig zabbix_agent on #添加开机启动

7、修改zabbix开机启动脚本中的zabbix安装目录

vi /etc/rc.d/init.d/zabbix_server #编辑服务端配置文件

BASEDIR=/usr/local/zabbix/ #填写zabbix安装目录

:wq! #保存退出

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

BASEDIR=/usr/local/zabbix/ #填写zabbix安装目录

:wq! #保存退出

三、配置web站点

cd /usr/local/src/zabbix-2.2.6

cp -r /usr/local/src/zabbix-2.2.6/frontends/php /usr/local/nginx/html/zabbix

chown nginx.nginx -R /usr/local/nginx/html/zabbix

备注:/usr/local/nginx/html为Nginx默认站点目录 nginx为Nginx运行账户

service zabbix_server start #启动zabbix服务端

service zabbix_agent start #启动zabbix客户端

[root@bogon zabbix-2.2.6]# service zabbix_server start    #启动zabbix服务端成功

Starting zabbix_server (via systemctl):  Warning: zabbix_server.service changed on disk. Run

'systemctl daemon-reload' to reload units.

                                                           [  OK  ]

 [root@bogon zabbix-2.2.6]# service zabbix_agent start        #启动zabbix客户端成功

Starting zabbix_agent (via systemctl):  Warning: zabbix_agent.service changed on disk. Run 'systemctl daemon-reload' to reload units.

                                                           [  OK  ]


[root@bogon zabbix-2.2.6]# ps -ef|grep zabbix                    #查看zabbix进程

zabbix    79639      1  0 20:07 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_server

zabbix    79676      1  0 20:08 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_agentd

zabbix    79677  79676  0 20:08 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: collector [idle 1 sec]

zabbix    79678  79676  0 20:08 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: listener #1 [waiting for connection]

zabbix    79679  79676  0 20:08 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: listener #2 [waiting for connection]

zabbix    79680  79676  0 20:08 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: listener #3 [waiting for connection]

zabbix    79681  79676  0 20:08 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: active checks #1 [idle 1 sec]

root      79683  70493  0 20:10 pts/0    00:00:00 grep --color=auto zabbix


四、修改php配置文件参数

1、vi /etc/php.ini #编辑修改

post_max_size =16M

max_execution_time =300

max_input_time =300

:wq! #保存退出

2、vi /usr/local/php/etc/php-fpm.conf #编辑修改

request_terminate_timeout = 300

:wq! #保存退出

service php-fpm reload #重启php-fpm

五、安装web

在浏览器中打开:

http://192.168.31.130/zabbix/setup.php

zabbix_第1张图片

zabbix_第2张图片

检查系统环境设置,必须全部都为ok,才能继续

zabbix_第3张图片

报错:

Error connecting to database: Host 'bogon' is not allowed to connect to this MySQL server


配置MySQL数据库信息

Database:MySQL

Database host:192.168.31.130

Database port:use default port

Database name:zabbix

User:zabbix

Password:123456

Test connection   #测试数据库连接是否正常,显示ok表示通过

Next

默认Next

zabbix_第4张图片

默认Next

zabbix_第5张图片

Next

zabbix_第6张图片

Finish  安装完成


六、更改zabbix默认语言为简体中文、替换监控图像上系统默认的中文字体

1、修改系统配置文件,让web页面支持简体中文显示

vi /usr/local/nginx/html/zabbix/include/locales.inc.php #编辑修改

'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),

修改为

'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),

:wq! #保存退出

2、在浏览器中打开:

http://192.168.31.130/zabbix/index.php#

账号:admin

密码:zabbix

Sign in 登录

如下图所示,进入zabbix管理界面,此时出现小错误,解决过程如下

zabbix_第7张图片

首先查看zabbix的log日志,来判断问题出在那了。。

[root@bogon mysql]# tail -f /tmp/zabbix_server.log

107173:20170719:133015.679 [Z3001] connection to database 'zabbix' failed: [1045] Access denied for

user 'zabbix'@'localhost' (using password: YES)

107173:20170719:133015.679 Database is down. Reconnecting in 10 seconds.

很明显是权限问题,重新给下权限就好,执行下面的SQL语句.

grant all privileges on zabbix.* to zabbix@localhost identified by '123456';

flush privileges;

再次查看log日志的最新情况,看看是否还报错

[root@bogon mysql]# tail -f /tmp/zabbix_server.log 

107587:20170719:133055.875 server #18 started [http poller #1]

107577:20170719:133055.882 server #8 started [unreachable poller #1]

107590:20170719:133055.894 server #21 started [history syncer #2]

107593:20170719:133055.896 server #24 started [escalator #1]

107595:20170719:133055.896 server #26 started [self-monitoring #1]

107589:20170719:133055.897 server #20 started [history syncer #1]

107591:20170719:133055.897 server #22 started [history syncer #3]

107594:20170719:133055.898 server #25 started [proxy poller #1]

107592:20170719:133055.899 server #23 started [history syncer #4]

107574:20170719:133055.906 server #5 started [poller #3]

107588:20170719:133055.926 server #19 started [discoverer #1]

看日志是没什么问题了,再次刷新页面看看zabbix-web情况

ok

修改中文字符集,点击profile

如下图所示

zabbix_第8张图片

Language:Chinese(zh_CN)  #简体中文

点Save 保存

退出站点,重新登录之后,如下图所示

默认界面已经是中文显示

zabbix_第9张图片


到这里,zabbix部署已完成


注意几点如下:

    zabbix server is not running,有以下几个方面引起

    1、[root@bogon ~]# vi /usr/local/nginx/html/zabbix/conf/zabbix.conf.php

修改前

$ZBX_SERVER      = 'localhost';

修改后

$ZBX_SERVER      = '192.168.31.130';

wq保存,重启服务

/usr/local/nginx/sbin/nginx -s reload

service zabbix_server restart

service zabbix_agent restart

2、selinux防火墙

3、权限问题

4、细心认真一点