zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。在普通的企业级环境中,zabbix通常由2部分构成,zabbix server与可选组件zabbix agent。
  
     本系列的运行环境为CentOS6.5,zabbix的版本为官网最新的稳定版2.4.7。
 
  在使用zabbix之前,首先要学会安装zabbix。官网的文档中,首推的安装方式为yum或apt安装,这种方式比较简单,适合于可以上网的环境。但对于有些企业级环境中,实行严格的内外网隔离策略,内网是不允许直连公网的,并且要监控服务器多数是运行在内网中。所以在这种情况下,就更加需要另外一种方式也就是源码安装的方式来安装zabbix。
 
  本文将介绍如何进行zabbix的源码安装。

配置本地yum源

      因受网络限制,但有些依赖包又不得不需要安装,故只能自架本地yum源。假设已从CD中将各rpm包拷贝至/ISO/Packages目录下。按照如下顺序建立本地yum源。
 
  • 安装createrepo包,用于建立本地仓库,供yum源的安装和更新。
cd /ISO/Packages
ll|grep createrepo
rpm –ivh createrepo-0.9.-.e16.noarch.rpm

  若安装过程中提示需要安装依赖包,请按提示安装。

  • 执行createrepo命令,创建repodata目录
cd /ISO/Packages
createrepo .
  • 设置本地yum源
cd /etc/yum.repo.d
mv CentOS-Base.repo CentOS-Base.repo.bak
cp CentOS-Media.repo CentOS-Base.repo
vi CentOS-Base.repo
做如下配置修改:
#yum源所在地
baseurl=file:///ISO/Packages/
#不做校验检查
gpgcheck=
#设置为通过本地媒介进行yum安装
enabled=1 yum clean all
yum makecache

安装Mysql数据库

  zabbix支持安装在多种数据库上,本方案中数据库为mysql。安装及库表建立如下:

  • 安装mysql5.6.28,安装方式为rpm安装,安装前若本机已有老旧mysql,请卸载。
rpm –ivh MySQL-server-5.6.-.el6.x86_64.rpm
rpm –ivh MySQL-client-5.6.-.el6.x86_64.rpm
rpm –ivh MySQL-devel-5.6.-.el6.x86_64.rpm
rpm –ivh MySQL-shared-compat-5.6.-.el6.x86_64.rpm
  • 添加对mysqlclient的软连接(若不添加,后续的zabbix安装可能会报错说找不到mysqlclient)。
cd /usr/lib64
ln -s libmysqlclient.so.16.0. libmysqlclient.so
ln -s libmysqlclient_r.so.16.0. libmysqlclient_r.so
  • 安装完后默认的配置文件是/usr/my.cnf,默认的mysql root账号密码保存在/root/.mysql_secret。
  • 检查mysql是否在随机启动的列表中,若无则添加,并启动。
chkconfig --list|grep mysql
chkconfig --add mysql
chkconfig mysql on
service mysql start
  • 修改root账户密码。
mysql –uroot –p
set password=password('');
flush privileges;
  • 创建zabbix数据库及其访问账号。
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
flush privileges;
  • 初始化zabbix数据库。
mysql -uzabbix –p zabbix < schema.sql
mysql -uzabbix –p zabbix < images.sql
mysql -uzabbix –p zabbix < data.sql

安装zabbix Server

  • 下载并解压zabbix2.4.7
cd /usr/local/src
tar –xvf zabbix-2.4..tar.gz
cd zabbix-2.4.
  • 添加zabbix账号(注意的是默认情况下zabbix server和client都是运行在zabbix账号下,需要自行添加该账号。也可以通过修改server的配置文件指定zabbix server运行在root账号下,不推荐)
groupadd zabbix
useradd –g zabbix zabbix
  • 安装zabbix,若有缺依赖包,按提示自行添加
yum -y install net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel 
./configure --prefix=/usr/local/zabbix --enable-server --with-mysql --with-net-snmp --with-libcurl --with-libxml2
make && make install
  • 修改zabbix server的配置文件
vi /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
  • 设置zabbix server的日志路径和访问权限
mkdir /var/log/zabbix
chown -R zabbix:zabbix /var/log/zabbix
  • 将zabbix server设置成随机启动,并启动
cp /usr/local/src/zabbix-2.4./misc/init.d/fedora/core/zabbix_server /etc/init.d
vi /etc/init.d/zabbix_server
#修改zabbix路径
BASEDIR=/usr/local/zabbix
chkconfig --add zabbix_server
chkconfig zabbix_server on
service zabbix_server start
  • 检查zabbix server是否正确启动
netstat -tlnp|grep zabbix
#可看见zabbix server运行在10051端口上
ps -ef|grep zabbix
#可看见zabbix server运行在zabbix账户下,并开启多个进程监听

安装libjpeg&freetype

  zabbix server有图形化要求,需要借助PHP gd的支持,这两项是PHP gd的必须项。由于PHP默认不支持这两项的安装,因此需要提前装好这两组件。

  • 安装freetype-2.6.tar.gz
cd /usr/local/src
tar -xvf freetype-2.6.tar.gz
cd freetype-2.6
./configure --prefix=/usr/local/freetype
make && make install
  • 安装jpegsrc.v6b.tar.gz
cd /usr/local/src
tar -xvf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --prefix=/usr/local/jpeg --enable-shared
make && make install

  安装过程中,若报错类似"make: ./libtool: Command not found“,则需要把系统中的libtool的配置文件覆盖jpeg本身的老旧对应文件。

cp /usr/share/libtool/config/config.sub .
cp /usr/share/libtool/config/config.guess .
make clean
./configure --prefix=/usr/local/jpeg --enable-shared

  安装过程中,若报错类似"cannot create regular file `/usr/local/jpeg/include/jconfig.h': No such file or directory",则需要手动建立相应目录。

mkdir -p /usr/local/jpeg/include
mkdir -p /usr/local/jpeg/lib
mkdir -p /usr/local/jpeg/bin
mkdir -p /usr/local/jpeg/man/man1
make && make install

安装PHP

  zabbix server本身是由php编写的,因此需要安装php的运行环境。

  • 建立php运行账号
groupadd www
useradd –g www www
  • 下载并解压php-5.6.16.tar.bz2
cd /usr/local/src
tar –xvf php-5.6..tar.bz2
cd php-5.6.
  • 安装php
yum -y install libpng-devel
./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --enable-sockets --with-gd --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-gettext --enable-mbstring --enable-bcmath --with-config-file-path=/usr/local/php/etc
make && make install

  若安装过程中有缺依赖包,请按照提示安装。

  • 将PHP命令添加至环境变量中。
vi /etc/profile
#末尾加入:
export PATH=$PATH:/usr/local/php/bin
#立即生效:
source /etc/profile
  • 配置php-fpm
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
  • 为满足zabbix的最低运行要求,配置php.ini文件。
cp /usr/local/src/php-5.6./php.ini-production /usr/local/php/etc/php.ini
vi /usr/local/php/etc/php.ini
post_max_size = 16M
max_execution_time =
max_input_time =
always_populate_raw_post_data = -
date.timezone = Asia/Shanghai
  • 设置php随机启动,并启动。
#开机启动
vi /etc/rc.local
/usr/local/php/sbin/php-fpm
#立即启动
/usr/local/php/sbin/php-fpm

  启动后可观察php运行在9000端口上。

安装Nginx

  zabbix server需要运行在web服务器上,官网推荐是安装在apache上,本方案是运行在nginx上,方法如下:

  • 下载并安装nginx-1.8.0.tar.gz
cd /usr/local/src
tar –xvf nginx-1.8..tar.gz
cd nginx-1.8.
  • 安装nginx
yum -y install pcre-devel
./configure --with-http_ssl_module --with-http_realip_module
make && make install

  上述安装中若缺依赖包,请根据提示安装

  • 修改nginx的配置文件,主要修改点如下:
user www www;
work_processes auto; location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
  • 将zabbix server的运行文件拷贝至nginx目录下。
cd /usr/local/nginx/html
mkdir zabbix
cd zabbix
cp -r /usr/local/src/zabbix-2.4./frontends/php/* .
cd ..
chown –R www:www zabbix
  • 设置nginx开机启动,并启动nginx。
#开机启动
vi /etc/rc.local
/usr/local/nginx/sbin/nginx
#启动nginx
/usr/local/nginx/sbin/nginx

初始化zabbix server

  nginx启动后,可以直接访问zabbix server:http://localhost/zabbix/index.php ,初始化是以图形界面进行配置的。

  • 首先检测php的运行环境是否正确。

  • 其次确保数据库连接正确

  • 配置好端口和host

  • 再次确认配置选项

  • 配置成功

  至此,zabbix server的源码安装成功结束,进入登录界面,默认的登录名和密码是:Admin/zabbix。

[原创] zabbix学习之旅一:源码安装的更多相关文章

  1. [原创] zabbix学习之旅三:agent安装

    部署完zabbix server后,自然要部署zabbix agent.在官方描述中,agent是部署在被监控的机器上,用于采集CPU.内存.磁盘等统计信息,并上报给server用于进一步处理.age ...

  2. [原创] zabbix学习之旅二:yum安装

    对于允许连接公网的环境下,显然通过yum安装是最为简单方便的,也是官网推荐的安装方式.通过这种方式安装,会将php.apache.zabbix本身都一并安装,解决了烦人的依赖包问题.   本文将介绍如 ...

  3. 学习Tensorflow,使用源码安装

    PC上装好Ubuntu系统,我们一步一步来讲解如何使用源码安装tensorflow?(我的Ubuntu系统是15.10) 安装cuda 根据你的系统型号选择相应的cuda版本下载 https://de ...

  4. Zabbix监控系统部署:源码安装

    1. 概述1.1 基础环境2. 部署过程2.1 创建用户组2.2 下载源码解压编译安装2.2.1 下载源码解压2.2.2 YUM安装依赖环境2.2.3 编译安装最新版curl2.2.4 更新GNU构建 ...

  5. [原创] zabbix学习之旅五:如何快速搭建一个报警系统

    通过之前的文章,我们已搭建好zabbix server.agent和mail客户端,现在万事俱备,只差在server的界面中进行相应配置,即可快速搭建一个报警系统.总的来说,快速搭建一个报警系统的顺序 ...

  6. [原创] zabbix学习之旅七:如何远程操作被监控机器

    虽然我们已经创建了一个报警系统,但在实际场景中,运维人员从得到报警到实际解决问题有一定的时差,若业务系统没有做高可用,那业务不得不中断,对于某些要求严格的企业级环境,这是不可容忍的,那有没有方法能让z ...

  7. [原创] zabbix学习之旅六:如何解决zabbix server在内网,而邮件发送服务器在外网的问题

    通过前面的文章,你已经可以快速地搭建一个报警系统,并能正常的收到报警邮件了.不过在很多企业级环境下,邮件发送服务器往往放在外网,而zabbix server放置在内网,在这种情况下,zabbix的报警 ...

  8. [原创] zabbix学习之旅四:mail客户端安装

    相信大家使用zabbix的最主要目的就是当被监控机器发生故障时,能通过zabbix获得第一时间的报警提醒.zabbix常用的报警媒介有email,短信,jabber和脚本,这其中脚本类型最为灵活,尤其 ...

  9. 《一个操作系统的实现》学习笔记(一) bochs源码安装及配置

    前言:本机环境ubuntu 14.04 bochs 2.4.5 一.下载 官网 http://bochs.sourceforge.net/ 二.安装 1.将下载好的压缩包解压并进入该目录 .tar.g ...

随机推荐

  1. Linux 内核简介

    Linux内核简介 一.系统架构 (1). Linux系统架构 ##用户空间: 文件系统 C库 ##内核空间: 接口 内核 (2). Linux内核架构 二.Linux内核源代码 下载地址 www.k ...

  2. Sherlock and The Beast

    Sherlock Holmes suspects his archenemy, Professor Moriarty, is once again plotting something diaboli ...

  3. 安装SqlServer2008时相关问题

    在安装SqlServer2008时,安装程序支持规则,老提示重启计算机 1,运行 regedit 打开注册表编辑器. 2,依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentCo ...

  4. ubuntu(16.04.01)学习-day2--高级命令

    1.查找命令 find -name "hello.c" grep "test" grep "usb" -c -r /drivers/usb ...

  5. RDD机制实现模型Spark初识

    Spark简介 Spark是基于内存计算的大数据分布式计算框架.Spark基于内存计算,提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性.       在Spark中,通过RDD( ...

  6. js前端防止默认表单提交

    代码如下: document.forms[0].onsubmit=function(){return false;};

  7. Cocos移植到Android-通过命令行交叉编译打包

    当我们在Windows下使用Visual Studio开发好Win32平台的游戏程序后,我们需要把它们移植到不同的平台上.Cocos2d-x支持很多个平台,然而,我们不可能介绍全部平台的移植.我们总结 ...

  8. ios开发入门篇(二):Objective-C的简单语法介绍

    一:面向对象的思想 objective-c与C语言的编程思想不同,C语言是面向过程的编程,而objective-c则是面向对象的编程,所谓面向对象,我个人的理解,就是抽象.将具有一定共同点的实物抽象成 ...

  9. GIS初学者

    学习编程一直以来没有什么好的思路,感觉就是学了忘,忘了再重复,效率特别低下.大概是从大三第一学期才有意识的转向c#的学习,来熟悉VS2010平台,在这之前我都不知道自己是怎么学习的. 大一第二学期开的 ...

  10. opencv 手写选择题阅卷 (三)训练分类器

    opencv 手写选择题阅卷 (三)训练分类器 1,分类器选择:SVM 本来一开始用的KNN分类器,但这个分类器目前没有实现保存训练数据的功能,所以选择了SVN分类器; 2,样本图像的预处理和特征提取 ...