zabbix 3.2源码安装
环境:
- centos7.2
- nginx 1.10.3
- mysql 5.5.38
- php 5.5.38
一、zabbix介绍
1、Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
2、zabbix有如下优点:
1) 自动发现服务器和网络设备。
2) 底层自动发现
3) 分布式的监控体系和集中式的web管理
4) 支持主动监控和被动监控模式
5) 支持多种操作系统 Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD, OS X
6) 高效的agent 支持 Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD,OS X, Tru64/OSF1, Windows NT4.0, Windows 2000, Windows 2003, Windows XP, Windows Vista 环境
7) 无agent监控等多种监控方法。
8) 安全的用户认证模式
9) 灵活的用户权限设置。
10) 基于web的管理方法,支持自由的自定义事件和邮件发送。
高水平的业务视图监控资源,支持日志审计
3、运行环境
zabbix server 需要运行在LAMP或者是LNMP的环境下;
agent可以部署在目前常见的OS中,例如linux,windows,HPUX,Solaris,Sun;
SNMP可以支持常见的网络设备。
二、zabbix部署准备
1、MySQL数据库的准备
添加mysql数据库的 zabbix用户,并设置密码:
先用root身份登入mysql中,并执行以下命令
mysql
use mysql;
insert into mysql.user(Host,User,Password) values("localhost","zabbix",password("zabbix")); #新建账户zabbix,密码123456
flush privileges; #刷新系统授权表
2、系统创建zabbix用户
#groupadd zabbix -g 501 #创建用户组,并且设置UID501 #useradd -g zabbix -u 501 -m zabbix
PS:这里将zabbix用户的UID与GID均设置为501
三、Zabbix Server的安装
1、zabbix源文件的下载
zabbix官方下载地址 http://www.zabbix.com/download.php
安装依赖包 #CentOS使用yum命令安装
yum install net-snmp-devel net-snmp -y
2、zabbix的解压与编译安装
tar -xzvf zabbix-3.2.5.tar.gz ./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl make && make install
3、建立zabbix所需的数据库
root身份等人到mysql数据库中,并执行以下命令建立zabbix数据库:
create database zabbix character set utf8; #创建数据库zabbix,并且数据库编码使用utf8 grant all on zabbix.* to 'zabbix'@'localhost' identified by '123456' #允许账户zabbix能从本机连接到数据库zabbix flush privileges;
进入zabbix源码安装包 cd /zabbix-3.2.5/database/mysql 把zabbix sql文件导入到zabbix数据库
#进入mysql mysql use zabbix #使用zabbix数据库 #导入脚本文件到zabbix数据库 source /soft/zabbix/zabbix-3.2.5/database/mysql/schema.sql source /soft/zabbix/zabbix-3.2.5/database/mysql/images.sql source /soft/zabbix/zabbix-3.2.5/database/mysql/data.sql
4、创建zabbix的的日志文件和连接
mkdir /var/log/zabbix chown zabbix.zabbix /var/log/zabbix ln -s /usr/local/zabbix/etc /etc/zabbix ln -s /usr/local/zabbix/bin/* /usr/local/bin/ ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
5、拷贝与配置zabbix启动文件
cp /soft/zabbix/zabbix-3.2.5/misc/init.d/fedora/core/zabbix_* /etc/init.d/ chmod 755 /etc/init.d/zabbix_* #添加脚本执行权限 sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g' /etc/init.d/zabbix_server sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g' /etc/init.d/zabbix_agentd
6、配置zabbix_server.conf服务端文件
修改 /etc/zabbix/etc/zabbix_server.conf 文件,并修改如下条目:
LogFile=/var/log/zabbix/zabbix_server.log //日志位置,根据需求修改
PidFile=/var/log/zabbix/zabbix_server.pid //PID所在位置
DBHost=localhost //数据库IP,如果不是本机,请修改
DBName=zabbix //数据库名称
DBUser=zabbix //数据库用户名
DBPassword=123456//数据库密码
tmp/zabbix_server.log 改 var/log/zabbix/zabbix_server.log #更改日志路径
sed 方式替换文件内容:
sed -i '/# DBPassword=/aDBPassword=123456\n' /etc/zabbix/zabbix_server.conf sed -i 's#tmp/zabbix_server.log#var/log/zabbix/zabbix_server.log#g' /etc/zabbix/zabbix_server.conf
7、配置 zabbix_agentd.conf 文件 (监控 server 本身, 如对其他服务器进行监控,配置文件相类似)
Server=127.0.0.1 此处添加服务端的 ip,如服务器不为本机,则需要填写远端 zabbix_server 的 ip 地址
ServerActive=127.0.0.1 此处修改为服务端的 ip,这里应该修改为该服务器对外的ip地址
/tmp/zabbix_agentd.log 修改日志路径
UnsafeUserParameters=0 默认是不启用自定义脚本功能的,要自定义 key ,需开启,设置为1
Include=/etc/zabbix/zabbix_agentd.conf.d/ 自定义的 agent d 配置文件可以写在这个目录下面
sed 方式替换文件内容:
sed -i 's#tmp/zabbix_agentd.log#var/log/zabbix/zabbix_agentd.log#g' /etc/zabbix/zabbix_agentd.conf sed -i '/# UnsafeUserParameters=0/aUnsafeUserParameters=1' /etc/zabbix/zabbix_agentd.conf
8、拷贝php网页文件到nginx中
mkdir -p /usr/local/nginx/html/zabbix/ cp -r /soft/zabbix/zabbix-3.2.5/frontends/php/* /usr/local/nginx/html/zabbix chown www.www -R /usr/local/nginx/html/zabbix
9、修改nginx.conf配置文件
location / { root /usr/local/nginx/html/zabbix; index index.php index.html index.htm ; }
10、开启zabbix
service zabbix_server start
service zabbix_agentd start
重启服务
/etc/init.d/nginx
service php-fpm restart
四、通过Web安装zabbix
浏览器中输入地址:http://ip/zabbix,则可看到如下初始化欢迎界面
之后修改php配置文件参数(这里必须做响应的修改,否则在之后的web初始化过程中会报错。)
1、vi /etc/php.ini #编辑修改
post_max_size =16M max_execution_time =300 max_input_time =300
:wq! #保存退出
通过 sed 方式进行内容替换:
cp /usr/local/php/etc/php.ini /usr/local/php/etc/php.ini.bak
sed -i '/post_max_size/s/8/16/g;/max_execution_time/s/30/300/g;/max_input_time/s/60/300/g;' /usr/local/php/etc/php.ini
Next step
Database:MySQL
Database host:localhost
Database port:3306
Database name:zabbix
User:zabbix
Password:123456
Next step
账号:admin
密码:zabbix
Sign in 登录
zabbix server 安装完成
进入界面后,如果显示zabbix server is not running,那可能需要重启zabbix server服务,或者在查看 /var/log/zabbix/zabbix_server.log查看log,报错:
1225:20170521:202555.906 database is down: reconnecting in 10 seconds
1225:20170521:202605.908 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
解决方法
mkdir /var/lib/mysql ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock