CentOS 7编译安装Zabbix server

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

#安装各种依赖
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后,配置文件路径如下:

/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:\Windows\Fonts随便拖一个中文语言字体出来,比如simkai.ttf上传至站点fonts目录下,替换原来的默认字体。

#对原来的字体备份
mv DejaVuSans.ttf DejaVuSans.ttf.bak
#对新上传的字体命名
mv simkai.ttf DejaVuSans.ttf

4. 开机自动启动

先将Zabbix注册为服务,并赋予权限,再设置开机启动,执行下面的命令即可:

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

注册为服务,并开机启动:

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连皮毛都还未掌握。

标签:ZabbixCentos 发布于:2019-11-02 13:16:40