Linux安装部署Zabbix监控系统

实战企业Zabbix监控系统

在使用Zabbix监控主机的CPU、内存、磁盘和网络接口等信息前,我们需要先部署企业中的第一个Zabbix监控主机。本文主要介绍如何在RHEL6.7上部署一个Zabbix监控系统。

Part.1 Zabbix系统部署要求

Zabbix监控系统的运行条件,可以是运行Linux、IBM AIX、FreeBSD、NetBSD、OpenBSD、HP-UX、Mac OS X和Solaris操作系统的机器,并且需要C语言编译器。

Zabbix系统的Web GUI依赖于LAMP或者LNMP环境之上,其中本文使用的是zabbix2.4.6版本,其中MySQL版本最低要求5.0.3及以后,并且使用InnoDB存储引擎,其它依赖软件如下:

从上表中,我们下载满足条件的Apache、MySQL和PHP等软件,准备开始部署zabiix系统前的准备工作。

Part.2 Zabbix Server的基本配置

在正式安装Zabbix之前,我们需要做一些基本的准备工作如下:

1

关闭selinux和iptables

2

设置IP地址、子网掩码等网络信息

3

设置主机名和hosts文件

4

配置一个本地或网络的yum下载源

5

安装c语言和C++的开发环境(gcc、gcc-c++、automake、autoconf)

按照如上步骤,逐步完成Zabbix部署前的准备工作,由于准备工作比较基础,这里不再逐步说明。

Part.3 源码部署LAMP环境

Zabbix 最为重要的步骤是部署一个LAMP环境,这是运行zabbix所必须的。具体步骤如下:

安装Apache的依赖包apr、apr-util和pcre

下载apr软件包后,执行如下命令安装apr

# tar -zxf apr-1.5.2.tar.gz

# cd apr-1.5.2

# ./configure –prefix=/usr/local/apr

# make && make install

下载apr-util软件包后,执行如下命令安装apr-util

# tar -zxf apr-util-1.5.4.tar.gz

# cd apr-util-1.5.4

# ./configure –prefix=/usr/local/apr-util -with-apr=/usr/local/apr

# make && make install

下载pcre软件包后,执行如下命令安装

# tar -zxf pcre-8.37.tar.gz

# cd pcre-8.37

# ./configure –prefix=/usr/local/pcre

# make && make install

如果在安装过程中,遇到错误,请按照系统的错误提示解决,完成成以上步骤,Apache所依赖的apr、apr-util和pcre就安装完成了。

安装Apache软件包

Apache 是模块化的服务器,核心服务器中只包含了功能最常用的模块,而扩展功能由其他模块提供。设置过程中,你必须指定需要包含的模块。Apache 文档中有模块清单备查,其中状态为"Base"的模块会被默认地包含进核心服务器,如果不需要包含某个模块(比如mod_userdir),则必须明确地禁用它;其他状态的模块(比如mod_expires),也必须明确启用以使之包含进核心服务器。

一般情况下,核心模块功能我们全部启用;除此之外,我们为了使搜索引擎更容易收录我们的网页,需要将动态页面的URL 重写为静态页面的URL,需要mod_rewrite;为了今后动态添加模块而不重新编译apache(例如添加PHP 的支持),需要启用mod_so。

下载Apache软件包后,执行如下命令安装

# tar -zxf httpd-2.4.16.tar.gz

# cd httpd-2.4.16

# ./configure –prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-so --enable-rewrite --enable-mime-magic --enable-mem-cache

# make && make install

Part.4 安装MySQL数据库

安装cmake

下载cmake软件后,执行如下命令安装cmake,用于安装MySQL

# tar -zxf cmake-3.0.2.tar.gz

# cd cmake

# ./configure

# make && make install

安装MySQL

下载MySQL软件后,执行如下命令安装MySQL

# tar -zxf mysql-5.6.21.tar.gz

# cd mysql-5.6.21

# useradd -Mrs /sbin/nologin mysql

# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_USER=mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

# make && make install

# cd /usr/local/mysql

# chown -R mysql .

# chgrp -R mysql .

# ./scripts/mysql_install_db --user=mysql

# chown -R root .

# chown -R mysql data

# bin/mysqld_safe --user=mysql &

# cp mysql-5.6.21/support-files/mysql.server /etc/init.d/mysql.server

Part.5 安装PHP

PHP 是一种嵌入在 HTML 并由服务器解释的脚本语言。它支持许多流行的数据库,包括 MySQL、PostgreSQL、Oracle、Sybase、Informix 和 Microsoft SQL Server。

要使PHP 支持相关的功能那么在安装前需要安装相应的软件,例如要使PHP支持MySQL 数据库,在编译PHP之前,必须首先安装MySQL 数据库。

在安装完Apache 和MySQL 后,可以开始安装PHP 了。安装PHP 的步骤如下:

安装GD库依赖软件包

下载zlib,执行如下命令安装

# tar -zxf zlib-1.2.8.tar.gz

# cd zlib-1.2.8

# ./configure --prefix=/usr/local/zlib

# make && make install

下载libpng,执行如下命令安装

# tar -zxf libpng-1.5.22.tar.gz

# cd libpng-1.5.22

# ./configure --prefix=/usr/local/libpng --enable-shared

# make && make install

下载jpeg,执行如下命令安装

# tar -zxf jpegsrc.v9a.tar.gz

# cd jpeg-9a/

# ./configure --prefix=/usr/local/jpeg

# make && make install

下载freetype,执行如下命令安装

# tar -zxf freetype-2.6.tar.gz

# cd freetype-2.6

# ./configure --prefix=/usr/local/freetype

# make && make install

下载libXpm,执行如下命令安装

# tar -zxf libXpm-3.5.11.tar.gz

# cd libXpm-3.5.11

# ./configure --prefix=/usr/local/libxpm

# make && make install

安装GD库

下载GD,执行如下命令安装

# tar -zxf libgd-2.1.1.tar.gz

# cd libgd-2.1.1

# ./configure --prefix=/usr/local/gd --with-zlib=/usr/local/zlib --with-png=/usr/local/libpng --with-jpeg=/usr/local/jpeg --with-freetype=/usr/local/freetype --with-xpm=/usr/local/libxpm

# make && make install

安装PHP依赖软件包

下载libxml2,执行如下命令安装

# yum install python-devel -y

# tar -zxf libxml2-2.9.2.tar.gz

# cd libxml2-2.9.2

# ./configure make && make install

下载libiconv,执行如下命令安装

# tar -zxf libiconv-1.14.tar.gz

# cd libiconv-1.14

# ./configure --prefix=/usr/local/libiconv

# make && make install

下载libmcrypt,执行如下命令安装

# tar -zxf libmcrypt-2.5.7.tar.gz

# cd libmcrypt-2.5.7

# ./configure --prefix=/usr/local/libmcrypt

# make && make install

安装PHP软件包

刚才已经提到,打算使用MySQL 来存储数据,因此必须要指名支持MySQL 数据(--with-mysql),并指名MySQL 数据的安装位置;如果需要处理XML 数据,需要 --wiht-xml 和 –with-dom; 如果需要使用PHP 脚本来生成图片, 需要使用--with-gd。总之如果需要使用的功能的库文件不在系统路径内,必须要明确支持,如果不明确支持,那么配置脚本自动进行处理。集体需要使用什么功能,这取决于站点的PHP 脚本使用的函数。

下载PHP,执行如下命令安装

# ln -s /usr/local/libxpm/include/X11/xpm.h /usr/include/X11/xpm.h

# tar -zxf php-5.6.4.tar.gz

# cd php-5.6.4

# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-gd=/usr/local/gd --with-zlib --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-xpm-dir=/usr/local/libxpm --with-iconv=/usr/local/libiconv --with-mcrypt=/usr/local/libmcrypt --enable-mbstring --enable-bcmath --enable-sockets --with-mysql=/usr/local/mysql --with-mysqli --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --with-gettext

# make && make install

Part.6 配置Apache

在Apache配置文件httpd.conf中增加如下行,让Apache支持PHP。

... ...

AddType application/x-httpd-php .php

... ...

在Apache的网站主目录/usr/local/apache/htdoc下,创建一个测试文件,文件名称自定义,例如:phpinfo.php;编辑phpinfo.php测试页,内容如下:

phpinfo();

?>

利用该测试页,可以测试Apache是否支持PHP,同时可以通过输出结果查看是否支持MySQL。

启动Apache服务进行测试

# /usr/local/apache2/bin/apachectl start

在浏览器中访问刚才的页面,例如:http://localhost/phpinfo.php

如果成功返回php 的相关信息,说明安装成功。

Part.7 源码安装abbix

安装Zabbix Server依赖包

为了支持SNMP,需要net-snmp软件,执行如下命令安装:

# yum install net-snmp net-snmp-devel curl curl-devel

源码安装Zabbix Server

准备工作完成后,可以正式开始安装Zabbix,执行如下步骤完成Zabbix的安装:

1

创建Zabbix的用户和组

# groupadd zabbix

# useradd -g zabbix -s /sbin/nologin zabbix

2

在MySQL数据库中创建zabbix用户账号并授权

1

创建MySQL账号语法:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

其中:

• username :你将创建的用户名

• host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%

•password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器。

2

授权语法:

GRANT privilegesON databasename.tablename TO 'username'@'host'

其中:

•privileges - 用户的操作权限,如SELECT ,INSERT , UPDATE 等.如果要授予所的权限则使用ALL

• databasename - 数据库名

• tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*

下面是创建zabbix账号,密码为zabbix的范例:

mysql>create user 'zabbix'@'localhost' identified by 'zabbix';

mysql>grant all privileges on zabbix.* to zabbix@'localhost'

3

在MySQL数据库中创建Zabbix数据库

mysql> create database zabbix character set utf8;

4

导入数据库的sql脚本

# tar -zxf zabbix-2.4.6.tar.gz

# cd zabbix-2.4.6

# mysql -uzabbix -pzabbix zabbix

# mysql -uzabbix -pzabbix zabbix

# mysql -uzabbix -pzabbix zabbix

5

Zabbix的编译安装

# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --enable-proxy

# make

# make install

Part.8 配置Zabbix服务

1

添加配置文件到/etc目录下

# ln -s /usr/local/zabbix/etc/ /etc/zabbix

2

修改ZabbixServer配置文件zabbix_server.conf,在文件尾添加如下内容:

LogFile=/tmp/zabbix_server.log

PidFile=/tmp/zabbix_server.pid

DBHost=localhost

DBName=zabbix #数据库名称

DBUser=zabbix #数据库用户账户

DBPassword=zabbix #指定zabbix数据库密码

ListenIP=0.0.0.0 #服务器IP地址

3

修改ZabbixAgentd配置文件zabbix_agentd.conf,在文件尾添加如下内容:

LogFile=/tmp/zabbix_agentd.log #日志保存位置

PidFile=/tmp/zabbix_agentd.pid #进程PID

EnableRemoteCommands=1 #允许执行远程命令

Server=10.1.1.119 #agent端的ip

Hostname=localhost #必须与zabbix创建的host name相同

4

为Web前端,添加php文件

# cp -rf php /usr/local/apache2/htdocs/zabbix

# chown -R zabbix.zabbix zabbix

5

为Web前端修改php相关参数,编辑/etc/php.ini配置文件,找到如下几项,修改结果如下:

max_execution_time = 300

max_input_time = 300

date.timezone = Asia/Shanghai

post_max_size = 32M

memory_limit = 128M

mbstring.func_overload = 0

always_populate_raw_post_data = -1

说明:找到以上几项,如果有;号的请删除掉,然后修改为以上值

6

重启Apache服务,使得修改生效

# /usr/local/apache2/bin/apachectl restart

7

开始配置Web前端:

• 在浏览器中访问Zabbix Server的地址,例如:http://10.1.1.119/zabbix

• 在“欢迎界面”单击“next”

• 在“Check ofpre-requisites”界面,确保所有项目全部显示“ok”,单击“next”

• 在“Configure DB connection”界面,输入MySQL中用于连接Zabbix数据库的用户名和密码

• 在“Zabbix server details”界面,输入Zabbix Server端的主机名或IP地址

• 在“Pre-Installationsummary”界面,单击“next”

• 在“Install”界面,按照提示将配置文件下载到/usr/local/apache/htdoc/zabbix/conf下,名称为zabbix.conf.php,注意文件权限为zabbix,完成后运行“Retry”点击“完成”

至此,Zabbix的安装已经完成,接下来启动Zabbix Server的服务。

Part.9 启动Zabbix服务

1

可以直接执行/usr/local/zabbix/sbin/下的zabbix_server和agentd程序文件

# /usr/local/zabbix/sbin/zabbix_server

# /usr/local/zabbix/sbin/zabbix_agentd

2

为了方便Zabbix Server和Agent的服务的启动和关闭,复制启动脚本

# cp ./misc/init.d/fedora/core/zabbix_server /etc/init.d/

# cp ./misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

3

将zabbix_server和agentd和启动脚本文件中的BASEDIR的值修改为

BASEDIR=/usr/local/zabbix

4

设置ZabbixServer和Agentd开机自动启动

# chkconfig zabbix_server on

# chkconfig zabbix_agentd on

5

最后使用http://ZabbixIP/zabbix访问,默认的用户名admin和密码为zabbix登录验证:

如果输入用户名密码后,到此,整个Zabbix部署完成。就可以开启你使用Zabbix监控资源之旅啦!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180819G1E2D500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券