专栏首页大数据个人总结yarn任务简单的python钉钉告警
原创

yarn任务简单的python钉钉告警

1.环境

开通钉钉群自定义告警机器人,主要是否要加签和关键词,本次使用告警的关键词是Flink任务。

2.开发代码

2.1 告警信息发送python代码

# -*- coding: UTF-8 -*-
import json
import time
import requests

class SendMesg(object):
    def __init__(self):
        self.__headers = {'Content-Type': 'application/json;charset=utf-8'}
        self.__url = "https://oapi.dingtalk.com/robot/send?xxxx"
        self.__out_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

    def sendMsg(self, subject, content):
        out_content = "{0}\ntime: {1}".format(content, self.__out_time)
        out_subject = "[<alert>{0}]\n".format(subject)
        text = {"content": out_subject + out_content}
        data = {"msgtype": "text", "text": text}

        info = requests.post(url=self.__url, data=json.dumps(data), headers=self.__headers)
        return info  

2.2 yarn任务内容处理,通过关键词

# -*- coding: UTF-8 -*-
import re
import sys
from app_info import Apps
from send_msg import SendMesg

apps_info= Apps()

def get_job_names(text):
    pattern = re.compile(r'flink_\w+')
    job_name = pattern.findall(text)
    if job_name is None:
        return []
    return job_name

if __name__ == '__main__':
    text = sys.stdin.read()
    input_info = get_job_names(text)
    print(input_info)
    out_info = list(set(apps_info.apps).difference(set(input_info)))
    print(out_info)
    if len(out_info) > 0:
        sender = SendMesg()
        info_str = "\n".join([str(x) for x in out_info])
        #print(info_str)
        print_info = sender.sendMsg("Flink任务挂掉", info_str)
        print(print_info)

2.3 配置sh执行

#! /bin/bash
source /home/hadoop/.bash_profile
# yarn application -list
result=$(yarn application -list)
echo $result
echo $result 2>/dev/null | python /mnt/disk1/flink_monitor/flink_job.py

2.4 配置对应调度执行

sudo crontab -u hadoop -e
*/1 * * * * /usr/sh /flink_monitor/flink_job.sh >> /flink_monitor/flink_job.log

3.效果

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 分布式监控系统Zabbix3.4-钉钉告警配置记录

    群机器人是钉钉群的高级扩展功能,群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。例如:通过聚合GitHub,GitLab等源码管理服务,实现源...

    洗尽了浮华
  • ZABBIX 事件通知

    在生产环境下被监控主机关联了监控项和触发器,当主机监控指标异常此时触发器状态发生改变产生异常事件,此时动作(action)选项将根据自定义的内容触发。当发生不同...

    Kevin song
  • 收集各类安全设备、Nginx日志实现日志统一管理及告警

    近来安全测试项目较少,想着把安全设备、nginx日志收集起来并告警, 话不多说,直接说重点,搭建背景:

    FB客服
  • 用Python把告警日志发到微信上

    專 欄 ❈RaPoSpectre,Python中文社区专栏作者。 网站:www.rapospectre.com❈ 前言 笔者所在公司项目的告警信息会通过钉钉发...

    Python中文社区
  • python3实现钉钉消息推送

    偶然发现一个python实现的按照农历/阴历推送消息提醒的程序,钉钉群消息推送。此处总结并对其可推送的消息做。

    py3study
  • Zabbix实现钉钉告警通知,支持@多人功能

    钉钉报警时基于zabbix,访问钉钉应用接口去推送的报警消息,所以我们需要一个在钉钉创建一个报警应用。

    子润先生
  • 自动化运维平台Spug测试

    前言:在之前的文章批量执行crontab指定条目的注释和解注释提到过spug平台,本文具体的对该平台做详细介绍。

    loong576
  • 自动化运维平台Spug测试

    前言:在之前的文章批量执行crontab指定条目的注释和解注释提到过spug平台,本文具体的对该平台做详细介绍。

    loong576
  • Flink SQL 流计算可视化 UI 平台

    flink-streaming-platform-web系统是基于flink封装的一个可视化的web系统,用户只需在web界面进行sql配置就能完成流计算任务,...

    zhisheng
  • grafana-4.5.2的配置

    http://docs.grafana.org/installation/upgrading/#sqlite

    二狗不要跑
  • prometheus 告警

    告警能力在Prometheus的架构中被划分成两个独立的部分。如下所示,通过在Prometheus中定义AlertRule(告警规则),Prometheus会周...

    张琳兮
  • 自定义钉钉机器人报警

    按照钉钉的文档来开发,创建机器人后,即可获取Webhook地址,整个过程还是很简单的,以上只是提供了一个思路.

    LiosWong
  • 利用 shell 实现钉钉机器人告警推送

    在运维中需要对主机业务进行周期巡检,为减少人工巡检频率,降低业务停机风险,利用 shell 脚本对 Linux 系统服务运行状态进行主动巡检,异常...

    Kevin song
  • 21年XX科技公司面试复盘

    9. Zabbix监控数据库的哪些项? 必须监控的有:CPU负载,内存使用率,磁盘大小,IO读写,网络流量,

    用户8229522
  • Docker实践(八):Prometheus + Grafana + 钉钉搭建监控告警系统

    ubuntu安装详见:Ubuntu16.04.5以lvm方式安装全记录 docker安装详见:Ubuntu16.04安装Docker docker-compos...

    loong576
  • SkyWalking链路追踪系统-告警篇

    Skywalking发送告警的基本原理是每隔一段时间轮询skywalking-oap收集到的链路追踪的数据,再根据所配置的告警规则(如服务响应时间、服务响应时间...

    仙人技术
  • ELK 日志报警插件 ElastAlert

    在日常运维中使用 elk 对业务访问日志,设备以及软件运行日志进行统一管理、存储、追溯、分析。日常运维理想的状态是能够实时监测日志的状态,当异常日志产生...

    Kevin song
  • zabbix模块配置学习

    (1) Windows Agent下载安装配置 Agent下载地址:https://www.zabbix.com/download_agents 选择我们对应的...

    WeiyiGeek
  • Grafana异常告警配置很简单(1)

    Grafana Alerting支持多种告警渠道,但是作为一款海外的软件其本身支持的告警渠道很多都是适合国内使用的。例如 Pushover、Telegram、L...

    CainGao

扫码关注云+社区

领取腾讯云代金券