从0到1学zabbix监控

对服务进行监控,zabbix是一个不错的监控工具,功能强大、全面,各种指标以及触发器、动作都有明确的概念以及规范的接入方式。相比之下初始接触时的复杂性显得值得和可接受,因其系统化、完整性,你需要一定时间去摸清它的各种组件及其用法。

下面讲讲我一步步入手使用的过程:

部署

1、安装方式有多种,最靠谱的还是直接下载源码包,编译安装:http://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.1/zabbix-3.2.1.tar.gz

安装前介绍zabbix的架构:它有以下组件:统计指标、操作页面即web端,server端,agentd端。server端组织好整个监控流程,agentd就是具体实行监控的组件,部署在被监控的主机上,web端呢,是我们管控、操作server端的操作平台。

首先搭建一个单主机的架构,命令如下:

./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
make
make install

2、如此就将zabbix安装到/usr/local/zabbix/下了,接下来部署web端,它是一个php web网站,我们采用的部署方式是nginx+fpm+php。
首先将代码(zabbix源码目录下的frontends\php)复制到一个web访问目录,比如/var/www/html/zabbix下,接着配置nginx的反向代理:

server {
        listen 83;
        root /var/www/html/zabbix;
        index index.php;

        location ~\.(php|php5)?$ {
                root /var/www/html/zabbix;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME /var/www/html/zabbix$fastcgi_script_name;
                include fastcgi_params;

        }
}

初始化数据库:
新建数据库zabbix,并依次执行database\mysql下的schema.sql、images.sql、data.sql

接着在浏览器上访问zabbix,按照要求填写信息即可。

3、server 端也需要访问数据库,需要进行配置,/usr/local/zabbix/etc/zabbix_server.conf,选项为DB开头的,比如DBPassword

现在就算部署好了,下面看看web上的功能,在”配置”选项卡下可以增加监控的主机:
这里写图片描述

监控主机

先配置一个主机的监控:
这里写图片描述

扫描二维码关注公众号,回复: 2421519 查看本文章

添加相应的模板:
这里写图片描述
所谓的模板,就是应用集、监控项、触发器等的一个打包。

监控tomcat

接下来配置一个tomcat的监控
1、需要增加一个插件,安装方法:

./configure --prefix=/usr/local/zabbix_java_gateway-2.0.6 --enable-java
make && make install

ln -s /usr/local/zabbix_java_gateway-2.0.6 /usr/local/zabbix_java_gateway

test -d /etc/zabbix || mkdir /etc/zabbix
cp /usr/local/zabbix_java_gateway/sbin/zabbix_java/settings.sh /etc/zabbix/zabbix_java_gateway.conf

Zabbix中自带的zabbix_java_gateway维护脚本比较差,重写了维护脚本, 下载地址: https://raw.github.com/pengyao/zabbix/master/Zabbix_Java_GateWay/scripts/zabbix_java_gateway

wget https://raw.github.com/pengyao/zabbix/master/Zabbix_Java_GateWay/scripts/zabbix_java_gateway -O /etc/init.d/zabbix_java_gateway
chmod +x /etc/init.d/zabbix_java_gateway
chkconfig zabbix_java_gateway on

另一种比较简单的安装方法是:
安装yum源:yum install -y http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
安装gateway:yum install -y java java-devel zabbix-java-gateway 

2、修改tomcat的启动脚本:catalina.sh,公布jmx端口,即增加语句:

CATALINA_OPTS= “$CATALINA_OPTS
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rim.server.hostname=172.31.0.219”

3、重启tomcat,然后在zabbix的主机配置那里增加jmx的监听端口,截图见上一节:主机监控配置图

4、效果如图:
这里写图片描述

报警

接着配置报警项,这就涉及zabbix的告警实现方式。流程如下:条件满足->触发动作。在zabbix中触发的条件有:触发器、自动发现、自动注册、内部事件。这里满足我们需求的是触发器;触发动作中一种就是报警通知,这就涉及通知的对象以及方式;这个需要在管理->报警媒介类型中进行配置:
这里写图片描述

然后给用户绑定该报警媒介对应的参数:
这里写图片描述

这里写图片描述

最后就是测试了,我们在主机上kill掉对应的agentd进行,一会就会得到具体的告警通知,在这个地方可以看到具体的动作日志:
这里写图片描述

但是有时候一个告警指标明明已经满足,却一直没有收到通知,这个时候我们就可以通过zabbix_get这个工具:
/usr/local/zabbix/bin/zabbix_get -s 172.31.1.45 -p 10050 -k “proc.num[,,,facebook]”
其中-p是agentd的端口,proc.num[,,,facebook]即我们要查看的指标,在这个页面上罗列了各种指标。

这里写图片描述

猜你喜欢

转载自blog.csdn.net/guzhangyu12345/article/details/81074534
今日推荐