之前只配过nagios,最近觉得有必要试用一下其它的监控平台,然后再选一个合适的放生产环境中使用,然后看到zabbix不错,就适用了一下,发现安装简单,功能也简单易用,瞬起好感,遂把安装过程记下来,以后需要的时候查看。

一 服务端

Zabbix 3.0 for Ubuntu 14.04 LTS:

# wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1+trusty_all.deb
# dpkg -i zabbix-release_3.0-1+trusty_all.deb
# apt-get update
  • 安装服务端(使用mysql做数据存储)和web服务

      # apt-get install zabbix-server-mysql zabbix-frontend-php
    

    在未安装apache的情况下,会遇到这个错误:

      /var/lib/dpkg/info/zabbix-frontend-php.postinst: 24: /var/lib/dpkg/info/zabbix-frontend-php.postinst: /usr/sbin/a2enconf: not found
      dpkg: error processing package zabbix-frontend-php (--configure):
       subprocess installed post-installation script returned error exit status 127
      Processing triggers for libc-bin (2.19-0ubuntu6) ...
      Processing triggers for ureadahead (0.100.0-16) ...
      Errors were encountered while processing:
       zabbix-frontend-php
      E: Sub-process /usr/bin/dpkg returned an error code (1)
    

    因为缺失 apache的一个配置文件 /usr/sbin/a2enconf: not found zabbix-frontend-php配置失败,因为我使用的是nginx和php5-fpm,下一步照着安装产生的配置文件修改一下即可。

    1). 查看生成的 apache 主机文件

    zabbix-frontend-php安装产生的apache虚拟主机配置文件在/etc/apache2/conf-available里面,然后链接到了/etc/zabbix/apache.conf。 该配置文件指定了 frontend-php 的web文件在 /usr/share/zabbix

    2). 拷贝web文件

    为了安全和方便管理,最好把 zabbix-frontend-php的web文件(/usr/share/zabbix),拷贝到nginx的web目录下。

    3). 配置主机文件

    3.0版本:

    我们需要根据/etc/zabbix/apache.conf, 写一个nginx 的主机文件, 再拷贝到/etc/nginx/site-available,指定网站根目录,禁止访问一些目录,配置好后, reload nginx就可以使用了。

    2.0版本: 安装时,已经默认拷贝了nginx的配置文件,一般在: /usr/share/doc/zabbix-frontend-php/examples/nginx.conf 可以根据这个写个虚拟主机文件。

  • 初始化数据库:

    用终端连接mysql:

      mysql -uroot -p
    

    1). 创建数据库:

      mysql> create database zabbix character set utf8 collate utf8_general_ci; 
      mysql> insert into mysql.user(Host,User,Password) values('%','zabbix',password('zabbix'));
      mysql> flush privileges;
      mysql> grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';
      mysql> flush privileges;
    

    2). 初始化数据库:

      # cd /usr/share/doc/zabbix-server-mysql
      # zcat create.sql.gz | mysql -uroot -p zabbix
    

    3). 编辑zabbix server 的数据库配置

      # vi /etc/zabbix/zabbix_server.conf
      DBHost=localhost
      DBName=zabbix
      DBUser=zabbix
      DBPassword=zabbix
    

    4). 启动服务

      # service zabbix-server start
    
  • 配置web服务最低的环境

    按照下面的提示(在/etc/zabbix/apache.conf里面),修改fpm的php.ini,以下值都是最低要求,可以按需求适度加大

      max_execution_time= 300
      memory_limit= 128M
      post_max_size = 16M
      upload_max_filesize = 2M
      max_input_time = 300
      date.timezone = Asia/Shanghai   修改完成后,reload php5-fpm即可,然后就可以使用绑定好的域名访问了。
    
  • 打开配置好的web服务域名,按照提示一步一步填写,然后就可以使用Admin和zabbix登录后台了。

二 客户端

使用下面的命令安装

# apt-get install zabbix-agent

编辑 vim /etc/zabbix/zabbix_agentd.conf

Server=127.0.0.1 # 监控服务器的IP
ListenPort=10050 # 监听的端口
StartAgents=1    # 启动的客户端进程
ServerActive=127.0.0.1:10051 # 主动模式下的监控服务器IP(主动模式必须)
Hostname=Zabbix server # 监控服务器的名称,大小写敏感(主动模式必须)

以上信息必须正确(省掉了用户密码), 监控服务器才能从客户端获取到数据。

主动模式 表示客户端提交数据到监控主服务器 被动模式 表示监控主服务器定时去客户端取数据

三 结语

安装配置下来,总体来说要比nagios简单易用很多,后面还可以结合salt进行自动化运维,是一个很不错的选择。