美文网首页
filebeat7.5+logstash7.5 利用tags多输

filebeat7.5+logstash7.5 利用tags多输

作者: 随便写点什么就好 | 来源:发表于2020-04-16 21:12 被阅读0次

说明

需求的场景需要把nginx,apache,mysql,系统等日志收集到es系统中. 每个服务器都需要单独的索引(每个服务器保存的时间不一样)

主要是通过tags来实现,一个filebeat可以打多个tags.

filebeat.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /data/www/logs/apache_log/access/*log*
  tags: ["10.244_apache_access","apache"]
- type: log
  enabled: true
  paths:
    - /data/www/logs/apache_log/error/*log*
  tags: ["10.244_apache_error","apache"]
output.logstash:
  hosts: ["192.168.12.33:5044"]
processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~
  - add_docker_metadata: ~
  - add_kubernetes_metadata: ~

打了两个tags, 10.244_apache_access 用于在logstash out中单独输出一个索引. apache用于 filter ,比如按apache类写了一种grok,nginx类写了一种grok

logstash.conf

input {
  beats {
    port => 5044
  }
}

filter {
        if "apache" in [tags] {
            grok {
                patterns_dir => "/data/elk/logstash-7.5.0/patterns"
                match => {
                    "message" => "%{APACHEACCESS}"
                }
            }

        }

        if "nginx" in [tags] {
            grok {
                patterns_dir => "/data/elk/logstash-7.5.0/patterns"
                match => {
                    "message" => "%{NGINXACCESS}"
                }
            }
            geoip {
                source => ["remote_addr"]
                target => ["geoip"]
                fields => ["city_name","region_name","country_name","ip"]
            }
        }


}

output {
    if "10.14_nginx_access" in [tags]{
        elasticsearch {
            hosts => ["http://192.168.112.33:9200"]
            index => "192.168.10.14-nginx-access-logstash-%{+YYYY.MM.dd}"
            user => "elastic"
            password => "xxxxx"
        }
    }
    if "10.14_nginx_error" in [tags]{
        elasticsearch {
            hosts => ["http://192.168.112.33:9200"]
            index => "192.168.10.14-nginx-error-logstash-%{+YYYY.MM.dd}"
            user => "elastic"
            password => "xxxxxx"
        }
    }
    if "10.244_apache_access" in [tags]{
        elasticsearch {
            hosts => ["http://192.168.112.33:9200"]
            index => "192.168.10.244-apache-access-logstash-%{+YYYY.MM.dd}"
            user => "elastic"
            password => "xxxxxx"
        }
    }
    if "10.244_apache_error" in [tags]{
        elasticsearch {
            hosts => ["http://192.168.112.33:9200"]
            index => "192.168.10.244-apache-error-logstash-%{+YYYY.MM.dd}"
            user => "elastic"
            password => "xxxxxx"
        }
    }

}

  1. 这样就能实现在es那边每天为每台服务器生成一个独立的索引. 方便定时清理
  2. 安照几个类别用不同的grok切割
  3. 添加了geo,可以显示公网地址位置.

相关文章

  • filebeat7.5+logstash7.5 利用tags多输

    说明 需求的场景需要把nginx,apache,mysql,系统等日志收集到es系统中. 每个服务器都需要单独的索...

  • loadrunner利用代理模式录制手机脚本

    title: loadrunner利用代理模式录制手机脚本categories: 性能测试tags: [性能测试,...

  • 如何利用Swift解析MarkDown

    title: 如何利用Swift解析MarkDowndate: 2016-11-16 17:17:02tags: ...

  • Tags

    在《蔡康永的情商课》中,有一块是讲到我们身上的标签,上面是人们给我们的定义,有的被我们视作珍宝,烫金挂在胸前,有的...

  • tags

    发版打定版标签 1、 添加标签 2、提交标签到远程仓库 3、删除标签 4、删除远程标签 5、查看标签

  • 利用pycharm学习flask(八)

    title: 利用pycharm学习flask(八)date: 2016-10-04 15:36:58tags: ...

  • 深度学习讲稿(23)

    第5章:通用梯度下降 本章主要内容: 多输入的梯度下降学习 冻结权重的意义和用途 多输出梯度下降学习 多输入多输出...

  • anki知识点模板备份

    正面: {{^Tags}}问题{{/Tags}} {{#Tags}}{{Tags}}{{/Tags}} {{问题}...

  • 多输入  多输出  多体会

    最近在思考一个问题,如何提高自己的阅读能力? 我发现自己的阅读理解能力是跟我阅读的快慢有关系,当只字不差地阅读每个...

  • MIMO技术

    MIMO多输入多输出技术(Multiple input Multiple output) LTE系统中下行MIMO...

网友评论

      本文标题:filebeat7.5+logstash7.5 利用tags多输

      本文链接:https://www.haomeiwen.com/subject/mlfjvhtx.html