今天的开场献给你们一句话,一直以来我也在用这句话鼓励我自己:不忘初心,方得始终,不负梦想。
纯属是对技术的热爱,巩固复习一下,也献给那些正在学习的同学们!!!
关于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
检查系统环境设置,必须全部都为ok,才能继续
报错:
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
默认Next
Next
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的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
如下图所示
Language:Chinese(zh_CN) #简体中文
点Save 保存
退出站点,重新登录之后,如下图所示
默认界面已经是中文显示
到这里,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、细心认真一点