flink作业通过grafana监控,若想发出报警该如何选择指标的问题

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

flink作业通过grafana监控,若想发出报警该如何选择指标的问题

bradyMk
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: flink作业通过grafana监控,若想发出报警该如何选择指标的问题

李继
可以尝试用yarn application -list 去定期查找你的任务来判断任务是否挂掉

bradyMk <[hidden email]> 于2021年1月6日周三 下午4:35写道:

> Hi,请教大家一个问题:
>
> 目前使用grafana监控flink的作业,想实现一个任务挂掉就报警的功能,初步想法是:监控checkpoint
> size的指标,一旦这个指标为0,就认为任务挂掉,但实际操作后,发现了两个问题:
>
> ① 如果kill掉任务,grafana上的flink所有指标都会一直保持最后接收到的值不变;
> ② 如果cancel掉任务,grafana上的flink所有指标都会突然中断;
>
> 所以,我上面说的想法永远都不会出发告警,因为这个checkpoint size的指标在任务挂掉也不会归为0值;
>
>
> 我又尝试了用一分钟前的job_uptime减去一分钟后的job_uptime,但是这样报警并不优雅,在任务刚启动时会有误报,因为任务刚启动时,一分钟前是没有数据的。
>
> 所以现在很疑惑,请教一下大家如果用grafana监控flink作业的,该选用什么样的指标和用什么规则,可以优雅的报警呢?
>
>
>
> -----
> Best Wishes
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: flink作业通过grafana监控,若想发出报警该如何选择指标的问题

bradyMk
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: flink作业通过grafana监控,若想发出报警该如何选择指标的问题

Yun Tang
Hi

可以使用 numRestarts [1] 指标进行报警,不过需要维护状态,也就是该值增大时报警。对于旧版本Flink,可以使用以及废弃的fullRestarts 指标。


[1] https://ci.apache.org/projects/flink/flink-docs-stable/ops/metrics.html#availability

祝好
唐云
________________________________
From: bradyMk <[hidden email]>
Sent: Wednesday, January 6, 2021 18:57
To: [hidden email] <[hidden email]>
Subject: Re: flink作业通过grafana监控,若想发出报警该如何选择指标的问题

Hi~

我现在也有在用这个办法,可我任务特别多的话,还要求及时报警并发送消息到钉钉群到邮件,这种方法就不太好了



-----
Best Wishes
--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re:flink作业通过grafana监控,若想发出报警该如何选择指标的问题

jiangjiguang719
In reply to this post by bradyMk
我们当前的实现是,每分钟调用yarn的rest api 获取作业状态,和实时计算平台上的作业状态对比,如果挂掉就电话报警,同时平台上作业状态修改为运行异常




在 2021-01-06 16:35:05,"bradyMk" <[hidden email]> 写道:

>Hi,请教大家一个问题:
>
>目前使用grafana监控flink的作业,想实现一个任务挂掉就报警的功能,初步想法是:监控checkpoint
>size的指标,一旦这个指标为0,就认为任务挂掉,但实际操作后,发现了两个问题:
>
>① 如果kill掉任务,grafana上的flink所有指标都会一直保持最后接收到的值不变;
>② 如果cancel掉任务,grafana上的flink所有指标都会突然中断;
>
>所以,我上面说的想法永远都不会出发告警,因为这个checkpoint size的指标在任务挂掉也不会归为0值;
>
>我又尝试了用一分钟前的job_uptime减去一分钟后的job_uptime,但是这样报警并不优雅,在任务刚启动时会有误报,因为任务刚启动时,一分钟前是没有数据的。
>
>所以现在很疑惑,请教一下大家如果用grafana监控flink作业的,该选用什么样的指标和用什么规则,可以优雅的报警呢?
>
>
>
>-----
>Best Wishes
>--
>Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: Re:flink作业通过grafana监控,若想发出报警该如何选择指标的问题

bradyMk
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: flink作业通过grafana监控,若想发出报警该如何选择指标的问题

bradyMk
In reply to this post by Yun Tang
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re:Re: Re:flink作业通过grafana监控,若想发出报警该如何选择指标的问题

jiangjiguang719
In reply to this post by jiangjiguang719
1、是自研的
2、定时调度  http://hadoop.apache.org/docs/r2.8.5/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html#Cluster_Applications_API





在 2021-01-07 16:15:25,"bradyMk" <[hidden email]> 写道:

>Hi~
>请教一下:
>①您说的这个实时计算平台是你们自研的么?
>②每分钟调用yarn的rest api 获取作业状态,您是怎么实现的呢?是定时脚本么?我没调用过yarn的rest api ,还不懂改如何调用。。。
>
>
>
>-----
>Best Wishes
>--
>Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: Re:Re: Re:flink作业通过grafana监控,若想发出报警该如何选择指标的问题

bradyMk
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Re:Re: Re:flink作业通过grafana监控,若想发出报警该如何选择指标的问题

Yun Tang
因为numRestarts 是一个累计值,所以你得区分当前值和之前的数值是否发生了增加,来区分是否发生了failover。

另外,不建议使用YARN的application状态来判断Flink作业状态,因为如果Flink作业配置了重试策略,即使作业不断进行failover,整个YARN的application状态仍然是RUNNING,并不能发现问题。

祝好
唐云
________________________________
From: bradyMk <[hidden email]>
Sent: Thursday, January 7, 2021 16:38
To: [hidden email] <[hidden email]>
Subject: Re: Re:Re: Re:flink作业通过grafana监控,若想发出报警该如何选择指标的问题

好的,我研究一下,谢谢指导~



-----
Best Wishes
--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: Re:Re: Re:flink作业通过grafana监控,若想发出报警该如何选择指标的问题

nobleyd
使用Flink的rest
api不可以嘛。我是standalone集群,写个python脚本,写了个list为expected_jobs,如果发现集群没这个job就报警。

Yun Tang <[hidden email]> 于2021年1月8日周五 上午10:53写道:

> 因为numRestarts 是一个累计值,所以你得区分当前值和之前的数值是否发生了增加,来区分是否发生了failover。
>
>
> 另外,不建议使用YARN的application状态来判断Flink作业状态,因为如果Flink作业配置了重试策略,即使作业不断进行failover,整个YARN的application状态仍然是RUNNING,并不能发现问题。
>
> 祝好
> 唐云
> ________________________________
> From: bradyMk <[hidden email]>
> Sent: Thursday, January 7, 2021 16:38
> To: [hidden email] <[hidden email]>
> Subject: Re: Re:Re: Re:flink作业通过grafana监控,若想发出报警该如何选择指标的问题
>
> 好的,我研究一下,谢谢指导~
>
>
>
> -----
> Best Wishes
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
>
Reply | Threaded
Open this post in threaded view
|

Re: flink作业通过grafana监控,若想发出报警该如何选择指标的问题

gimlee
In reply to this post by bradyMk
是用的pushgateway方式上报嘛?
这种方式promethus要主动去删除上报的数据项才会变成0



--
Sent from: http://apache-flink.147419.n8.nabble.com/