【Storm】Storm集群和作业监控告警开发

该博客探讨了如何利用Zookeeper监控Storm集群的状态,包括nimbus和supervisor的健康状况,以及线上作业的运行状态。文章提出了监控方案的需求,如可配置化,异常时发送告警,并给出了具体的实现步骤,包括配置文件storm-monitor-config.xml,模型设计以及监控类的实现,计划以定时任务的形式每5分钟检查一次。
摘要由CSDN通过智能技术生成

监控方案

storm的所有状态写在zookeeper中,而且nimbus和supervisor通信完全通过zookeeper;

可以通过访问zookeeper得知集群状态,如nimbus、supervisor是否正常,线上作业是否状态良好?

要求:

1、可配置化;

2、当numbus或supervisor停掉后,发告警出来;

3、当监控的作业停掉后,告警出来;

 

(1)配置文件storm-monitor-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<monitor>
	<!-- 值班人,可以有多个 -->
	<person>
		<tel>18819457205</tel>
		<describe>林玲</describe>
	</person>
	<nimbus>
		<alarm>[Storm Alarm]: Nimbus has stopped, pls start.</alarm>
		<describe>Nimbus</describe>
	</nimbus>
	<Supervisor>
		<!-- Supervisor 的个数 -->
		<Supervisor-sum>5</Supervisor-sum>
		<alarm>[Storm Alarm]: Supervisor is ${num}, the right is 5.</alarm>
	</Supervisor>
	<Topology>
		<!-- 需要监控的topology name,可以有多个 -->
		<topology-name>test1</topology-name>
		<topology-name>test2</topology-name>
		<alarm>[Storm Alarm]: Topology ${name} is down, pls check and start.</alarm>
	</Topology>
	<zookeeper>
		<!-- zk的配置 -->
		<host>hadoop-senior.ibeifeng.com:2181, hadoop-senior02.ibeifeng.com:2181</host>
		<timeout>3000</timeout>
	</zookeeper>
</monitor>

(2)model,读取配置文件;

package storm.monitor;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

// 对应 storm-m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值