300 lines
9.9 KiB
Markdown
300 lines
9.9 KiB
Markdown
---
|
||
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**
|
||
|
||

|
||
|
||
-------
|
||
|
||
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
|
||
|
||
|
||
```
|