Zabbix独立服务器安装与部署

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

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

zabbix2部分构成,zabbix server与可选组件zabbix agent

zabbix server可以通过SNMPzabbix agentping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在LinuxSolarisHP-UXAIXFree BSDOpen BSDOS X等平台上。

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

zabbix的主要特点:

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

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

- 免费开源

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

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

- 可以无agent监视

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

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

- email等通知功能

等等


Zabbix主要功能:

- CPU负荷

- 内存使用

-磁盘使用

- 网络状况

- 端口监视

- 日志监视。


  1. 安装前准备

    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

  2.  
  3. 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

  4.  
  5. 安装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

  6. 部署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进程

  7. 复制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

你可能感兴趣的:(Linux,Zabbix,Zabbix,Linux,CentOS)