ELK实现接口调用统计

ELK实现接口调用统计,第1张

ELK实现接口调用统计 ELK实现接口调用统计 具体思路
    设置打印日志格式
    日志格式:当前系统名称-调用类-调用方法
    各个字段间用空格分割,便于es分词切分使用logstash过滤器grok对固定格式的日期进行分词存储点击获取Grok 正则表达式相关语法
    使用正则表达式对上述固定格式日志进行切分
    过滤正则表达式为:
    %{data:current_system} %{data:current_class} %{data:current_method} 使用es查询过滤出需要的数据
    可以使用系统名称、方法名称在es存储的数据中使用count *** 作,即可获取相关接口调用次数实现以上功能,需要配置logstash-sample.conf,样例如下:
 input {
  tcp {
    mode => "server"
    host => "localhost"
    port => 4560
    type => "tcp"
    codec => json_lines
  }
}
input {
  kafka {
    bootstrap_servers=> "localhost:9092"
    # group_id =>"es"
    topics =>"applog"
    consumer_threads =>1
    decorate_events =>true
    type => "kafka"
  }
}
filter{
  grok {
    match => {"message" => "%{data:current_system} %{data:current_class} %{data:current_method} "}
    overwrite => ["message"]
  }
  if[type] == "tcp" {
    mutate {
      add_tag => ["tcp1"]
    }
  }  
  if [type] == "kafka" {
     mutate {
       add_tag => ["kafka1"]
     }
  }
}
output {
  if "tcp1" in [tags]{
    elasticsearch {
      hosts => "localhost:9200"
      #index => "data_sharing_indicators008"
      index => "%{[appname]}"
      # template => "D:bigdatalogstash-7.3.2template"
      # template_overwrite => "true"
    }
  }
}
output {
  if "kafka1" in [tags]{
    elasticsearch {
      hosts => "localhost:9200"
      index => "data_sharing_indicators007"
      # index => "kafka_%{[appname]}"
      # template => "D:bigdatalogstash-7.3.2template"
      # template_overwrite => "true"
    }
  }
}

5.注意点
自定义的日志输出字段,不能与已有的系统日志输出字段重名,类似关键字的用法

"%{data:current_system} %{data:current_class} %{data:current_method} "

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5701885.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存