首页 > 代码库 > zabbix — 监控服务器端和代理(被监控)端

zabbix — 监控服务器端和代理(被监控)端

 Linux下常用的系统监控软件有Nagios、Cacti、Zabbix、Monit等,这些开源的软件,可以帮助我们更好的管理机器,在第一时间内发现,并警告系统维护人员。


    今天开始研究下Zabbix,使用Zabbix的目的,是为了能够更好的监控mysql数据库服务器,并且能够生成图形报表,虽然Nagios也能够生成图形报表,但没有Zabbix这么强大。

    首先,我们先来介绍下Zabblx:


.Zabbix简介   


       zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
       zabbix由zabbix server与可选组件zabbix agent两部门组成。
       zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。
       zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。


zabbix的主要特点:
          - 安装与配置简单,学习成本低
 
          - 支持多语言(包括中文)
          - 免费开源
          - 自动发现服务器与网络设备
          - 分布式监视以及WEB集中管理功能
          - 可以无agent监视
          - 用户安全认证和柔软的授权方式
          - 通过WEB界面设置或查看监视结果
          - email等通知功能
         等等


Zabbix主要功能:
         - CPU负荷
         - 内存使用
         - 磁盘使用
         - 网络状况
         - 端口监视
         - 日志监视 

官方也提供了安装资料:http://www.zabbix.com/wiki/howto/monitor


.Zabbix安装

    所需软件包下载地址:

        zabbix版本:zabbix-2.4.1.tar.gz       http://www.zabbix.com/download.php

2.1 zabbix WEB环境搭建

       zabbix的安装需要LAMP或者LNMP环境
      需要其它的软件包


  1. 1.1安装主程序
    # yum -y install httpd php mysql mysql-server php-mysql
    1.2安装apache扩展 

    # yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
    1.3安装php扩展 

    # yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmath
    1.4安装mysql扩展
    # yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql


2.2 zabbix 数据库设置


     zabbix数据库可以和zabbix服务器分离,采用专门的mysql服务器存储数据,此时要给zabbix数据库受相应的权限。


    #mysql -u root -p
    #mysql>create database zabbix character set utf8;
    #mysql>grant all privileges on zabbix.* to zabbix@‘localhost‘ identified by ‘123456‘;

    *查看用户:mysql>select host,user,password from user ;

    *删除用户:mysql>Delete FROM user Where  Host=‘localhost‘ and user= ‘ ‘ ;


2.3安装zabbix服务


    增加zabbix用户和组

    #groupadd zabbix    
    #useradd -g zabbix -m zabbix
    (#useradd zabbix -g zabbix -s /sbin/nologin)


    官网下载解压软件包。

    下载地址:http://www.zabbix.com/download.php

    # wget http://fossies.org/unix/misc/zabbix-2.4.1.tar.gz
    # tar -zxvf zabbix-2.4.1.tar.gz
    # cd zabbix-2.4.1


    导入数据库表

    #cd  zabbix-2.4.1/database/mysql
    #mysql -uroot -pmysql zabbix < schema.sql
    #mysql -uroot -pmysql zabbix < images.sql
    #mysql -uroot -pmysql zabbix < data.sql



    编译安装zabbix

    [root@lw-02 zabbix-2.4.1]#./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy


    编译报错checking for main in -lmysqlclient ... no
        yum 安装mysql-devel即可
        #make
        #make install

    添加服务端口

    #cat >>vim /etc/services <<EOF
    zabbix-agent 10050/tcp     #Zabbix Agent
    zabbix-agent 10050/udp     #Zabbix Agent
    zabbix-trapper 10051/tcp    #Zabbix Trapper
    zabbix-trapper 10051/udp    #Zabbix Trapper

添加配置文件


# mkdir -p /etc/zabbix
# cp 
-r zabbix-2.203/conf/* /etc/zabbix/
# chown -R zabbix:zabbix /etc/zabbix


2.4  修改server配置文件,添加zabbix数据库密码

    #vim /etc/zabbix/zabbix_server.conf
    
    LogFile=/tmp/zabbix_server.log
    PidFile=/tmp/zabbix_server.pid    
    DBName=zabbix    
    DBUser=zabbix_user    
    DBPassword=123456         #指定zabbix数据库密码    
    ListenIP=192.168.10.197    #服务器IP地址


    修改Agentd配置文件,更改HOSTNAME为本机的hostname
        vim /etc/zabbix/zabbix_agentd.conf

  1.     PidFile=/tmp/zabbix_agentd.pid     #进程PID
        LogFile=/tmp/zabbix_agentd.log     #日志保存位置
        EnableRemoteCommands=1         #允许执行远程命令
        Server=192.168.10.197         #agent端的ip
        Hostname=client1             #必须与zabbix创建的host name相同

2.5  


 如图设置hostname


    添加web前段php文件
        # cd zabbix-
2.203/frontends/
        # cp -rf php /
home/httpd/zabbix   #虚拟主机目录
        # chown -R zabbix:zabbix zabbix

    web前端安装配置
        修改PHP相关参数
        vim
 php.ini

  1.         max_execution_time = 300

  2.         max_input_time = 300

  3.         memory_limit = 128M

        post_max_size = 32M

        date.timezone = Asia/Shanghai

        mbstring.func_overload=2



    PHP还必须支持一下模块,在php源码包直接编译安装。详细模块需要在安装是会提示。

    bcmath.sogettext.so


      在客户端浏览器上面访问zabbix,开始WEB的前端配置,http://ZabbixIP/zabbix,按提示点击下一步

      Step1:下一步。

      Step2:如果全部OK的话才能进行下一步的安装,如果有错误请返回到server端检查相关的软件包是否安装。

      Step3:需要输入mysql数据库帐号密码,如果数据库不在zabbix服务器上面,在Host里面添加数据库服务器的地址,并且要用grant命令给数据库授权

      Step4输入服务器端 host name or host IP addres;


   最后会自动写入配置文件:zabbix.conf.php配置完成后出现登陆界面,默认的用户名为:admin,密码为:zabbix。


三.启动zabbix服务
    在zabbix安装目录下面可以直接启动
        #/usr/local/zabbix/sbin/zabbix_server start
        tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      7140/zabbix_agentd


四.设置开启自动启动


    vim /etc/rc.d/rc.local  最后添加下面两行

        /usr/local/zabbix/sbin/zabbix_server start

        /usr/local/zabbix/sbin/zabbix_agentd start


至此,zabbix server端的安装完毕,我们可以通过浏览器来访问如图:


接下来会介绍关于客户端监控的使用,以及监控模版的新建,自定义监控服务等。


更新:客户端安装可以查看http://blog.chinaunix.net/uid-25266990-id-3387002.html


本文出自 “IT-抹浅笑” 博客,请务必保留此出处http://pynliu.blog.51cto.com/5027391/1569134

zabbix — 监控服务器端和代理(被监控)端