# 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
ja-JP: APIコード
# 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”並進行配寘,或者選擇“更多操作”,導入已有配寘。
ja-JP: Hertzbeatは、HTTP APIを呼び出して利用可能かどうかを確認し、ビジネスステータスコード(HTTPステータスコードではない)のメトリックを監視します。これには、API のビジネスステータスコードのパスを解析するように JsonPath を構成する必要があります。「新規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
ja-JP: 目標ホスト
# 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
ja-JP: ポート
# 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
ja-JP: リクエストメソッド
# 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
ja-JP: 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
ja-JP: 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)
ja-JP: タイムアウト(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
ja-JP: JsonPath 解析ステータスコード
# 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
ja-JP: ヘッダ
# 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
ja-JP: パラメータ
# 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
ja-JP: コンテンツタイプ
# 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
ja-JP: ボディ
# 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
ja-JP: 認証方法
# 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
ja-JP: ユーザー名
# 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
ja-JP: パスワード
# 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
ja-JP: アクセストークン
# 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
ja-JP: キーワード
# 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
ja-JP: ステータス
# 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
ja-JP: 応答時間
- field: code
type: 1
i18n:
zh-CN: 业务状态码
en-US: Status Code
ja-JP: ステータスコード
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: '$'