Zabbix是一个基于WEB界面提供分布式系统监视以及网络监视功能的企业级开源解决方案,如果您手里要需要管理多台服务器,使用Zabbix来监控非常合适。Zabbix由2部分构成,Zabbix server与可选组件zabbix agent。
Zabbix server需要用到PHP Mysql支持,(SQLite、PostgreSQL等数据库也可以),由于服务器已经安装了OneinStack(Linux Nginx MySQL PHP)环境,为了当前环境不受到影响,所以选择源码编译方式安装Zabbix server
1. 编译Zabbix server & agent
代码语言:javascript复制#安装各种依赖
yum -y install gcc gcc-c curl-devel mysql-devel curl-devel net-snmp net-snmp-devel
#创建用户 & 用户组
groupadd zabbix
useradd -g zabbix zabbix
#下载源码,可从官方下载最新版
wget http://soft.xiaoz.org/linux/zabbix-3.4.4.tar.gz
#解压
tar -zxvf zabbix-3.4.4.tar.gz && cd zabbix-3.4.4
#编译安装
./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
make install
注意事项:
xiaoz在写这篇文章的时候Zabbix 最新稳定版为3.4
,可以在官方https://www.zabbix.com/download找到最新的源码包
如果编译的时候提示“checking for mysql_config... configure: error: MySQL library not found”这样的报错,这种情况可以指定mysql_config
位置,比如:
#查找mysql_config位置
find / -name 'mysql_config'
#指定位置
--with-mysql=/usr/local/mysql/bin/mysql_config
如果编译的时候依然有报错,请根据实际报错情况搜索处理。CentOS 7编译安装Zabbix server后,配置文件路径如下:
代码语言:javascript复制/usr/local/etc/zabbix_server.conf
/usr/local/etc/zabbix_agentd.conf
2. 导入数据库
需要自己创建一个数据库(略过),并将源码包里面有3个数据库文件(位于zabbix-3.4.4/database/mysql
),一定要按照下面的顺序依次导入:
├─ zabbix-3.4.4/database/mysql
├─ schema.sql
├─ images.sql
└─ data.sql
修改配置文件/usr/local/etc/zabbix_server.conf
填写正确的数据库账号、密码等信息,然后输入zabbix_server && zabbix_agentd
启动Zabbix server和Zabbix agent
3. 安装WEB界面
WEB界面使用PHP开发,所以您需要新建一个站点,PHP源码位于zabbix-3.4.4/frontends/php
将里面的所有源码拷贝到您站点目录下,访问您的域名:http://domain.com/
输入Zabbix Server的一些基本信息即可完成,安装成功后会看到如下界面。用户名是Admin
,密码是zabbix
,请登录后务必修改。
设置中文
Zabbix默认界面是英文语言,可以在个人中心设置为中文语言,方便管理,如下图。
中文乱码?
打开自己的电脑C:WindowsFonts
随便拖一个中文语言字体出来,比如simkai.ttf
上传至站点fonts
目录下,替换原来的默认字体。
#对原来的字体备份
mv DejaVuSans.ttf DejaVuSans.ttf.bak
#对新上传的字体命名
mv simkai.ttf DejaVuSans.ttf
乱码截图
4. 开机自动启动
先将Zabbix注册为服务,并赋予权限,再设置开机启动,执行下面的命令即可:
代码语言:javascript复制cd zabbix-3.4.4
cp misc/init.d/tru64/zabbix_server /etc/init.d/zabbix_server
cp misc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentd
#赋予权限
chmod 755 /etc/init.d/zabbix_*
编辑zabbix_server
、zabbix_agentd
这两个文件,在头部加入:
#chkconfig: 35 95 95
#description:zabbix Agent server
注册为服务,并开机启动:
代码语言:javascript复制chkconfig --add zabbix_server
chkconfig --add zabbix_agentd
chkconfig zabbix_server on
chkconfig zabbix_agentd on
至此安装已基本完成,如果需要监控其它服务器数据,可通过官方RPM包方式仅安装客户端即可。客户端不需要PHP/数据库支持,推荐官方RPM包方式安装客户端,较为便捷。
5. 扩展阅读
- Zabbix配置文件详解之服务端zabbix_server
- zabbix_agentd.conf配置文件详解
6. 总结
主机商一般默认带有服务器数据监控功能,但如果您手里有多台服务器且不在一个服务商,管理起来很不方便,而且出现故障无法及时知晓,Zabbix正好可以完美解决这个问题,Zabbix不仅数据详细,且支持多种不同动作及通知等,以及开放的API,可以在现有基础上不断定制和强化。Zabbix功能实在是太强大了,xiaoz连皮毛都还未掌握。
部分监控数据
此文部分内容参考了:4 从源代码安装 [Zabbix Documentation 3.4] CENTOS6.3下zabbix安装部署
官方主页:https://www.zabbix.com/ 官方手册:https://www.zabbix.com/documentation/3.4/zh/manual 顺便再推荐一本关于Zabbix教程的电子书 ZABBIX从入门到精通v3.0.1(PDF) ZABBIX从入门到精通v3.0.1(MOBI)