编译安装 Zabbix 监控平台

一、介绍

Zabbix 不仅适合中小企业,也适合大企业,它是基于C++开发的 C/S 架构,分为服务端(server)和客户端(client),单个服务端节点可以支持上万台客户端。在硬件和网络足够强大的情况下,单台服务端理论上可以支持5万个客户端。

20180330182715.png

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。

数据库管理系统:
20180330153528.png

运行Zabbix前端需要以下软件:
zabbix frontend.png

本文安装的是 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)、添加客户端

20180330183252.png

标签: zabbix

添加新评论