TCP 选项
编辑TCP 选项
编辑另请参阅 通用监控器选项。
此处描述的选项配置 Heartbeat 以通过 TCP 连接,并可选择通过发送和/或接收自定义负载来验证端点。
配置示例
- type: tcp id: my-host-services name: My Host Services hosts: ["myhost"] ports: [80, 9200, 5044] schedule: '@every 5s'
hosts
编辑要 ping 的主机列表。列表中的条目可以是
- 一个纯主机名,例如
localhost
,或一个 IP 地址。如果指定此选项,还必须为ports
指定一个值。如果监控器配置为使用 SSL,则 Heartbeat 将建立基于 SSL/TLS 的连接。否则,它将建立一个普通的 TCP 连接。 - 一个主机名和端口,例如
localhost:12345
。Heartbeat 将连接到指定主机上的端口。如果监控器配置为使用 SSL,则 Heartbeat 将建立基于 SSL/TLS 的连接。否则,它将建立一个 TCP 连接。 -
使用语法
scheme://<host>:[port]
的完整 URL,其中-
scheme
是tcp
、plain
、ssl
或tls
之一。如果指定tcp
或plain
,即使监控器配置为使用 SSL,Heartbeat 也会建立 TCP 连接。如果指定tls
或ssl
,Heartbeat 将建立 SSL 连接。但是,如果监控器未配置为使用 SSL,则使用系统默认值(目前 Windows 上不支持)。 -
host
是主机名。 -
port
是端口号。如果 URL 中缺少port
,则需要ports
设置。
-
ports
编辑如果 hosts
中指定的主机不包含端口号,则为要 ping 的端口列表。通常最好在此处使用单个值,因为每个端口都将使用单独的 id
进行监控,给定的 id
值用作 Heartbeat 数据的前缀,并且配置的 name
在通过此检查发送的事件中共享。
check
编辑一个可选的有效负载字符串,发送到远程主机以及预期的答案。如果未指定有效负载,则如果连接尝试成功,则假定端点可用。如果指定了 send
而没有 receive
,则任何响应都被接受为 OK。如果指定了 receive
而没有 send
,则不会发送有效负载,但客户端希望在连接时以“hello 消息”或“banner”的形式接收有效负载。
配置示例
- type: tcp id: echo-service name: Echo Service hosts: ["myhost"] ports: [7] check.send: 'Hello World' check.receive: 'Hello World' schedule: '@every 5s'
proxy_url
编辑连接到服务器时要使用的 SOCKS5 代理的 URL。该值必须是 scheme 为 socks5:// 的 URL。
如果 SOCKS5 代理服务器需要客户端身份验证,则可以在 URL 中嵌入用户名和密码,如示例所示。
proxy_url: socks5://user:password@socks5-proxy:2233
使用代理时,主机名在代理服务器上解析,而不是在客户端上解析。可以通过设置 proxy_use_local_resolver
选项来更改此行为。
proxy_use_local_resolver
编辑一个布尔值,确定主机名是在本地解析还是在代理服务器上解析。默认值为 false,这意味着名称解析在代理服务器上进行。
ssl
编辑TLS/SSL 连接设置。如果监控器配置为使用 SSL,它将尝试 SSL 握手。如果未配置 check
,则监控器将仅检查是否可以建立 SSL/TLS 连接。此检查可能在 TCP 级别或证书验证期间失败。
配置示例
- type: tcp id: tls-mail name: TLS Mail hosts: ["mail.example.net"] ports: [465] schedule: '@every 5s' ssl: certificate_authorities: ['/etc/ca.crt'] supported_protocols: ["TLSv1.0", "TLSv1.1", "TLSv1.2"]
有关 ssl
选项的完整描述,另请参阅 SSL。