Zabbix安装文档

zabbix进程构成

默认情况下zabbix包


含5个程序:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、 zabbix_server,另外一个zabbix_java_gateway是可选,这个需要另外安装。下面来分别介绍下他们各自的作用。

进程介绍

1、zabbix_agentd
客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等

2、zabbix_get
zabbix
工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令。通常用户排错。例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。

3、zabbix_sender
zabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。
4、zabbix_server
zabbix服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server
备注:当然不是数据都是主动提交给zabbix_server,也有的是server主动去取数据。

5、zabbix_proxy
zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。为什么要用代理?代理是做什么的?卖个关子,请继续关注运维生存时间zabbix教程系列。

6、zabbix_java_gateway
zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy。


zabbix安装全过程

1、安装依赖包

yum install –y curl curl-devel freetype freetype-devel fontconfigfontconfig-devel gettext gettext-devel  ImageMagick ImageMagick-devel libpnglibpng-devel  libxml2 libxml2-devel libxslt   libxslt-devel

zlib zlib-devel gd gd-devel  libjpeg libjpeg-devel

##################################################

##################################################

2、安装lnmp环境

http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz

lnmp1.2-full.tar.gz

tar zxf lnmp1.2-full.tar.gz

cd lnmp1.2-full

./install.sh

Install MySQL 5.6.23(脚本选择)

Install PHP 5.6.9(脚本选择)

Nginx默认版本是1.8.0

注意:安装完后,更换一份完整的php-fpm.conf 的配置文件,因为脚本中替换的配置文件有坑。

其中/usr/local/php/etc/php.ini需要修改如下:

max_execution_time = 300

memory_limit = 128M

post_max_size = 16M

upload_max_filesize = 2M

max_input_time = 300

date.timezone PRC

##############################################

##############################################

3、安装zabbix监控端

(1)安装zabbix依赖包

yum install –y unixODBC unixODBC-devel net-snmp net-snmp-devel libssh2libssh2-devel OpenIPMI OpenIPMI-devel java java-devel openldap openldap-devellibcurl libcurl-devel

openldap*

(2)安装zabbix监控

create zabbix

http://www.zabbix.com/download.php(zabbix官网下载页面)

tar zxf zabbix-3.0.4.tar.gz

cd zabbix-3.0.4

./configure --prefix=/usr/local/zabbix --enable-server--enable-proxy --enable-agent --enable-ipv6--with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl--with-openipmi --with-unixodbc --with-ldap --with-ssh2 --enable-java(缺少依赖包,请自行安装)

make && make install

 

(3)添加zabbix服务对应的端口(可以省略,但是官方建议有)

 #cat>>/etc/services<

   zabbix-agent 10050/tcp ZabbixAgent

   zabbix-agent 10050/udp ZabbixAgent

   zabbix-trapper 10051/tcp ZabbixTrapper

   zabbix-trapper 10051/udp ZabbixTrapper

   EOF

(4)登陆数据库建库

mysql -uroot -p

>ccreate database zabbix default character set=utf8;

>show databases;

>grant all on zabbix.* to zabbix@localhost identified by 'zabbix';

>flush privileges;

 

为zabbix创建自己的数据库,以便zabbix可以把收集到的数据信息存放在那里调用。

cd /root/scripts/zabbix-3.0.4/database/mysql

mysql -u{username} –p{password} zabbix

mysql –u{username} –p{password} zabbix

mysql –u{username} –p{password} zabbix

(5)修改配置文件

cd /usr/local/zabbix/etc

vim zabbix_server.conf

LogFile=/tmp/zabbix_server.log

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

 

vim zabbix_agentd.conf

LogFile=/tmp/zabbix_agentd.log

Server=172.27.10.53,127.0.0.1

ServerActive=127.0.0.1:10051

Hostname=localhost

 

(6)在nginx配置文件中建立zabbix虚拟机的配置文件

cd /usr/local/nginx/conf

cd  vhost

vim test.conf

server {

     listen       8081;

     root   /data/www/wwwroot/zabbix/;

     server_name  test.adsfaft.com;

     #server_name  zabbix.chanjet.com;

     access_log   logs/zabbix_access.log;

     error_log    logs/zabbix_error.log;

     charset utf8;

 

     location / {

         index  index.html index.htm index.php;

                }

 

         location ~\.php$ {

            root           /data/www/wwwroot/zabbix;

           fastcgi_pass   0.0.0.0:9000;

           fastcgi_index  index.php;

           fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

            include        fastcgi.conf;

           fastcgi_connect_timeout 120;

           fastcgi_send_timeout 360;

            fastcgi_read_timeout360;

           fastcgi_buffer_size 128k;

           fastcgi_buffers 4 256k;

           fastcgi_busy_buffers_size 256k;

           fastcgi_temp_file_write_size 256k;

           fastcgi_intercept_errors on;

        }

}

 

cd  /usr/local/nginx/etc

vim nginx.conf

server

    {

        listen 80;

        server_namewww.lnmp.org;

        index index.htmlindex.htm index.php;

        root  /home/wwwroot/default;

        #error_page   404  /404.html;

        include enable-php.conf;

        location /nginx_status

        {

            stub_statuson;

           access_log   off;

        }

        location ~.*\.(gif|jpg|jpeg|png|bmp|swf)$

        {

            expires      30d;

        }

        location ~.*\.(js|css)?$

        {

            expires      12h;

        }

        location ~ /\.

        {

            deny all;

        }

        access_log  /home/wwwlogs/access.log  access;

}

(7)创建站点目录并修改数据库的配置

mkdir  -p /data/www/wwwroot/zabbix

cp  –Rpfv  /root/scripts/zabbix-3.0.4/frontends/php/* /data/www/wwwroot/zabbix

chown -R nobody:nobody /data/www/wwwroot/zabbix/

chmod 777 /data/www

cd /data/www/wwwroot/zabbix/conf

vim zabbix.conf.php

 

// Zabbix GUI configuration file.

global $DB;

 

$DB['TYPE']                            = 'MYSQL';

$DB['SERVER']                   ='localhost';

$DB['PORT']                            = '3306';

$DB['DATABASE']                 ='zabbix';

$DB['USER']                            = 'zabbix';

$DB['PASSWORD']                 ='zabbix';

// Schema name. Used for IBM DB2 and PostgreSQL.

$DB['SCHEMA']                   = '';

 

$ZBX_SERVER                            = 'localhost';

$ZBX_SERVER_PORT                ='10051';

$ZBX_SERVER_NAME                ='localhost';

 

$IMAGE_FORMAT_DEFAULT   =IMAGE_FORMAT_PNG;

########################################################

#########################################################

 

 

(8)zabbix监控的汉化包

cd  /data/www/wwwroot/zabbix/fonts

[root@zabbix fonts]# ls

DejaVuSans.ttf  STXIHEI.ttf

 

vim include/defines.inc.php

//define('ZBX_GRAPH_FONT_NAME',        'DejaVuSans'); // font file name

define('ZBX_GRAPH_FONT_NAME',          'STXIHEI'); // font file name

 

//define('ZBX_FONT_NAME', 'DejaVuSans');

define('ZBX_FONT_NAME', 'STXIHEI');

 

##################################################################

以上服务器的安装所有操作完成。启动脚本自行拷贝。/usr/local/zabbix/sbin/zabbix_server-c /usr/local/zabbix/etc/zabbix_server.conf

/usr/local/zabbix/sbin/zabbix_agentd

 

#####################################################################

监控其他的主机

1、第一种方法

通过被监控设备代理(agentd客户端)采集数据

安装软件包

http://www.zabbix.com/download.php(官网下载页)

tar zxf zabbix_agents_3.0.4.linux2_6.amd64.tar.gz

sbin   bin  conf

cd conf

vim zabbix_agentd.conf

Server=172.27.10.53

ServerActive=172.27.10.53:10051

Hostname=localhost

mv /conf/zabbix_agentd.conf /usr/loca/etc

/usr/local/zabbix/sbin/zabbix_agentd

 

2、第二种方法

通过snmp协议采集数据

安装软件包

Linux下安装snmp软件包

Yum install net-snmp

同时安装测试snmp服务的两个软件包工具

Yum install net-snmp-utils net-snmp-devel

 

 

安装完成后,将snmp服务添加到开机自启动服务列表中。

chkconfig snmpd on