编译安装 Zabbix 监控平台
一、介绍
Zabbix 不仅适合中小企业,也适合大企业,它是基于C++开发的 C/S 架构,分为服务端(server)和客户端(client),单个服务端节点可以支持上万台客户端。在硬件和网络足够强大的情况下,单台服务端理论上可以支持5万个客户端。
1)、基础依赖:
yum install curl curl-devel net-snmp snmp net-snmp-devel libssh2-devel libevent-devel libxml2-devel -y
2)、安装环境:
# 系统版本
CentOS 7+
# LAMP 环境
MySQL 5.6、Apache 2.4、php-7
# IP地址分配
服务端 IP 地址:192.168.43.15
客户端 IP 地址:192.168.43.71
3)、软件支持
zabbix服务端需要LAMP架构支持,如果同时安装Nginx和Apache,则需要修改Apache端口,让Nginx代理httpd。
根据官方提示,zabbix3.0及以上最低支持php5.4.0,不支持php7。zabbix3.2及以上支持PHP7。
数据库管理系统:
运行Zabbix前端需要以下软件:
本文安装的是 zabbix 3.2 版本。
二、安装服务端
1)、配置MySQL
Zabbix server 和 proxy 守护进程以及Zabbix前端,都需要连接到一个数据库。Zabbix agent不需要数据库的支持。如果还没有安装数据库的话,请参见 MySQL 二进制免编译安装 一文。
编辑MySQL配置文件:
vim /etc/my.cnf
# 在[mysqld]模块下增加如下内容
character_set_server = utf8
# 重启mMySQL服务
/etc/init.d/mysqld restart
创建 zabbix 数据库及用户:
mysql -u用户名 -S /tmp/mysql.sock -p数据库密码
mysql> create database zabbix character set utf8;
# 创建zabbix数据库用户
mysql> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by '123456';
将Zabbix 相关的数据导入数据库,这些数据有可能只在一个数据包里面,具体情况视安装版本而定:
mysql> use zabbix
# 导入表结构
mysql> source /usr/local/src/zabbix-3.2.11/database/mysql/schema.sql
# 导入图片库
mysql> source /usr/local/src/zabbix-3.2.11/database/mysql/images.sql
# 导入初始脚本
mysql> source /usr/local/src/zabbix-3.2.11/database/mysql/data.sql
2)、安装zabbix
1、创建用户:
useradd -s /sbin/nologin -M zabbix
# 创建日志文件目录:
mkdir /var/log/zabbix
chown zabbix:zabbix /var/log/zabbix/
chmod -R 775 /var/log/zabbix/
2、安装zabbix
解压安装:
cd /usr/local/src/
tar zxf zabbix-3.2.11.tar.gz
cd zabbix-3.2.11
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make && make install
编辑启动脚本:
# 复制启动脚本
cp /usr/local/src/zabbix-3.2.11/misc/init.d/fedora/core/zabbix_server /etc/init.d/
# 修改服务端启动脚本
vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix
zabbix server 配置文件:
vim /usr/local/zabbix/etc/zabbix_server.conf
# 定义数据库
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=123456
# 定义日志路径
LogFile=/var/log/zabbix/zabbix_server.log
设置开机启动:
# 服务端
chkconfig --add zabbix_server
chkconfig --level 35 zabbix_server on
3)、安装 web 界面
Zabbix前端使用PHP写的,所以必须运行在PHP支持的Web服务器上。只需要简单的从frontends/php路径下复制PHP文件到Web服务器的HTML文件目录,就可以完成安装。
创建 web 目录,然后将相关文件复制到该目录下:
mkdir -p /data/www/zabbix
cp frontends/php/* /data/www/zabbix/ -R
1、配置Apache
找到Apache的虚拟主机配置文件:
vim /usr/local/apache24/conf/extra/httpd-vhosts.conf
# 作如下配置
<VirtualHost *:80>
DocumentRoot "/data/www/zabbix"
ServerName 192.168.43.15
</VirtualHost>
# 重新加载 httpd 服务
/usr/local/apache24/bin/apachectl –t
Syntax OK
/usr/local/apache24/bin/apachectl graceful
2、web安装
在浏览器中输入http:// 192.168.43.15
就可以进入 zabbix 的 web 安装界面,直接 Next step。
在确认满足所有的软件安装前置条件界面中可能会出现很多错误,一般可以通过修改PHP的配置文件解决:
vim /usr/local/php7/etc/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = "Asia/Shanghai"
# 重载 httpd 服务
/usr/local/apache24/bin/apachectl graceful
再次刷新浏览器,刚才的问题已经解决。
第三步
连接mysql数据库,输入之前配置好的数据库信息。
第四步:
继续下一步,出现 zabbix server details 对话框,这一步是让我们填写 zabbix server 本机的相关信息,目的是监控它。因为还没配置 zabbix-agent,这里我们选择跳过。
第五步:
检查配置信息。
第六步:
下载配置文件,将它放置在Web服务器HTML文档子目录(即你复制Zabbix PHP文件的目录)的conf/路径下。
最后出现 Congratulation! You have successfully installed Zabbix fronted.
提示,说明web界面已经安装完成。
点击Finish 完成安装,然后进入登录界面。
输入用户名 Admin,密码 zabbix,正式进入 zabbix 控制台。
4)、设置web 界面中文
选择菜单栏:
Administration
>> Users
>> Admin
>> Language
>> Chinese(zh_CN)
然后点击Update按钮,刷新页面即显示中文。
如果在选择语言的时候看到如下提示:
Translations are unavailable because the PHP gettext module is missing.
这是由于PHP安装的时候,没有配置 gettext 模块所致。可以通过进入同一版本的 PHP 的源码包目录,进行动态扩展模块安装。
具体步骤如下:
# 路径和版本号可能有所不同
cd /usr/local/src/php-7.0.27/ext/gettext/
# 生成configure文件
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config
make && make install
以上命令中的相关路径根据自己的安装情况而定
vim /usr/local/php7/etc/php.ini
# 找到 extension= 添加一条:
extension = "gettext.so"
再次刷新浏览器页面即可修改语言。
三、安装客户端
相对于服务端而言,客户端的安装过程,仅仅安装zabbix_agent即可。
1)、创建 zabbix 用户、日志文件目录:
useradd -s /sbin/nologin -M zabbix
mkdir /var/log/zabbix
chown zabbix:zabbix /var/log/zabbix/
chmod -R 775 /var/log/zabbix
2)、安装zabbix_agent
cd /usr/local/src/
tar zxf zabbix-3.2.11.tar.gz
cd zabbix-3.2.11
# 这一步只配置--enable-agent
./configure --prefix=/usr/local/zabbix --enable-agent
make && make install
3)、zabbix 配置文件
vim /usr/local/zabbix/etc/zabbix_agentd.conf
# 定义服务端的IP(被动模式)
Server=192.168.43.15
# 定义服务端的IP(主动模式)
ServerActive=192.168.43.15
# 自定义主机名
Hostname=test-71
# 日志路径
LogFile=/var/log/zabbix/zabbix_agentd.log
主动模式和被动模式是相对于客户端来讲的。
- 如果是被动模式,服务端会主动连接客户端获取监控数据,客户端被动接受连接,并把数据传递给服务端。
- 如果是主动模式,客户端会主动的把监控数据上报给服务端。服务端只负责接受即可。
如果客户端服务器较多的话,那么就要采用主动模式,以此减轻服务端的压力。
4)、启动脚本:
# 复制启动脚本
cp /usr/local/src/zabbix-3.2.11/misc/init.d/tru64/zabbix_agentd /etc/init.d/
chmod +x /etc/init.d/zabbix_agentd
# 修改启动脚本
vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix/
5)、设置开机启动:
# 添加到开机启动
chkconfig –add zabbix_agentd
chkconfig zabbix_agentd on
# 启动服务:
/etc/init.d/zabbix_agentd start
6)、添加客户端