Jast blog Jast blog
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档

Jast-zsh

如果你知道你要去哪里,全世界都会给你让路。
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
  • Ambari自定义服务开发-项目初始化
  • Ambari自定义服务开发-组件安装启动停止卸载介绍
  • Ambari自定义服务开发-自定义服务配置文件在Ambari中的设置方法
  • Ambari自定义服务开发-自定义服务配置文件生成
  • Ambari自定义服务开发-代码如何获取配置参数
  • Ambari自定义服务开发-修改配置文件提示服务重启
  • Ambari自定义服务开发-自定义告警
  • Ambari自定义服务开发-查看历史版本配置
  • Ambari自定义服务开发-调试方法
  • Ambari自定义服务开发-执行Shell命令
  • Ambari自定义服务开发-快捷访问链接生成
  • Ambari自定义服务开发-服务组件启动顺序设置
  • Ambari自定义服务开发-服务组件安装依赖另外一个组件设置
  • Ambari自定义服务开发-监控指标Metrics介绍
    • AMS(Ambari Metrics Service)数据保存文职
    • 配置metainfo.xml
    • 仪表盘配置-widgets.json
      • 四种METRICS监控图表类型介绍
      • GRAPH图
      • GAUGE百分比
      • Number数字
      • Template自定义显示内容
      • 指标的聚合函数
    • metrics.json
    • 监控指标发布
    • 监控指标数据发送至Ambari Metrics
    • 配置参数使用样例
      • widgets.json
      • metrics.json
      • 测试模拟发送数据到Metrics
    • 问题解决
      • 每次更新重启安装服务,仪表盘之前的配置都会保留
      • 日志如何查看
  • Ambari自定义服务开发-使用客户端下载配置文件
  • Ambari自定义服务开发-美化(增强型)配置参数设置
  • Ambari自定义服务开发-自定义开发安装包整合到Ambari-Server中
  • Ambari自定义服务开发-自定义脚本运行
  • Ambari自定义服务开发-常用函数
  • Ambari自定义服务开发问题处理-中文乱码
  • Ambari自定义服务开发问题处理-告警项UNKWN
  • Ambari自定义服务开发问题处理-Agent安装服务报错unknown
  • Ambari自定义服务开发问题处理-修改源码配置,服务重启后未生效
  • 《Ambari自定义开发教程》笔记
Jast-zsh
2024-04-08
目录

Ambari自定义服务开发-监控指标Metrics介绍

[toc]

在Ambari WebUi中我们可以看到METRICS中有很多监控图表,本章节对如何配置METRICS监控图标进行介绍。

image-20240229170209004

# AMS(Ambari Metrics Service)数据保存文职

登录AMS服务所在服务器

查看ams使用的hbase的配置文件,ams-hbase和我们安装的hbase服务不是一个Hbase服务

$ ps -ef|grep ams-hbase
ams       37629      1  0 Feb28 ?        00:00:00 bash /usr/lib/ams-hbase/bin/hbase-daemon.sh --config /etc/ams-hbase/conf foreground_start master
1
2

执行命令hbase --config /etc/ams-hbase/conf shell可以看到监控用到的表

$ hbase --config /etc/ams-hbase/conf shell
hbase(main):001:0> list
TABLE                                                                                                                                                                  
CONTAINER_METRICS                                                                                                                                                      
HOSTED_APPS_METADATA_UUID                                                                                                                                              
INSTANCE_HOST_METADATA                                                                                                                                                 
METRICS_METADATA_UUID                                                                                                                                                  
METRIC_AGGREGATE_DAILY_UUID                                                                                                                                            
METRIC_AGGREGATE_HOURLY_UUID     
1
2
3
4
5
6
7
8
9

# 配置metainfo.xml

在metainfo.xml文件内的<componment>中添加<timelineAppid>标签

<!--存储 metric 数据的默认类型-->
<timelineAppid>doris</timelineAppid>
1
2

这里需要注意字段 timelineAppId,该值是唯一的,一般用 Service Name 即可,并且不区分大小写。Metrics Collector 中的 Timeline Server 会通过 timelineAppid 区分各个服务的 Metrics 信息。

Metrics Collector:用于接收Metric信息的Controller

# 仪表盘配置-widgets.json

{
  "layouts": [
    {
      "layout_name": "default_xxx_dashboard",
      "display_name": "Standard xxx Dashboard",
      "section_name": "xxx_SUMMARY",
      "widgetLayoutInfo": [
        # 具体仪表盘配置信息
      ]
    }
  ]
}
1
2
3
4
5
6
7
8
9
10
11
12

参数说明:

layout_name : 布局的唯一标识符,用于在Ambari中区分不同的布局。xxx替换成自己的服务名小写。

section_name : xxx 替换成自己的服务名大写就行,其他不用改。

display_name : xxx 替换成自己的服务名就行,其他不用改。

# 四种METRICS监控图表类型介绍

# GRAPH图

img

上图对应的配置文件,下面内容是在layouts.widgetLayoutInfo下的

{
    "widget_name": "NameNode GC count",
    "description": "Count of total garbage collections and count of major type garbage collections of the JVM.",
    "widget_type": "GRAPH",
    "is_visible": true,
    "metrics": [
        {
            "name": "jvm.JvmMetrics.GcCount._rate",    // 数据推送到collector的实际名称。
            "metric_path": "metrics/jvm/gcCount._rate",   // 这个路径和metrics.json文件的metricKey要保持一致(去掉._rate的部分)
            "service_name": "HDFS",         // 服务名
            "component_name": "NAMENODE",     // 组件名
            "host_component_criteria": "host_components/metrics/dfs/FSNamesystem/HAState=active"   // 可选参数,该值为主机指标,不加这个参数的话,就是服务指标
        },
        {
          	// 多个值,代表在图中的多条线
            "name": "jvm.JvmMetrics.GcCountConcurrentMarkSweep._rate",
            "metric_path": "metrics/jvm/GcCountConcurrentMarkSweep._rate",
            "service_name": "HDFS",
            "component_name": "NAMENODE",
            "host_component_criteria": "host_components/metrics/dfs/FSNamesystem/HAState=active"
        }
    ],
    "values": [
        {
            "name": "GC total count",     // 该字段仅用于“GRAPH图形”窗口小部件类型。作为放大图例中的标签名称。
            "value": "${jvm.JvmMetrics.GcCount._rate}"   // 这是用来计算数据集值的表达式。表达式包含对声明的度量名称和作为有效操作数的常量的引用。表达式还包含一组有效的运算符{+、-、*、/},可以与有效的操作数一起使用。表达式中也允许使用括号。
        },
        {
            "name": "GC count of type major collection",
            "value": "${jvm.JvmMetrics.GcCountConcurrentMarkSweep._rate}"
        }
    ],
    "properties": {         // 包含显示单位、阈值标识等等
        "graph_type": "LINE",
	      //"display_unit": "ms", 在途中显示的数据单位,常用的有 ms,% 等
        "time_range": "1"
    }
}
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
34
35
36
37
38

# GAUGE百分比

image-20240301173252972

image-20240301174047370

上图对应的配置文件,下面内容是在layouts.widgetLayoutInfo下的

{
    "widget_name": "heap使用内存的百分比", // 仪表盘显示的名称
    "description": "heap使用内存的百分比,当值达到75%的时候开始GC", //详细描述,在添加仪表盘中可以看到
    "widget_type": "GAUGE", //显示指标的类型
    "is_visible": true, //是否可见,一般都为true
    "metrics": [
        {
            "name": "heap.used.memory",   // 数据推送到collector的实际名称。
            "metric_path": "metrics/heap/used/memory", //这个路径和metrics.json文件的metricKey要保持一致
            "service_name": "DORIS", // 服务名称
            "component_name": "FRONTEND" // 组件名称
        },
        {
            "name": "heap.max.memory",
            "metric_path": "metrics/heap/max/memory",
            "service_name": "DORIS",
            "component_name": "FRONTEND"
        }
    ],
    "values": [
        {
            "name": "heap used memory",
            "value": "${heap.used.memory/heap.max.memory}" // 图标显示的结果,取heap.used.memory/heap.max.memory的值
        }
    ],
    "properties": {
        "error_threshold": "0.9", // 告警百分比,当达到该大小则字体显示红色
        "warning_threshold": "0.75" // 告警百分比,当达到该大小则字体显示黄色
    }
}
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

# Number数字

image-20240301175845698

上图对应的配置文件,下面内容是在layouts.widgetLayoutInfo下的

{
    "widget_name": "Under Replicated Blocks", // 仪表盘显示的名称
    "description": "Number represents file blocks that does not meet the replication factor criteria. Its indicative of HDFS bad health.",//详细描述,当类型为GRAPH时才会显示,其他类型就当做备注
    "widget_type": "NUMBER",  //显示指标的类型
    "is_visible": true, //是否可见,一般都为true
    "metrics": [
        {
            "name": "Hadoop:service=NameNode,name=FSNamesystem.UnderReplicatedBlocks",  // 数据推送到collector的实际名称。
            "metric_path": "metrics/dfs/FSNamesystem/UnderReplicatedBlocks",//这个路径和metrics.json文件的metricKey要保持一致
            "service_name": "HDFS", // 服务名称
            "component_name": "NAMENODE",// 组件名称
            "host_component_criteria": "host_components/metrics/dfs/FSNamesystem/HAState=active"
        }
    ],
    "values": [
        {
            "name": "Under Replicated Blocks",
            "value": "${Hadoop:service=NameNode,name=FSNamesystem.UnderReplicatedBlocks}" // 图标显示的结果
        }
    ],
    "properties": {
        "warning_threshold": "0", //告警值
        "error_threshold": "50" //告警值
      	//"display_unit": "ms", 在途中显示的数据单位,常用的有 ms,min,d 等
    }
}
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

# Template自定义显示内容

image-20240304112740572

上图对应的配置文件,下面内容是在layouts.widgetLayoutInfo下的

{
    "widget_name": "Elasticsearch集群节点的存活占比",// 仪表盘显示的名称
    "description": "Elasticsearch集群节点的存活占比,存活个数/总个数",//详细描述,当类型为GRAPH时才会显示,其他类型就当做备注
    "widget_type": "TEMPLATE",//显示指标的类型
    "is_visible": true,//是否可见,一般都为true
    "metrics": [
        {
            "name": "nodes.number._max",  // 数据推送到collector的实际名称。
            "metric_path": "metrics/nodes/number._max",// 这个路径和metrics.json文件的metricKey要保持一致(去掉.max的部分)
            "service_name": "ELASTICSEARCH", // 服务名称
            "component_name": "ELASTICSEARCH_SERVICE"// 组件名称
        },
        {
            "name": "total.nodes.number._max",
            "metric_path": "metrics/total/nodes/number._max",
            "service_name": "ELASTICSEARCH",
            "component_name": "ELASTICSEARCH_SERVICE"
        }
    ],
    "values": [
        {
            "name": "the number of nodes",
            "value": "${nodes.number._max} / ${total.nodes.number._max}" // 图标显示的结果
        }
    ]
}
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

# 指标的聚合函数

聚合功能只与服务组件级度量相关,不支持主机组件级度量。

共支持四种聚合类型:

  • max:所有主机组件的指标最大值
  • min:所有主机组件中指标的最小值
  • avg:所有主机组件的指标平均值
  • sum:所有每个主机组件的度量值总和

组件部署在各节点上,每个节点都要向 metrics collector 发送自己的指标数据,然后展示的时候,就会根据各主机的指标值聚合展示。

# metrics.json

{
  "<服务组件名称>": {
    "Component": [
      {
        "type": "ganglia",    // ganglia是负责收集指标数据的
        "metrics": {
          "default": {
            "<metricKey>": {   // 这里的metricKey值为widgets.json里面的metrics[i].metric_path的值。去掉._max、._min之类的聚合标识
              "metric": "<metricName>",     // 这里的metricName值为widgets.json里面的metrics[i].name的值。去掉._max、._min之类的聚合标识
              "pointInTime": true,      // 表示该 Metric 属性是否允许时间段的查询,如果为 false 则代表不允许,这样就会只取最后一次的值。参数通常用来表示一个指标是否应该被视为一个瞬时值,即在某一特定时刻的值。当设置为true时,它意味着该指标代表的是某一时刻的数据点,比如某一时刻的CPU使用率或内存使用量。这种类型的指标不是基于时间范围的聚合,而是某一具体时刻的快照。
              "temporal": true         // 代表是否支持时间段的查询请求,这里一般都是 true。用来指明一个指标是否随时间变化而变化,即是否应该跟踪和展示这个指标随时间的变化趋势。当设置为true时,它表示这个指标是随时间变化的,适合用来跟踪和展示一段时间内的趋势,如CPU或内存的使用趋势。
            },
            ...  
          }
        }
      } 
    ]
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 监控指标发布

widgets.json和metrics.json需要放在DORIS/根目录下,然后重启ambari-server服务,重新安装DORIS服务即可。

# 监控指标数据发送至Ambari Metrics

监控的信息Ambari都是通过Ambari Metrics服务进行接收的

使用curl命令进行测试数据发送

curl -X POST http://bigdata-03:6188/ws/v1/timeline/metrics -H "Content-Type: application/json" -d '
{
    "metrics": [
        {
            "metricname": "doris.fe.mem",
            "appid": "doris",
            "hostname": "bigdata-01",
            "timestamp": 1709285930994,
            "starttime": 1709285930994,
            "metrics": {
                "1709285399240": 100
            }
        },{
            "metricname": "doris.fe.cpu",
            "appid": "doris",
            "hostname": "bigdata-01",
            "timestamp": 1709285930994,
            "starttime": 1709285930994,
            "metrics": {
                "1709279932606": 100
            }
        }
    ]
}
'

curl -X POST http://bigdata-03:6188/ws/v1/timeline/metrics -H "Content-Type: application/json" -d '
{
    "metrics": [
        {
            "metricname": "doris.fe.cpu",
            "appid": "doris",
            "hostname": "bigdata-01",
            "timestamp": 1709279598483,
            "starttime": 1709279598483,
            "metrics": {
                "1709279598483": 30
            }
        }
    ]
}
'



# 百分比测试数据
curl -X POST http://bigdata-03:6188/ws/v1/timeline/metrics -H "Content-Type: application/json" -d '
{
    "metrics": [
        {
            "metricname": "doris.used.memory",
            "appid": "doris",
            "hostname": "bigdata-01",
            "timestamp": 1709285907921,
            "starttime": 1709285907921,
            "metrics": {
                "1709285093016": 90
            }
        },{
            "metricname": "doris.max.memory",
            "appid": "doris",
            "hostname": "bigdata-01",
            "timestamp": 1709285907921,
            "starttime": 1709285907921,
            "metrics": {
                "1709285907921": 90
            }
        }
    ]
}
'


# 添加文档
curl -X POST http://bigdata-03:6188/ws/v1/timeline/metrics -H "Content-Type: application/json" -d '
{
    "metrics": [
        {
            "metricname": "doris.data.count",
            "appid": "doris",
            "hostname": "bigdata-01",
            "timestamp": 170928590792,
            "starttime": 170928590792,
            "metrics": {
                "1709285093016": 88
            }
        }
    ]
}
'

# 自定义数据发送
curl -X POST http://bigdata-03:6188/ws/v1/timeline/metrics -H "Content-Type: application/json" -d '
{
    "metrics": [
        {
            "metricname": "doris.total.nodes.number",
            "appid": "doris",
            "hostname": "bigdata-01",
            "timestamp": 1709285907921,
            "starttime": 1709285907921,
            "metrics": {
                "1709285093016": 8
            }
        },{
            "metricname": "doris.nodes.number",
            "appid": "doris",
            "hostname": "bigdata-01",
            "timestamp": 1709285907921,
            "starttime": 1709285907921,
            "metrics": {
                "1709285907921": 7
            }
        }
    ]
}
'
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117

数据发送成功返回结果:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><response/>
1

# 配置参数使用样例

上面描述的各监控仪表盘的Demo样例总结(完整版)

# widgets.json

{
  "layouts": [
    {
      "layout_name": "default_doris_dashboard",
      "display_name": "Standard Doris Dashboard",
      "section_name": "DORIS_SUMMARY",
      "widgetLayoutInfo": [
        {
          "widget_name": "Doris 内存使用",
          "description": "Doris 内存使用",
          "widget_type": "GRAPH",
          "is_visible": true,
          "metrics": [
              {
                  "name": "doris.fe.mem",
                  "metric_path": "metrics/doris/fe/mem",
                  "service_name": "DORIS",
                  "component_name": "FRONTEND"
              },
              {
                  "name": "doris.fe.cpu",
                  "metric_path": "metrics/doris/fe/cpu",
                  "service_name": "DORIS",
                  "component_name": "FRONTEND"
              }
          ],
          "values": [
              {
                  "name": "FE 使用内存",
                  "value": "${doris.fe.mem}"
              },
              {
                  "name": "FE 使用CPU",
                  "value": "${doris.fe.cpu}"
              }
          ],
          "properties": {
              "graph_type": "LINE",
              "display_unit": "%",
              "time_range": "1"
          }
      },
        {
            "widget_name": "当前Doris使用内存的百分比",
            "description": "记录当前Doris使用内存的百分比",
            "widget_type": "GAUGE",
            "is_visible": true,
            "metrics": [
                {
                    "name": "doris.used.memory",
                    "metric_path": "metrics/doris/used/memory",
                    "service_name": "DORIS",
                    "component_name": "FRONTEND"
                },
                {
                    "name": "doris.max.memory",
                    "metric_path": "metrics/doris/max/memory",
                    "service_name": "DORIS",
                    "component_name": "FRONTEND"
                }
            ],
            "values": [
                {
                    "name": "内存使用百分比",
                    "value": "${doris.used.memory/doris.max.memory}"
                }
            ],
            "properties": {
                "error_threshold": "0.9",
                "warning_threshold": "0.75"
            }
        },
        {
          "widget_name": "文档数量",
          "description": "表中所有文档数量",
          "widget_type": "NUMBER",
          "is_visible": true,
          "metrics": [
              {
                  "name": "doris.data.count",
                  "metric_path": "metrics/doris/data/count",
                  "service_name": "DORIS",
                  "component_name": "FRONTEND"
              }
          ],
          "values": [
              {
                  "name": "文档数量",
                  "value": "${doris.data.count}"
              }
          ],
          "properties": {
              "warning_threshold": "50000",
              "error_threshold": "100000",
              "display_unit": "条"
          }
      },{
          "widget_name": "Doris集群节点的存活占比",
          "description": "Doris集群节点的存活占比,存活个数/总个数",
          "widget_type": "TEMPLATE",
          "is_visible": true,
          "metrics": [
              {
                  "name": "doris.nodes.number._max",
                  "metric_path": "metrics/doris/nodes/number._max",
                  "service_name": "DORIS",
                  "component_name": "FRONTEND"
              },
              {
                  "name": "doris.total.nodes.number._max",
                  "metric_path": "metrics/doris/total/nodes/number._max",
                  "service_name": "DORIS",
                  "component_name": "FRONTEND"
              }
          ],
          "values": [
              {
                  "name": "节点存活信息",
                  "value": "${doris.nodes.number._max} / ${doris.total.nodes.number._max}"
              }
          ]
      }
      ]
    }
  ]
}
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126

# metrics.json

{
  "FRONTEND": {
    "Component": [
      {
        "type": "ganglia",
        "metrics": {
          "default": {
            "metrics/doris/fe/mem": {
              "metric": "doris.fe.mem",
              "pointInTime": true,
              "temporal": true
            },
            "metrics/doris/fe/cpu": {
              "metric": "doris.fe.cpu",
              "pointInTime": true,
              "temporal": true
            },
            "metrics/doris/used/memory": {
              "metric": "doris.used.memory",
              "pointInTime": true,
              "temporal": true
            },
            "metrics/doris/max/memory": {
              "metric": "doris.max.memory",
              "pointInTime": true,
              "temporal": true
            },
            "metrics/doris/data/count": {
              "metric": "doris.data.count",
              "pointInTime": true,
              "temporal": true
            },
            "metrics/doris/nodes/number": {
              "metric": "doris.nodes.number",
              "pointInTime": true,
              "temporal": true
            },
            "metrics/doris/total/nodes/number": {
              "metric": "doris.total.nodes.number",
              "pointInTime": true,
              "temporal": true
            }
          }
        }
      }
    ]
  }
}
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

# 测试模拟发送数据到Metrics

curl -X POST http://bigdata-03:6188/ws/v1/timeline/metrics -H "Content-Type: application/json" -d '
{
    "metrics": [
        {
            "metricname": "doris.fe.mem",
            "appid": "doris",
            "hostname": "bigdata-01",
            "timestamp": 1709285930994,
            "starttime": 1709285930994,
            "metrics": {
                "1709285399240": 100
            }
        },{
            "metricname": "doris.fe.cpu",
            "appid": "doris",
            "hostname": "bigdata-01",
            "timestamp": 1709285930994,
            "starttime": 1709285930994,
            "metrics": {
                "1709279932606": 100
            }
        }
    ]
}
'

curl -X POST http://bigdata-03:6188/ws/v1/timeline/metrics -H "Content-Type: application/json" -d '
{
    "metrics": [
        {
            "metricname": "doris.fe.cpu",
            "appid": "doris",
            "hostname": "bigdata-01",
            "timestamp": 1709279598483,
            "starttime": 1709279598483,
            "metrics": {
                "1709279598483": 30
            }
        }
    ]
}
'



# 百分比测试数据
curl -X POST http://bigdata-03:6188/ws/v1/timeline/metrics -H "Content-Type: application/json" -d '
{
    "metrics": [
        {
            "metricname": "doris.used.memory",
            "appid": "doris",
            "hostname": "bigdata-01",
            "timestamp": 1709285907921,
            "starttime": 1709285907921,
            "metrics": {
                "1709285093016": 90
            }
        },{
            "metricname": "doris.max.memory",
            "appid": "doris",
            "hostname": "bigdata-01",
            "timestamp": 1709285907921,
            "starttime": 1709285907921,
            "metrics": {
                "1709285907921": 90
            }
        }
    ]
}
'


# 添加文档
curl -X POST http://bigdata-03:6188/ws/v1/timeline/metrics -H "Content-Type: application/json" -d '
{
    "metrics": [
        {
            "metricname": "doris.data.count",
            "appid": "doris",
            "hostname": "bigdata-01",
            "timestamp": 170928590792,
            "starttime": 170928590792,
            "metrics": {
                "1709285093016": 88
            }
        }
    ]
}
'

# 自定义数据发送
curl -X POST http://bigdata-03:6188/ws/v1/timeline/metrics -H "Content-Type: application/json" -d '
{
    "metrics": [
        {
            "metricname": "doris.total.nodes.number",
            "appid": "doris",
            "hostname": "bigdata-01",
            "timestamp": 1709285907921,
            "starttime": 1709285907921,
            "metrics": {
                "1709285093016": 8
            }
        },{
            "metricname": "doris.nodes.number",
            "appid": "doris",
            "hostname": "bigdata-01",
            "timestamp": 1709285907921,
            "starttime": 1709285907921,
            "metrics": {
                "1709285907921": 7
            }
        }
    ]
}
'
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117

# 问题解决

# 每次更新重启安装服务,仪表盘之前的配置都会保留

调试过程中重新安装服务后,之前的都会保留

image-20240301162315346

解决方法:

在仪表盘中直接点击delete

tip:删除前需要将仪表盘取消添加,不能展示在UI监控中

image-20240301162402218

image-20240301162413974

# 日志如何查看

我们可以查看 Metrics Collector 和 Ambari Server 的相关日志。

成功部署之前,可以看 Ambari Server 的日志,默认在 /var/log/ambari-server/ambari-server.log 。

成功部署之后,如果指标不显示,则可以查看 Metrics Collector 的日志,默认在 /var/log/ambari-metrics-collector/ambari-metrics-collector.log ,注意确定好服务在哪一个主机上。

上次更新: 2024/05/11, 16:24:52
Ambari自定义服务开发-服务组件安装依赖另外一个组件设置
Ambari自定义服务开发-使用客户端下载配置文件

← Ambari自定义服务开发-服务组件安装依赖另外一个组件设置 Ambari自定义服务开发-使用客户端下载配置文件→

最近更新
01
Linux可视化监控
02-26
02
Maven私服搭建
02-26
03
当ElasticSearch时间字段设置多个格式到底是用的哪个?
01-19
更多文章>
Theme by Vdoing | Copyright © 2016-2025 Jast-zsh | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式