-
Notifications
You must be signed in to change notification settings - Fork 1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[doc] add telnet protocol custom doc (#2061)
Co-authored-by: tomsun28 <[email protected]>
- Loading branch information
1 parent
708b5a2
commit cfe93bf
Showing
3 changed files
with
601 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,298 @@ | ||
--- | ||
id: extend-telnet | ||
title: Telnet Protocol Custom Monitoring | ||
sidebar_label: Telnet Protocol Custom Monitoring | ||
--- | ||
|
||
> From [Custom Monitoring](extend-point), you are familiar with how to customize types, Metrics, protocols, etc. Here we will introduce in detail how to use Telnet to customize Metric monitoring. | ||
> Telnet protocol custom monitoring allows us to easily monitor and collect the Linux Metrics we want by writing sh command script. | ||
### Telnet protocol collection process | ||
【**System directly connected to Linux**】->【**Run shell command script statement**】->【**parse response data: oneRow, multiRow**】->【**Metric data extraction**】 | ||
|
||
It can be seen from the process that we define a monitoring type of Telnet protocol. We need to configure Telnet request parameters, configure which Metrics to obtain, and configure query script statements. | ||
|
||
### Data parsing method | ||
By configuring the metrics `field`, `aliasFields` the `Telnet` protocol of the monitoring template YML to capture the data specified by the peer and parse the mapping. | ||
|
||
|
||
### Custom Steps | ||
|
||
**HertzBeat Dashboard** -> **Monitoring Templates** -> **New Template** -> **Config Monitoring Template Yml** -> **Save and Apply** -> **Add A Monitoring with The New Monitoring Type** | ||
|
||
![](/img/docs/advanced/extend-point-1.png) | ||
|
||
------- | ||
Configuration usages of the monitoring templates yml are detailed below. | ||
|
||
### Monitoring Templates YML | ||
|
||
> We define all monitoring collection types (mysql,jvm,k8s) as yml monitoring templates, and users can import these templates to support corresponding types of monitoring. | ||
> Monitoring template is used to define *the name of monitoring type(international), request parameter mapping, index information, collection protocol configuration information*, etc. | ||
eg:Define a custom monitoring type `app` named `zookeeper` which use the telnet protocol to collect data. | ||
|
||
|
||
```yaml | ||
# The monitoring type category:service-application service monitoring db-database monitoring custom-custom monitoring os-operating system monitoring | ||
# 监控类型所属类别:service-应用服务 program-应用程序 db-数据库 custom-自定义 os-操作系统 bigdata-大数据 mid-中间件 webserver-web服务器 cache-缓存 cn-云原生 network-网络监控等等 | ||
category: mid | ||
# Monitoring application type(consistent with the file name) eg: linux windows tomcat mysql aws... | ||
# 监控应用类型(与文件名保持一致) eg: linux windows tomcat mysql aws... | ||
app: zookeeper | ||
# The monitoring i18n name | ||
# 监控类型国际化名称 | ||
name: | ||
zh-CN: Zookeeper服务 | ||
en-US: Zookeeper Server | ||
# 监控参数定义. field 这些为输入参数变量,即可以用^_^host^_^的形式写到后面的配置中,系统自动变量值替换 | ||
# 强制固定必须参数 - host | ||
params: | ||
# field-param field key | ||
# field-字段名称标识符 | ||
- field: host | ||
# name-param field display i18n name | ||
# name-参数字段显示名称 | ||
name: | ||
zh-CN: 主机Host | ||
en-US: Host | ||
# type-param field type(most mapping the html input type) | ||
# type-字段类型,样式(大部分映射input标签type属性) | ||
type: host | ||
# required-true or false | ||
# 是否是必输项 true-必填 false-可选 | ||
required: true | ||
# field-param field key | ||
# field-字段名称标识符 | ||
- field: port | ||
# name-param field display i18n name | ||
# name-参数字段显示名称 | ||
name: | ||
zh-CN: 端口 | ||
en-US: Port | ||
# type-param field type(most mapping the html input type) | ||
# type-字段类型,样式(大部分映射input标签type属性) | ||
type: number | ||
# when type is number, range is required | ||
# 当type为number时,用range表示范围 | ||
range: '[0,65535]' | ||
# required-true or false | ||
# 是否是必输项 true-必填 false-可选 | ||
required: true | ||
# default | ||
# 默认值 | ||
defaultValue: 2181 | ||
# param field input placeholder | ||
# 参数输入框提示信息 | ||
placeholder: '请输入端口' | ||
# field-param field key | ||
# field-字段名称标识符 | ||
- field: timeout | ||
# name-param field display i18n name | ||
# name-参数字段显示名称 | ||
name: | ||
zh-CN: 查询超时时间(ms) | ||
en-US: Query Timeout(ms) | ||
# type-param field type(most mapping the html input type) | ||
# type-字段类型,样式(大部分映射input标签type属性) | ||
type: number | ||
# required-true or false | ||
# 是否是必输项 true-必填 false-可选 | ||
required: false | ||
# hide-is hide this field and put it in advanced layout | ||
# 隐藏是隐藏这个字段,并把它放在高级布局 | ||
hide: true | ||
# default | ||
# 默认值 | ||
defaultValue: 6000 | ||
# collect metrics config list | ||
# 采集指标配置列表 | ||
metrics: | ||
# metrics - conf | ||
# 第一个监控指标 conf | ||
# 注意:内置监控指标有 (responseTime - 响应时间) | ||
- name: conf | ||
# 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 | ||
# 指标采集调度优先级(0->127)->(优先级高->低) 优先级低的指标会等优先级高的指标采集完成后才会被调度, 相同优先级的指标会并行调度采集 | ||
# 优先级为0的指标为可用性指标,即它会被首先调度,采集成功才会继续调度其它指标,采集失败则中断调度 | ||
priority: 0 | ||
# collect metrics content | ||
# 具体监控指标列表 | ||
fields: | ||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-if is metrics label | ||
# 指标信息 包括 field名称 type字段类型:0-number数字,1-string字符串 label是否为标签 unit:指标单位 | ||
- field: clientPort | ||
type: 0 | ||
i18n: | ||
zh-CN: 客户端端口 | ||
en-US: Client Port | ||
- field: dataDir | ||
type: 1 | ||
i18n: | ||
zh-CN: 数据目录 | ||
en-US: Data Directory | ||
- field: dataDirSize | ||
type: 0 | ||
unit: kb | ||
i18n: | ||
zh-CN: 数据目录大小 | ||
en-US: Data Directory Size | ||
- field: dataLogDir | ||
type: 1 | ||
i18n: | ||
zh-CN: 日志目录 | ||
en-US: Data Log Directory | ||
- field: dataLogSize | ||
type: 0 | ||
unit: kb | ||
i18n: | ||
zh-CN: 日志目录大小 | ||
en-US: Data Log Size | ||
- field: tickTime | ||
type: 0 | ||
unit: ms | ||
i18n: | ||
zh-CN: 心跳间隔时间 | ||
en-US: Tick Time | ||
- field: maxClientCnxns | ||
type: 1 | ||
i18n: | ||
zh-CN: 最大客户端连接数 | ||
en-US: Max Client Connections | ||
- field: minSessionTimeout | ||
type: 0 | ||
unit: ms | ||
i18n: | ||
zh-CN: 最小会话超时 | ||
en-US: Min Session Timeout | ||
- field: maxSessionTimeout | ||
type: 0 | ||
unit: ms | ||
i18n: | ||
zh-CN: 最大会话超时 | ||
en-US: Max Session Timeout | ||
- field: serverId | ||
type: 0 | ||
i18n: | ||
zh-CN: 服务器ID | ||
en-US: Server ID | ||
# the protocol used for monitoring, eg: sql, ssh, http, telnet, wmi, snmp, sdk | ||
# 监控采集使用协议 eg: sql, ssh, http, telnet, wmi, snmp, sdk | ||
protocol: telnet | ||
# the config content when protocol is telnet | ||
# 当protocol为telnet协议时具体的采集配置 | ||
telnet: | ||
# host: ipv4 ipv6 domain | ||
# 主机host: ipv4 ipv6 域名 | ||
host: ^_^host^_^ | ||
# port | ||
# 端口 | ||
port: ^_^port^_^ | ||
# timeout | ||
# 超时时间 | ||
timeout: ^_^timeout^_^ | ||
# telnet instruction | ||
# telnet指令 | ||
cmd: conf | ||
|
||
- name: stats | ||
priority: 1 | ||
fields: | ||
- field: zk_version | ||
type: 1 | ||
i18n: | ||
zh-CN: ZooKeeper版本 | ||
en-US: ZooKeeper Version | ||
- field: zk_server_state | ||
type: 1 | ||
i18n: | ||
zh-CN: 服务器状态 | ||
en-US: Server State | ||
- field: zk_num_alive_connections | ||
type: 0 | ||
unit: 个 | ||
i18n: | ||
zh-CN: 存活连接数 | ||
en-US: Number of Alive Connections | ||
- field: zk_avg_latency | ||
type: 0 | ||
unit: ms | ||
i18n: | ||
zh-CN: 平均延迟 | ||
en-US: Average Latency | ||
- field: zk_outstanding_requests | ||
type: 0 | ||
unit: 个 | ||
i18n: | ||
zh-CN: 未完成请求数 | ||
en-US: Outstanding Requests | ||
- field: zk_znode_count | ||
type: 0 | ||
unit: 个 | ||
i18n: | ||
zh-CN: ZNode数量 | ||
en-US: ZNode Count | ||
- field: zk_packets_sent | ||
type: 0 | ||
unit: 个 | ||
i18n: | ||
zh-CN: 发送数据包数 | ||
en-US: Packets Sent | ||
- field: zk_packets_received | ||
type: 0 | ||
unit: 个 | ||
i18n: | ||
zh-CN: 接收数据包数 | ||
en-US: Packets Received | ||
- field: zk_watch_count | ||
type: 0 | ||
unit: 个 | ||
i18n: | ||
zh-CN: Watch数量 | ||
en-US: Watch Count | ||
- field: zk_max_file_descriptor_count | ||
type: 0 | ||
unit: 个 | ||
i18n: | ||
zh-CN: 最大文件描述符数量 | ||
en-US: Max File Descriptor Count | ||
- field: zk_approximate_data_size | ||
type: 0 | ||
unit: kb | ||
i18n: | ||
zh-CN: 大致数据大小 | ||
en-US: Approximate Data Size | ||
- field: zk_open_file_descriptor_count | ||
type: 0 | ||
unit: 个 | ||
i18n: | ||
zh-CN: 打开的文件描述符数量 | ||
en-US: Open File Descriptor Count | ||
- field: zk_max_latency | ||
type: 0 | ||
unit: ms | ||
i18n: | ||
zh-CN: 最大延迟 | ||
en-US: Max Latency | ||
- field: zk_ephemerals_count | ||
type: 0 | ||
unit: 个 | ||
i18n: | ||
zh-CN: 临时节点数量 | ||
en-US: Ephemerals Count | ||
- field: zk_min_latency | ||
type: 0 | ||
unit: ms | ||
i18n: | ||
zh-CN: 最小延迟 | ||
en-US: Min Latency | ||
protocol: telnet | ||
telnet: | ||
host: ^_^host^_^ | ||
port: ^_^port^_^ | ||
timeout: ^_^timeout^_^ | ||
cmd: mntr | ||
|
||
|
||
``` |
Oops, something went wrong.