# 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.
# The monitoring type category:service-application service monitoring db-database monitoring custom-custom monitoring os-operating system monitoring
category: service
# The monitoring type eg: linux windows tomcat mysql aws...
app: api_code
# The app api i18n name
name:
zh-CN: API业务状态码
en-US: API Code
# The description and help of this monitoring type
help:
zh-CN: 监控 HTTP API 接口,对 API 返回的业务自定义状态码(非 Http 状态码)进行监控。此需通过配置 JsonPath 来解析您 API 的业务状态码路径。
您可以点击 “新建 API Code” 并进行配置,或者选择“更多操作”,导入已有配置。
en-US: Monitor HTTP API to monitor business-defined status codes (non-HTTP status codes) returned by API. To do this, you need to configure JsonPath to resolve the business status code path of your API.
You could click the "New API Codes" button and proceed with the configuration or import an existing setup through the "More Actions" menu.
zh-TW: 監控 HTTP API 接口,對 API 返回的業務自定義狀態碼(非 Http 狀態碼)進行監控。此需通過配置 JsonPath 來解析您 API 的業務狀態碼路徑。
您可以點擊“新建API Code”並進行配寘,或者選擇“更多操作”,導入已有配寘。
helpLink:
zh-CN: https://hertzbeat.apache.org/zh-cn/docs/help/api_code
en-US: https://hertzbeat.apache.org/docs/help/api_code
# Input params define for app api(render web ui by the definition)
params:
# field-param field key
- field: host
# name-param field display i18n name
name:
zh-CN: 目标Host
en-US: Target Host
# type-param field type(most mapping the html input type)
type: host
# required-true or false
required: true
# field-param field key
- field: port
# name-param field display i18n name
name:
zh-CN: 端口
en-US: Port
# type-param field type(most mapping the html input type)
type: number
# when type is number, range is required
range: '[0,65535]'
# required-true or false
required: true
# default value
defaultValue: 80
# field-param field key
- field: httpMethod
# name-param field display i18n name
name:
zh-CN: 请求方式
en-US: Method
# type-param field type(most mapping the html input type)
type: radio
# required-true or false
required: true
# when type is radio checkbox, use option to show optional values {name1:value1,name2:value2}
options:
- label: GET
value: GET
- label: POST
value: POST
- label: PUT
value: PUT
- label: DELETE
value: DELETE
# field-param field key
- field: uri
# name-param field display i18n name
name:
zh-CN: 相对路径
en-US: URI
# type-param field type(most mapping the html input type)
type: text
# when type is text, use limit to limit string length
limit: 200
# required-true or false
required: false
# param field input placeholder
placeholder: 'Website uri path(no ip port) EG:/v2/book/bar'
# field-param field key
- field: ssl
# name-param field display i18n name
name:
zh-CN: 启用HTTPS
en-US: HTTPS
# type-param field type(most mapping the html input type)
type: boolean
# required-true or false
required: true
# field-param field key
- field: timeout
# name-param field display i18n name
name:
zh-CN: 超时时间(ms)
en-US: Timeout(ms)
# type-param field type(most mapping the html input type)
type: number
# required-true or false
required: false
# hide param-true or false
hide: true
# field-param field key
- field: jsonPath
# name-param field display i18n name
name:
zh-CN: JsonPath解析状态码路径
en-US: JsonPath Parse Code
# type-param field type(most mapping the html input type)
type: text
# required-true or false
required: true
# default value
defaultValue: $.code
# param field input placeholder
placeholder: 'The jsonPath to parse code field in response data'
# field-param field key
- field: headers
# name-param field display i18n name
name:
zh-CN: 请求Headers
en-US: Headers
# type-param field type(most mapping the html input type)
type: key-value
# required-true or false
required: false
# when type is key-value, use keyAlias to config key alias name
keyAlias: Header Name
# when type is key-value, use valueAlias to config value alias name
valueAlias: Header Value
# hide param-true or false
hide: true
- field: params
# name-param field display i18n name
name:
zh-CN: 查询Params
en-US: Params
# type-param field type(most mapping the html input type)
type: key-value
# required-true or false
required: false
# when type is key-value, use keyAlias to config key alias name
keyAlias: Param Key
# when type is key-value, use valueAlias to config value alias name
valueAlias: Param Value
# hide param-true or false
hide: true
# field-param field key
- field: contentType
# name-param field display i18n name
name:
zh-CN: Content-Type
en-US: Content-Type
# type-param field type(most mapping the html input type)
type: text
# param field input placeholder
placeholder: 'Request Body Type'
# required-true or false
required: false
# hide param-true or false
hide: true
# field-param field key
- field: payload
# name-param field display i18n name
name:
zh-CN: 请求BODY
en-US: BODY
# type-param field type(most mapping the html input type)
type: textarea
# param field input placeholder
placeholder: 'Available When POST PUT'
# dependent parameter values list
depend:
httpMethod:
- POST
- PUT
# required-true or false
required: false
# hide param-true or false
hide: true
# field-param field key
- field: authType
# name-param field display i18n name
name:
zh-CN: 认证方式
en-US: Auth Type
# type-param field type(most mapping the html input type)
type: radio
# required-true or false
required: false
# hide param-true or false
hide: true
# when type is radio checkbox, use option to show optional values {name1:value1,name2:value2}
options:
- label: Basic Auth
value: Basic Auth
- label: Digest Auth
value: Digest Auth
- label: Bearer Token
value: Bearer Token
# field-param field key
- field: username
# name-param field display i18n name
name:
zh-CN: 用户名
en-US: Username
# type-param field type(most mapping the html input type)
type: text
# when type is text, use limit to limit string length
limit: 50
# required-true or false
required: false
# hide param-true or false
hide: true
# field-param field key
- field: password
# name-param field display i18n name
name:
zh-CN: 密码
en-US: Password
# type-param field type(most mapping the html input type)
type: password
# required-true or false
required: false
# hide param-true or false
hide: true
# field-param field key
- field: token
# name-param field display i18n name
name:
zh-CN: 认证Token
en-US: Access Token
# type-param field type(most mapping the html input type)
type: text
# required-true or false
required: false
# hide param-true or false
hide: true
# field-param field key
- field: keyword
# name-param field display i18n name
name:
zh-CN: 计数关键字
en-US: Keyword
# type-param field type(most mapping the html input type)
type: text
# param field input placeholder
placeholder: 'Enter keyword which occurrences need to be monitored'
# required-true or false
required: false
# hide param-true or false
hide: true
metrics:
# metrics - status
- name: status
i18n:
zh-CN: 状态
en-US: Status
# metrics scheduling priority(0->127)->(high->low), metrics with the same priority will be scheduled in parallel
# priority 0's metrics is availability metrics, it will be scheduled first, only availability metrics collect success will the scheduling continue
priority: 0
fields:
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
- field: responseTime
type: 0
unit: ms
i18n:
zh-CN: 响应时间
en-US: Response Time
- field: code
type: 1
i18n:
zh-CN: 业务状态码
en-US: Status Code
aliasFields:
- ^_^jsonPath^_^
- responseTime
calculates:
- code=^_^jsonPath^_^
- responseTime=responseTime
protocol: http
http:
host: ^_^host^_^
port: ^_^port^_^
url: ^_^uri^_^
timeout: ^_^timeout^_^
method: ^_^httpMethod^_^
ssl: ^_^ssl^_^
payload: ^_^payload^_^
headers:
content-type: ^_^contentType^_^
^_^headers^_^: ^_^headers^_^
params:
^_^params^_^: ^_^params^_^
authorization:
type: ^_^authType^_^
basicAuthUsername: ^_^username^_^
basicAuthPassword: ^_^password^_^
digestAuthUsername: ^_^username^_^
digestAuthPassword: ^_^password^_^
bearerTokenToken: ^_^token^_^
parseType: jsonPath
parseScript: '$'