首页 > 代码库 > Zabbix-Proxy-agent实现web监控

Zabbix-Proxy-agent实现web监控

zabix简介

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

  1. zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
  2. zabbix由2部分构成,zabbix server与可选组件zabbix agent。
  3. zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,,AIX,Free BSD,Open BSD,OS X等平台上。

 

实验环境:Centos6.5

image

 

一、配置一个lamp平台

安装php-fpm、mysql-server、httpd、php-mysql

修改php-ini配置文件
date.timezone = Asia/Shanghai

启动mysql服务,并创建一个zabbix的数据库,并完成授权

mysql> create database zabbix;

Query OK, 1 row affected (0.00 sec)

mysql> grant all on zabbix.* to ‘zbxuser‘@‘localhost‘ identified by ‘zbxpass‘;

Query OK, 0 rows affected (0.00 sec)

mysql> grant all on zabbix.* to ‘zbxuser‘@‘127.0.0.1‘ identified by ‘zbxpass‘;

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

 

二、安装并配置zabbix-server

在server上安装如下zabbix包(这里安装的是zabbix2.4的包,包需要在噶un放网站下载,前提配置好yum源)

# yum install zabbix-2.4.0-1.el6.x86_64.rpm zabbix-agent-2.4.0-1.el6.x86_64.rpm zabbix-get-2.4.0-1.el6.x86_64.rpm zabbix-sender-2.4.0-1.el6.x86_64.rpm zabbix-server-2.4.0-1.el6.x86_64.rpm zabbix-server-mysql-2.4.0-1.el6.x86_64.rpm zabbix-web-2.4.0-1.el6.noarch.rpm zabbix-web-mysql-2.4.0-1.el6.noarch.rpm

编译zabbix的配置文件

1、#vim zabbix_server.conf

修改如下项

DBHost=172.16.1.1            //数据库服务器的IP地址

DBName=zabbix                //数据库的名称

DBUser=zbxuser                //连接数据库服务器的用户名

DBPassword=zbxpass        //连接数据库服务器的用户密码

2、为zabbix数据库导入基础信息

clipboard[4]

使用命令

#mysql zabbix <  schema.sql

3、启动服务

#service httpd start

#service php-fpm start

#service zabbix-server start

4、在浏览器输入172.16.1.1对zabbix服务的web页面进行初始化

clipboard[18]
clipboard[19]
clipboard[20]

clipboard[21]

clipboard[22]

clipboard[23]

5、为server端配置agent使其能监控自己

#vim zabbix_agent.conf

修改如下项:

Server=127.0.0.1,172.16.1.1                //允许来拉取数据的主机的IP地址

ServerActive=127.0.0.1,172.16.1.1        //主动通知来拉取数据的主机的IP地址(只有server与agent在同一主机时才有127.0.0.1)

Hostname=server.zhou.com                //需与主机名保持一致

**************************************************

主机名修改方法:

#vim /etc/hosts

#vim /etc/sysconfig/network

#hostname  New-HostName

****************************************************

此时server会自动将本机的agent添加进去

 

三、创建一个独立的agent端

安装的包:

# yum install zabbix-2.4.0-1.el6.x86_64.rpm zabbix-agent-2.4.0-1.el6.x86_64.rpm  zabbix-sender-2.4.0-1.el6.x86_64.rpm

配置文件修改内容同上

添加主机:

clipboard[5]

 

四、配置zabbi-proxy代理server的

安装的包:zabbix-2.4.0-1.el6.x86_64.rpm   zabbix-proxy    zabbix-proxy-mysql

编辑配置文件“

#vim /etc/zabbix/zabbix_proxy.conf

Server=172.16.1.1            //*zabbix server的ip地址或主机名
Hostname=node2.zhou.com         //*该主机名的配置需被zabbix server知道,并且在zabbix server前端配置时会用到
LogFile=/tmp/zabbix_proxy.log     //pid文件的存放位置
DBName=zabbix_proxy        //*
DBUser=zabbix                     //*
DBPassword=123456            //*
ConfigFrequency=60         //zabbix proxy 想服务器检索配置数据信息的频率,在被动模式下该参数将被忽略
DataSenderFrequency=60         //zabbix proxy发送收集的数据给zabbix server的频率

        ***上述带‘*‘的是必须修改的***

启动服务在,在web页面上添加即可

 

五、自定义各项参数

    由于在生产环境中自带的模版并不能完全满足我们的需求,所以我们需要自己定义键,模版等。

1、如何自定义键?

修改配置文件,启动自定义键这一项

UnsafeUserPaameters=1

其余可以不用修改

在文件/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf中添加如下内容

UserParameter=count.line.passwd,wc -l /etc/passwd|awk ‘{print $1}‘

重启客户端,在命令行上测试键是否可用

clipboard[8]

**zabbix_get的用法使用zabbix_get -h

2、如何自定义模版?

如果有大量的同一类设备,需要监控的信息也大致类似,一个个去修改相关参数比较麻
烦,我们可以通过创建一个 template 来简化操作。
Configuration->Host Groups->Template->Create Template

登入web界面,点击Configuration中的Templates的Create template

需要的参数按自己的需要填写

3、添加triggers

clipboard[9]

****添加Name,自己选定item ,定义报警范围Function   设置值

 

4、添加用户,并赋予相应的权限:

image

image

image

**这里的收家人可以是多个,报警级别可以自己选择(可多选),Type可以自己定义

image

**这里需要特别注意的是如果用户没有相应的权限会导致报警时的邮件我要发送达

 

5、定义media

Media,即告警方式,Zabbix 可以提供四类 Media:Email/SMS/Jabber/Script,通过
Administrator->Media Type 来修改或新增告警方式
Email 方式最常用的,填入相关的 SMTP 信息,即可通过邮件方式发送告警。

image

image

Zabbix-Proxy-agent实现web监控