All Projects → NetEase → spark-alarm

NetEase / spark-alarm

Licence: other
Alerting and monitoring tool for Apache Spark

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to spark-alarm

X509 Certificate Exporter
A Prometheus exporter to monitor x509 certificates expiration in Kubernetes clusters or standalone
Stars: ✭ 40 (+73.91%)
Mutual labels:  alert, monitoring-tool
react-redux-modal-flex
[DEPRECATED] Make easy a modal/popup with Redux
Stars: ✭ 14 (-39.13%)
Mutual labels:  alert
growl-alert
A simple growl like notification system.
Stars: ✭ 14 (-39.13%)
Mutual labels:  alert
ImageActionSheet
iOS Native style action sheet like in Whatsapp with the option of showing icons. It is a complete implementation and does not use any private api of UIKit.
Stars: ✭ 20 (-13.04%)
Mutual labels:  alert
PFMonitor
PFMonitor -- for deep learning engineer's freedom
Stars: ✭ 17 (-26.09%)
Mutual labels:  monitoring-tool
slackcat
A simple way of sending messages from the CLI output to your Slack with webhook.
Stars: ✭ 102 (+343.48%)
Mutual labels:  alert
TrendingCustomAlert
You can use a ready-made custom alert controller.
Stars: ✭ 25 (+8.7%)
Mutual labels:  alert
JDropDownAlert
Simple DropDown Alert View For Any iOS Projects.
Stars: ✭ 71 (+208.7%)
Mutual labels:  alert
xxy
xxy xxy.js alert 移动端弹窗 弹窗 上拉加载 下拉刷新 移动端UI 轮播 banner
Stars: ✭ 84 (+265.22%)
Mutual labels:  alert
eins-modal
Simple to use modal / alert / dialog / popup. Created with pure JS. No javascript knowledge required! Works on every browser and device! IE9
Stars: ✭ 30 (+30.43%)
Mutual labels:  alert
amas
Amas is recursive acronym for “Amas, monitor alert system”.
Stars: ✭ 77 (+234.78%)
Mutual labels:  alert
AlertKit
🚨 SwiftUI alerts (and action sheets) done right
Stars: ✭ 60 (+160.87%)
Mutual labels:  alert
vue2-dialog
A mobile Vue plugin for VueDialog
Stars: ✭ 21 (-8.7%)
Mutual labels:  alert
diffido
Watch web pages for changes
Stars: ✭ 19 (-17.39%)
Mutual labels:  alert
snmp notifier
A webhook to relay Prometheus alerts as SNMP traps, because sometimes, you have to deal with legacy
Stars: ✭ 33 (+43.48%)
Mutual labels:  alert
web-status-monitor
🛸 Ping websites at regular intervals using just GitHub Actions!
Stars: ✭ 17 (-26.09%)
Mutual labels:  monitoring-tool
kafka-consumer-lag-monitoring
Client tool that exports the consumer lag of Kafka consumer groups to Prometheus or your terminal
Stars: ✭ 45 (+95.65%)
Mutual labels:  monitoring-tool
kubetools
Kubetools - Curated List of Kubernetes Tools
Stars: ✭ 674 (+2830.43%)
Mutual labels:  monitoring-tool
leek
Celery Tasks Monitoring Tool
Stars: ✭ 77 (+234.78%)
Mutual labels:  monitoring-tool
TezAlertView
Custom singleton alertView with block completion.
Stars: ✭ 17 (-26.09%)
Mutual labels:  alert

Spark-Alarm Build StatusHitCount

项目简介

提供一些基本的报警手段,并可以通过SparkListener实现对Spark内部执行逻辑进行监控报警

报警模式 使用限制 简介
邮件 通用,无限制 通过 SMTP 协议发送告警
哨兵 网易内部使用 通过 HTTP 协议发送告警
Smilodon 网易内部使用 通过 HTTP 协议发送告警

使用方法

编译

# 克隆本项目
git https://github.com/yaooqinn/spark-alarm.git
# cd spark-alarm
# mvn clean package

可以得到内置示例项目jar包:streaming-alarmer/target/streaming-alarmer-1.0-SNAPSHOT.jar,该构件实现了对Streaming程序"异常退出"和""任务堆积"等相关关键事件进行简单的告警服务

配置

配置工作分为三个过程:

  • 配置报警方式相关参数
  • 配置报警规则参数
  • 配置spark.extraListeners
    所有的参数都完全等价Spark内置的各项参数,可以通过代码/--conf/spark-default.conf等方式加入

配置邮件报警

配置 默认值 说明
spark.alarm.email.smtp.host <空值> 发信邮件服务器的地址, 比如 smtp-mail.outlook.com
spark.alarm.email.smtp.port 465(ssl)/25(no ssl) 发信邮件服务器的端口, 587
spark.alarm.email.username <空值> 发信邮箱的用户名
spark.alarm.email.password <空值> 发信邮箱的密码
spark.alarm.email.ssl.on.connect false 是否ssl加密连接
spark.alarm.email.from <空值> 发信邮箱
spark.alarm.email.to <空值> 收信邮箱列表,用逗号分隔

参见: https://github.com/yaooqinn/spark-alarm/blob/master/alarm-email/src/test/scala/com/netease/spark/alarm/email/EmailAlarmistTest.scala

配置哨兵报警

配置 默认值 说明
spark.alarm.sentry.url <空值> 哨兵服务地址
spark.alarm.sentry.api.type Stone 哨兵服务通知到的终端类型 /** 泡泡 / POPO, /* 易信 /YiXin, /* 短信 / SMS, /* 语音 / Voice, Stone, /* 邮件 */ Email
spark.alarm.sentry.app.name <空值> 哨兵服务的应用名称,若没有可以去哨兵官网添加
spark.alarm.sentry.app.secret <空值> 哨兵服务应用对应的密钥
spark.alarm.sentry.to <空值> 收信邮箱、或者ID、电话列表,用逗号分隔,根据具体的终端类型决定

参见: alarm-sentry/src/test/scala/com/netease/spark/alarm/sentry/SentryAlarmistTest.scala

配置Smilodon报警

配置 默认值 说明
spark.alarm.smilodon.url http://10.165.139.76:8765/v1/alerts Smilodon服务地址
spark.alarm.smilodon.channels POPO,STONE 通知中心终端类型,目前只支持
spark.alarm.smilodon.users <空值> 收信者的邮箱账号列表,逗号分隔
spark.alarm.smilodon.groups <空值> 暂时不用管

参见: alarm-smilodon/src/test/scala/com/netease/spark/alarm/smilodon/SmilodonAlarmistTest.scala

注意:Smilodon服务有白名单控制,所以需要用户Spark作业的Driver进程所在的服务器在该列表中,对于Cluster模式则需要所有的节点(如NodeManager)在该列表中

配置报警规则参数

该参数列表适用于本项目内置示例项目streaming-alarmer的报警规则,用户可以自己定义相关的SparkListener来定制报警器

配置 默认值 说明
spark.alarm.streaming.application.force.exit false 出现Application级别错误的时候,是否直接exit
spark.alarm.streaming.batch.error.enable true 是否对Batch出错的信息进行告警
spark.alarm.streaming.job.error.enable false 是否对job出错的信息进行告警
spark.alarm.streaming.batch.delay.ratio 1 Schedule delay时间 / Processing 时间的比值,大于该值,则作为判定为需要告警的必要条件之一
spark.alarm.streaming.batch.process.time.threshold 1s 处理时间的阈值,实际处理时间大于该值的批次,才进行报警

参见:streaming-alarmer/src/test/scala/com/netease/spark/alarm/alarmer/streaming/EmailStreamingAlarmListenerTest.scala

配置spark.extraListeners

开启邮件报警,也可以设置其他实现,或者多个逗号分隔的报警实现,以及自己拓展的实现

spark.extraListeners=com.netease.spark.alarm.alarmer.streaming.EmailStreamingAlarmListener
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].