当前位置:   article > 正文

第八章 Ambari二次开发之自定义Flink服务 -- 自定义告警服务_ambari metrics配置告警

ambari metrics配置告警

1、alter概述

在Ambari中的告警机制用来监控各个模块及其机器的状态。对于告警来说主要包括AlertDefinition和Alert Instance。

  • Alert Definition:告警任务定义,即定义告警的检测时间间隔(interval)、类型(type)、以及阈值等。
  • Alert Instance:告警实例,即Ambari会读取alert definition,然后创建对应实例去执行告警任务。

2、alter类型

  • alert类型分为五种,分别如下
类型用途阈值是否可分配阈值单位
PORT用来监测机器上的一个端口进程是否存在
METRIC用来监测Metric相关的配置属性%
AGGREGATE用来收集其他某些Alert的状态%
WEB用来监测一个WEB UI(URL)地址是否可用
SCRIPTAlert的检测逻辑由一个自定义的python脚本执行
  • 注意事项:alert检查结果有五个级别,分别是OK、WARNING、CRITICAL、UNKNOWN和NONE

3、Alter开发实例

3.1、第一步_PORT告警示例实现
{
    "FLINK": {
        "service": [],
        "FLINK_MASTER": [
            {
                "name": "Flink_server_process",
                "label": "Flink服务进程",
                "description": "如果您不能确定Flink服务器进程已启动并且正在网络上侦听,则将触发此主机级别警报。",
                "interval": 1,
                "scope": "ANY",
                "enabled": true,
                "source": {
                    "type": "PORT",
                    "uri": "{{flink-env/jobmanager_web_port}}",
                    "default_port": 8081,
                    "reporting": {
                        "ok": {
                            "text": "TCP OK - {0:.3f}s response on port {1}"
                        },
                        "warning": {
                            "text": "TCP OK - {0:.3f}s response on port {1}",
                            "value": 1.5
                        },
                        "critical": {
                            "text": "Connection failed",
                            "value": 5
                        }
                    }
                }
            }
        ]
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 参数说明:依据metainfo.xml 文件的service.name/ component.name属性表示用来定义这个 Alert 属于哪个 Service 的哪个模块
属性说明备注
name告警名称
label告警显示名称
description告警描述
interval告警检测周期单位为分钟
scope告警范围
enabled是否启用告警
source告警实例
source/type告警类型
source/uri定义变量,获取conf的参数值
source/default_port监测告警的默认端口号。如果 uri 参数失效,就会读取该参数。
source/reporting代表告警级别分别是OK、WARNING,CRITICAL、UNKNOWN 和 NONE
3.2、第二步_上传文件
cd /var/lib/ambari-server/resources/stacks/HDP/3.1/services/FLINK
rz alerts.json
  • 1
  • 2
  • 结果如下

在这里插入图片描述

3.3、第三步_调试运行

(1)如果是修改 alerts.json 文件内容

需要重启 Ambari Server ,并卸载、重新安装服务,Ambari 会将新预定义的 Alert 信息保存到数据库中。

(2)如果是修改 SCRIPT 类型的 py 文件

需要将修改后的 py 文件放置到 告警组件所在机器的 /var/lib/ambari-agent/cache/stacks/HDP/3.1/services/ELASTICSEARCH/package/alerts 目录下即可(以 Flink 为例)。实时更新,不需要重启 ambari-server ,大概等待一分钟后,程序刷新。

3.4、运行结果

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/683616
推荐阅读
相关标签
  

闽ICP备14008679号