forked from apache/hertzbeat
-
Notifications
You must be signed in to change notification settings - Fork 0
/
app-elasticsearch.yml
287 lines (284 loc) · 8.31 KB
/
app-elasticsearch.yml
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
category: db
app: elasticsearch
name:
zh-CN: ElasticSearch
en-US: ElasticSearch
params:
- field: host
name:
zh-CN: 主机Host
en-US: Host
type: host
required: true
- field: port
name:
zh-CN: 端口
en-US: Port
type: number
range: '[0,65535]'
required: true
defaultValue: 9200
- field: timeout
name:
zh-CN: 查询超时时间
en-US: Query Timeout
type: number
required: false
hide: true
defaultValue: 6000
- field: ssl
name:
zh-CN: 启用HTTPS
en-US: SSL
# 当type为boolean时,前端用switch展示开关
type: boolean
required: true
- field: authType
name:
zh-CN: 认证方式
en-US: Auth Type
type: radio
required: false
options:
- label: Basic Auth
value: Basic Auth
- label: Digest Auth
value: Digest Auth
- field: index
name:
zh-CN: 索引名称
en-US: Index Name
type: text
hide: true
required: false
- field: username
name:
zh-CN: 用户名
en-US: Username
type: text
limit: 20
required: false
- field: password
name:
zh-CN: 密码
en-US: Password
type: password
required: false
metrics:
#集群健康状况检查
- name: health
priority: 0
# 指标组中的具体监控指标
fields:
# 指标信息 包括 field名称 type字段类型:0-number数字,1-string字符串 instance是否为实例主键 unit:指标单位
# 集群名称
- field: cluster_name
type: 1
instance: true
# 集群状态
- field: status
type: 1
# 集群节点数
- field: nodes
type: 0
# 数据节点数
- field: data_nodes
type: 0
# 集群中主节点活跃分片数
- field: active_primary_shards
type: 0
# 集群中所有活跃的分片数
- field: active_shards
type: 0
# 集群分片健康度,活跃分片数占总分片数比例
- field: active_percentage
type: 0
unit: '%'
# 正在初始化的分片
- field: initializing_shards
type: 0
# 未分配的分片数,通常为0,当有某个节点的副本分片丢失该值就会增加
- field: unassigned_shards
type: 0
#(非必须)监控指标别名,与上面的指标名映射。用于采集接口数据字段不直接是最终指标名称,需要此别名做映射转换
aliasFields:
- cluster_name
- status
- number_of_nodes
- number_of_data_nodes
- active_primary_shards
- active_shards
- initializing_shards
- unassigned_shards
- active_shards_percent_as_number
# (非必须)指标计算表达式,与上面的别名一起作用,计算出最终需要的指标值
# eg: cores=core1+core2, usage=usage, waitTime=allTime-runningTime
calculates:
- cluster_name=cluster_name
- status=status
- nodes=number_of_nodes
- data_nodes=number_of_data_nodes
- active_primary_shards=active_primary_shards
- active_shards=active_shards
- active_percentage=active_shards_percent_as_number
- initializing_shards=initializing_shards
- unassigned_shards=unassigned_shards
protocol: http
# 当protocol为http协议时具体的采集配置
http:
# 主机host: ipv4 ipv6 域名
host: ^_^host^_^
# 端口
port: ^_^port^_^
# url请求接口路径
url: /_cluster/health?pretty
# 请求方式 GET POST PUT DELETE PATCH
method: GET
# 是否启用ssl/tls,即是http还是https,默认false
ssl: ^_^ssl^_^
# 认证
authorization:
# 认证方式: Basic Auth, Digest Auth, Bearer Token
type: ^_^authType^_^
basicAuthUsername: ^_^username^_^
basicAuthPassword: ^_^password^_^
digestAuthUsername: ^_^username^_^
digestAuthPassword: ^_^password^_^
parseType: default
- name: nodes
priority: 1
fields:
# 指标信息 包括 field名称 type字段类型:0-number数字,1-string字符串 instance是否为实例主键 unit:指标单位
# 节点个数
- field: total
type: 0
unit: 个
# 在线节点数
- field: successful
type: 0
unit: 个
# 离线节点数
- field: failed
type: 0
unit: 个
protocol: http
# 当protocol为http协议时具体的采集配置
http:
# 主机host: ipv4 ipv6 域名
host: ^_^host^_^
# 端口
port: ^_^port^_^
# url请求接口路径
url: /_nodes/stats
# 请求方式 GET POST PUT DELETE PATCH
method: GET
# 是否启用ssl/tls,即是http还是https,默认false
ssl: ^_^ssl^_^
# 认证
authorization:
# 认证方式: Basic Auth, Digest Auth, Bearer Token
type: ^_^authType^_^
basicAuthUsername: ^_^username^_^
basicAuthPassword: ^_^password^_^
digestAuthUsername: ^_^username^_^
digestAuthPassword: ^_^password^_^
parseType: jsonPath
parseScript: '$._nodes'
- name: nodes_detail
priority: 2
fields:
- field: node_name
type: 1
instance: true
- field: ip
type: 1
- field: cpu_load_average
type: 0
- field: cpu_percent
type: 0
unit: '%'
- field: heap_used
type: 0
unit: MB
- field: heap_used_percent
type: 0
unit: '%'
- field: heap_total
type: 0
unit: 'MB'
- field: disk_free
type: 0
unit: 'GB'
- field: disk_total
type: 0
unit: 'GB'
- field: disk_used_percent
type: 0
unit: '%'
aliasFields:
- $.name
- $.ip
# $.os.cpu.load_average.1m 支持 5.x 及以上版本;$.os.load_average 支持 2.x 及以上版本
- $.os.cpu.load_average.1m
- $.os.load_average
# $.os.cpu.percent 支持 5.x 及以上版本;$.os.cpu_percent 支持 2.x 及以上版本
- $.os.cpu_percent
- $.os.cpu.percent
- $.jvm.mem.heap_used_in_bytes
- $.jvm.mem.heap_used_percent
- $.jvm.mem.heap_max_in_bytes
- $.fs.total.free_in_bytes
- $.fs.total.total_in_bytes
calculates:
- node_name=$.name
- ip=$.ip
- cpu_load_average=#`$.os.cpu.load_average.1m` | $.os.load_average
- cpu_percent=$.os.cpu.percent | $.os.cpu_percent
- heap_used=$.jvm.mem.heap_used_in_bytes
- heap_used_percent=$.jvm.mem.heap_used_percent
- heap_total=$.jvm.mem.heap_max_in_bytes
- disk_free=$.fs.total.free_in_bytes
- disk_total=$.fs.total.total_in_bytes
- disk_used_percent=(1-$.fs.total.free_in_bytes/$.fs.total.total_in_bytes)*100
units:
- heap_used=B->MB
- heap_total=B->MB
- disk_free=B->GB
- disk_total=B->GB
protocol: http
# 当protocol为http协议时具体的采集配置
http:
# 主机host: ipv4 ipv6 域名
host: ^_^host^_^
# 端口
port: ^_^port^_^
# url请求接口路径
url: /_nodes/stats
# 请求方式 GET POST PUT DELETE PATCH
method: GET
# 是否启用ssl/tls,即是http还是https,默认false
ssl: ^_^ssl^_^
# 认证
authorization:
# 认证方式: Basic Auth, Digest Auth, Bearer Token
type: ^_^authType^_^
basicAuthUsername: ^_^username^_^
basicAuthPassword: ^_^password^_^
digestAuthUsername: ^_^username^_^
digestAuthPassword: ^_^password^_^
parseType: jsonPath
parseScript: '$.nodes.*'