# 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 # The app api i18n name name: zh-CN: HTTP API en-US: HTTP API # The description and help of this monitoring type help: zh-CN: Hertzbeat 将调用 HTTP API 接口,查看接口是否可用,并以 ms 为指标单位对其响应时间等指标进行监测。您可以先点击“新增 HTTP API”按钮并进行配置,或在“更多操作”中导入已有配置。 en-US: The platform will invoke an HTTP API endpoint to verify its accessibility and monitor various metrics, including response time, measured in milliseconds (ms).
To set up this functionality, you could click the "Add HTTP API" button and proceed with the configuration or import an existing setup through the "More Actions" menu. zh-TW: Hertzbeat將調用HTTP API介面,查看介面是否可用,並以ms為名額組織對其回應時間等名額進行監測。 您可以先點擊“新增HTTP API”按鈕並進行配寘,或在“更多操作”中導入已有配寘。 helpLink: zh-CN: https://hertzbeat.apache.org/zh-cn/docs/help/api en-US: https://hertzbeat.apache.org/docs/help/api # 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: method # 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: 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 # field-param field key - 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 # 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' # 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 # 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: 20 # 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: 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 # filed-param field key - field: successCode # name-param field display i18n name name: zh-CN: 校验成功状态码 en-US: Verify Success Code # type-param field type(most mapping the html input type) type: array # param field input placeholder placeholder: 'Input Http Status Code' # required-true or false required: false defaultValue: '200, 201' # hide param-true or false hide: true # collect metrics config list metrics: # metrics - summary - name: summary i18n: zh-CN: 概要 en-US: Summary # 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 # collect metrics content 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: keyword type: 0 i18n: zh-CN: 关键词数量 en-US: Keyword # the protocol used for monitoring, eg: sql, ssh, http, telnet, wmi, snmp, sdk protocol: http # the config content when protocol is http http: # http host: ipv4 ipv6 domain host: ^_^host^_^ # http port port: ^_^port^_^ # http url url: ^_^uri^_^ # http connect timeout timeout: ^_^timeout^_^ # http method: GET POST PUT DELETE PATCH method: ^_^method^_^ # if enabled https ssl: ^_^ssl^_^ # http request payload payload: ^_^payload^_^ # http request header content headers: content-type: ^_^contentType^_^ ^_^headers^_^: ^_^headers^_^ # http request params params: ^_^params^_^: ^_^params^_^ # http auth authorization: # http auth type: Basic Auth, Digest Auth, Bearer Token type: ^_^authType^_^ basicAuthUsername: ^_^username^_^ basicAuthPassword: ^_^password^_^ digestAuthUsername: ^_^username^_^ digestAuthPassword: ^_^password^_^ #http success status code. default 200 #successCode means what http response status code we consider it collect success. successCodes: [^_^successCode^_^] # http response data parse type: default-hertzbeat rule, jsonpath-jsonpath script, website-for website monitoring, prometheus-prometheus exporter rule parseType: website keyword: ^_^keyword^_^