zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

要想搭建一个Zabbix的工作环境,需要从服务器入手。与服务器通信,管理员需要使用一个Zabbix前端界面,与Zabbix服务器和数据库进行通信。三个关键(界面、服务器和数据库)可以安装在同一台服务器上,但是如果你拥有一个更大更复杂的环境,将它们安装在不同的主机上也是一个选项。Zabbix服务器能够直接监控到同一网络中的设备,如果其他网络的设备也需要被监控,那还需要一台Zabbix代理服务器。

zabbix的主要特点:

- 安装与配置简单,学习成本低

- 支持多语言(包括中文)

- 免费开源

- 自动发现服务器与网络设备

- 分布式监视以及WEB集中管理功能

- 可以无agent监视

- 用户安全认证和柔软的授权方式

- 通过WEB界面设置或查看监视结果

- email等通知功能

等等

Zabbix主要功能:

- CPU负荷

- 内存使用

-磁盘使用

- 网络状况

- 端口监视

- 日志监视。


安装前准备

1.将不必要编译的软件安装的机器上

yum install -y beecrypt beecrypt-devel curl curl-devel freetype freetypr-devel fontconfig fontconfig-devel gettext gettext-devel ImageMagick ImageMagick-devel mingw32-iconv.noarch libmcrypt libmcrypt-devel libpng libpng-devel libxml2 libxml-devel libxslt libxslt-devel mhash mhash-devel mcrypt zlib zlib-devel gd gd-devel libjpeg libjpeg-devel gcc gcc-c++ ncurses-devel

2.下载需要编译的软件包

包名称

下载地址

Mysql5.6.5-M8

http://downloads.mysql.com/archives/get/file/mysql-5.6.5-m8.tar.gz

cmake-2.8.8

http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz

php-5.4.29

http://cn2.php.net/get/php-5.4.29.tar.gz/from/this/mirror

libiconv-1.14

https://ftp.gnu.org/gnu/libiconv/libiconv-1.14.tar.gz

jdk-6u45

http://download.oracle.com/otn/java/jdk/6u45-b06/jdk-6u45-linux-x64.bin

nginx-1.2.9

http://nginx.org/download/nginx-1.2.9.tar.gz

iksemel-1.4

http://iksemel.googlecode.com/files/iksemel-1.4.tar.gz

libssh2-1.4.3

http://libssh2.org/download/libssh2-1.4.3.tar.gz

fping-2.4b2_to

http://download.chinaunix.net/down.php?id=6038&ResourceID=3222&site=1

OpenIPMI-2.0.21

https://jaist.dl.sourceforge.net/project/openipmi/OpenIPMI%202.0%20Library/OpenIPMI-2.0.21.tar.gz

Zabbix-2.0.21

https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.21/zabbix-2.0.21.tar.gz

  1.  

LNMP环境安装

1.安装cmake软件包

安装cmake所需要的软件gcc gcc-c++ ncurses-devel

tar -zxvf cmake-2.8.8.tar.gz

cd cmake-2.8.8

./bootstrap

gmake

gmake install

2.安装Mysql

tar -zxvf mysql-5.6.5-m8.tar.gz

cd mysql-5.6.5-m8

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS:STRING=all \

-DWITH_INNODB_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 \

-DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306

make

make install

useradd -s /sbin/nologin mysql

cd /usr/local/mysql

cp support-files/my-large.cnf /etc/my.cnf

mkdir -p data/mysql/data

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

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

chkconfig --add mysql.server

systemctl start mysql.server

echo "PATH=$path:/usr/local/mysql/bin">>/etc/profile

3.安装PHP

需要安装软件libiconv,作用是转换语言编码

cd libiconv-1.14/

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

进入srclib目录 执行 sed -i -e '/gets is a security/d' ./stdio.in.h

make &&make install

ldconfig

tar -zxvf php-5.4.29

cd /usr/local/src/php-5.4.29

执行编译配置可能会提醒openssl,ldap无安装,执行如下语句:

#yum  install  openssl.x86_64 openssl-devel.x86_64 -y

#yum install openldap openldap-server openldap-clients openldap-devel

#cp -frp /usr/lib64/libldap* /usr/lib/

#安装libmcrypt

ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz

#解压

tar -zxvf libmcrypt-2.5.7.tar.gz

#进入目录

cd libmcrypt-2.5.7

#编译(默认安装到/usr/local/lib/)

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

#执行安装

make && make install

#安装libiconv-devel

1、    安装epol源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

2、安装libmcrypt
[root@A tools]# yum install libmcrypt-devel -y

3、检查
[root@A tools]# rpm -qa libmcrypt-devel
libmcrypt-devel-2.5.8-9.el6.x86_64

编译PHP

./configure --prefix=/usr/local/php --disable-debug --disable-ipv6 \

--disable-rpath --enable-bcmath --enable-exif \

--enable-gd-native-ttf -enable-mbregex --enable-mbstring=all --enable-pcntl \

--enable-shmop --enable-soap --enable-sockets \

--enable-xml --with-config-file-path=/usr/local/php/etc \

--with-curl --with-curlwrappers --with-freetype-dir --with-gd --with-gettext \

--with-iconv-dir=/usr/local/bin/iconv --with-jpeg-dir --with-ldap \

--with-ldap-sasl --with-libdir=lib --with-libxml-dir=/usr/ \

--with-mcrypt=/usr/local/libmcrypt  \

--with-mhash --with-openssl --with-pdo-mysql --with-pear --with-png-dir \

--with-xmlrpc --with-zlib-dir --with-mysqli=/usr/local/mysql/bin/mysql_config \

--with-mysql=/usr/local/mysql --enable-fpm

./configure后

编辑MakeFile

找到 开头是 'EXTRA_LIBS' 这一行 在结尾加上 '-llber' 然后执行 make && make install

make ZEND_EXTRA_LIBS='-liconv'

make install

cp php.ini-production /usr/local/php

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

4.安装Nginx

tar -zxvf nginx-1.2.9.tar.gz

cd nginx-1.2.9/

yum install perl perl-devel perl-ExtUtils-Embed 安装依赖软件

./configure --prefix=/usr/local/nginx --user=nobody --group=nobody \

--with-poll_module --with-http_ssl_module --with-http_sub_module \

--with-http_perl_module --with-mail --with-pcre --with-ld-opt="-Wl,-E"

make

make install

5.启停服务

/usr/local/php/sbin/php-fpm #启动php的fpm

killall php-fpm #关闭php的fpm

/usr/local/nginx/sbin/nginx #开启nginx

/usr/local/nginx/sbin/nginx -s stop #关闭nginx

  1.  

安装Zabbix

1.安装JDK软件

chmod +x jdk-6u45-linux-x64.bin

./jdk-6u45-linux-x64.bin

mv jdk1.6.0_45/ /usr/local/

echo JAVA_HOME=/usr/local/jdk>>/etc/profile

echo PATH=\$PATH:/usr/local/jdk/bin>>/etc/profile

echo export JAVA_HOME>>/etc/profile

echo export PATH>>/etc/profile

source /etc/profile

2.安装iksemel软件包

iksemel用于Zabbix系统通过Jabber方式发送报警信息的软件包,此软件一般可以不安装

tar -zxvf iksemel-1.4.tar.gz -C /usr/local/src/

cd iksemel-1.4

./configure --prefix=/usr/local/iksemel

make && make install

3.安装libssh2软件包

libssh2用于Zabbix系统通过SSH协议采集监控数据所必须的安装包

tar -zxvf libssh2-1.4.3.tar.gz

cd libssh2-1.4.3

./configure

make && make install

4.安装OpenIPMI软件包

OpenIPMI是让Zabbix系统通过IPMI采集监控数据所必须安装的软件包

yum install -y popt-devel 安装软件依赖包

tar -zxvf OpenIPMI-2.0.21.tar.gz

cd OpenIPMI-2.0.21

./configure

make && make install

5.几个重要的Zabbix编译选项

--prefix=DIR 指定Zabbix安装路径

--enable-static 使用静态方法编译Zabbix,执行效率高

--enable-server 开启服务器组件

--enable-porxy 开启服务器代理组件,分担Zabbix服务器压力

--enable-agent 开启被监控设备代理组件

--enable-java 开启java网关组件

--with-mysql 开启支持mysql组件

--with-jabber    指定iksemel路径,通过Jabber方式发送报警信息

6.准备数据库

/usr/local/mysql/bin/mysql -u root -p 连接到数据库

create database zabbix default character set=utf8;创建zabbix数据库

insert into mysql.user(Host,User,Password) values('localhost','zabbix',password('zabbix')); #新建账户zabbix,密码zabbix

flush privileges; #刷新系统授权表

grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'zabbix' with grant option; #允许账户zabbix能从本机连接到数据库zabbix

flush privileges; #再次刷新系统授权表

tar -zxvf zabbix-2.0.21.tar.gz -C /usr/local/src/

mysql -u zabbix -p zabbix< /usr/local/src/zabbix-2.0.21/database/mysql/schema.sql

mysql -u zabbix -p zabbix < /usr/local/src/zabbix-2.0.21/database/mysql/images.sql

mysql -u zabbix -p zabbix < /usr/local/src/zabbix-2.0.21/database/mysql/data.sql

7.安装unixODBC及数据库驱动软件

yum install -y unixODBC unixODBC-devel mysql-connector-odbc

8.安装Zabbix软件包

  1. 创建zabbix用户

    1. groupadd zabbix
    2. useradd -g zabbix zabbix
  2. 编译安装zabbix组件

    1. yum install -y net-snmp net-snmp-devel 依赖软件安装
    2. ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java --with-mysql=/usr/local/mysql/bin/mysql_config --with-jabber=/usr/local/iksemel --with-net-snmp --with-libcurl --with-ssh2 --with-openipmi --with-unixodbc=/usr/bin/odbc_config
    3. make
    4. make install
  3. 修改配置文件

    vim zabbix_server.conf在zabbix安装目录etc/下

    DBHost=localhost

    DBName=zabbix

    DBUser=zabbix

    DBPassword=centos

  4. 配置启动脚本

    cp /usr/local/src/zabbix-2.0.21/misc/init.d/fedora/core5/zabbix_server /etc/init.d/

    cp /usr/local/src/zabbix-2.0.21/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/

    chkconfig --add zabbix_server

    chkconfig --add zabbix_agentd

    systemctl start zabbix_server start 启动zabbix服务器组件

    systemctl stop zabbix_agentd start 启动被监控设备代理组

     

9.编译安装fping工具包

fping4.0下载http://www.fping.org/dist/fping-4.0.tar.gz

tar -zxvf fping-4.0.tar.gz -C /usr/local/src/

cd fping-4.0/

./configure

make

make install

部署Web前端组件

1.配置虚拟主机

编辑nginx/conf下nginx.conf文件

server {

listen 80;

server_name zabbix;

access_log off;

charset utf8;

autoindex off;

autoindex_exact_size off;

autoindex_localtime on;

location / {

index index.html index.htm index.php;

root /www/zabbix;

}

location ~ \.php {

include fastcgi_params;

fastcgi_param SERVER_NAME $server_addr;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

}

/usr/local/nginx/sbin/nginx -s reload 重启nginx环境

killall php-fpm 关闭所有php-fpm进程

/usr/local/php/sbin/php-fpm     启动php-fpm进程

复制PHP文件

mkdir -p /www/zabbix

在zabbix源码包frontends/php复制站点内程序到站点目录

cp -Rpfv frontends/php/* /www/zabbix

chown -R nobody:nobody /www/zabbix/ 修改站点权限

3.修改PHP配置

打开http://hostname

修改php.ini文件如上图要求

配置项名称

最低要求配置

配置方法

PHP版本

5.3.0

 

时区设置

不能为空

修改date.timezone = Asia/Shanghai

内存限制

128MB

memory_limit = 128M

最大提交数据大小

16MB

post_max_size=16M

最大上传文件大小

2MB

upload_max_filesize = 2M

最大执行时间

300秒

max_execution_time = 300

最大输入时间

300秒

max_input_time = 300

自动开启session

禁止

session.auto_start = 0

端口默认为10051

安装完成后系统会引导登录,默认用户为admin,密码为zabbix