通过Telegraf采集端口

Telegraf中的net_response插件可以实现端口采集功能

1、编辑Telegraf配置文件telegraf.conf,找到net_response插件位置,修改内容如下:

[[inputs.net_response]]
    protocol = "tcp"
    address = "127.0.0.1:18000"                    #探测本机端口
    timeout = "5s"
    fielddrop = ["result_type", "string_found"]
    tagexclude = ["result"]
    tags = {name="webapi", region="local"}

说明:

  • protocol:选择要探测的协议,这里选择tcp,如果是udp需要配置发送字符串和期望返回的字符串
  • address:探测的url地址和端口,可以是本机或者远程地址和端口
  • timeout:探测超时时间
  • fieledrop:抛弃掉result_type和string_found字段
  • tagexclude:标签排除字段
  • tags:自定义标签和区域,标签名可定义为端口对应的服务名

2、如果要采集多个端口,可增加多个[[inputs.net_response]]即可,如下:

[[inputs.net_response]]
    protocol = "tcp"
    address = "127.0.0.1:18000"                    #探测本机端口
    timeout = "5s"
    fielddrop = ["result_type", "string_found"]
    tagexclude = ["result"]
    tags = {name="webapi", region="local"}

[[inputs.net_response]]
    protocol = "tcp"
    address = "10.9.2.247:3306"                    #探测远程mysql端口
    timeout = "5s"
    fielddrop = ["result_type", "string_found"]
    tagexclude = ["result"]
    tags = {name="mysql", region="local"}

[[inputs.net_response]]
    protocol = "tcp"
    address = "10.9.2.249:6443"                    #探测远程kube-apiserver端口
    timeout = "5s"
    fielddrop = ["result_type", "string_found"]
    tagexclude = ["result"]
    tags = {name="kube-apiserver", region="local"}

3、接下来重启telegraf,在监控页面查看指标的内容,如图:

注:聚合维度位置不要取消选择,就可以看到详细的指标,如图:

从上图中可以看到,最后面的0表示的result_code的值,为0表示正常,否则异常,可根据result_code的值是否为0来判断是否告警

标签