ELFK采集Oracle日志(二):使用Logstash从Kafka消费Oracle日志,并吐到ES


curl -O https://artifacts.elastic.co/downloads/beats/filebeat/logstash-8.9.2-linux-x86_64.tar.gz
tar -xzvf logstash-8.9.2-linux-x86_64.tar.gz
mv logstash-8.9.2-linux-x86_64 logstash
cd logstash/config

vi logstash.yml
# 文末附内容

vi kafka_into_es.conf
# 文末附内容

cd ..
bin/logstash -f config/kafka_into_es.conf

logstash.yml

node.name: 1eventlog
pipeline.id: 1eventlog

xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.username: logstash_system
xpack.monitoring.elasticsearch.password: Glkib_1
xpack.monitoring.elasticsearch.hosts: ["https://10.1.5.13:9200","https://10.1.5.14:9200","https://10.1.5.15:9200"]
xpack.monitoring.elasticsearch.ssl.certificate_authority: "/home/app/logstash/config/elasticsearch-ca.pem"
xpack.monitoring.elasticsearch.ssl.verification_mode: certificate
xpack.monitoring.elasticsearch.sniffing: false

 kafka_into_es.conf

 input {
    kafka {
        bootstrap_servers => "10.1.5.9:9092"
        group_id => "oracle_logs"
        client_id => "oracle_log"
        id => "oracle_log"
        topics => ["oracle_database","oracle_listener","oracle_asm"]
        codec => json {
           charset => "UTF-8"
        }
        consumer_threads => 1
        add_field => { "[@metadata][appname]" => "oraclelog" }
    }
    kafka {
        bootstrap_servers => "10.1.5.9:9092"
        group_id => "oracle_logs"
        client_id => "oracle_log1"
        id => "oracle_log1"
        topics => ["oracle_clusterware"]
        codec => json {
           charset => "UTF-8"
        }
        consumer_threads => 1
        add_field => { "[@metadata][appname]" => "oracle_log" }
    }
}
filter {
    if [@metadata][appname] == "oraclelog" {
      grok{
        match => ["message","(?m)%{DAY}\ %{MONTH:month}\ %{MONTHDAY:day}\ %{TIME:time}\ %{YEAR:year}\n%{GREEDYDATA:info}[^\n]+"]
      }
      mutate {
        add_field => {"timestamp" => "%{year} %{month} %{day} %{time}"}
      }
      date {
        match => ["timestamp", "yyyy MMM dd HH:mm:ss"]
      }
      mutate {
        gsub => ["message", "\\x", "\\\x"]
        remove_field => ["@version","agent","event","ecs","input","tags","year","month","day","time","timestamp","message"]
      }
    }
    if [@metadata][appname] == "oracle_log" {
      grok{
        match => ["message","%{YEAR:year}\-%{MONTHNUM:month}\-%{MONTHDAY:day}\ %{TIME:time}\:\ \n%{GREEDYDATA:info}[^\n]+"]
      }
      mutate {
        add_field => {"timestamp" => "%{year} %{month} %{day} %{time}"}
      }
      date {
        match => ["timestamp", "yyyy MM dd HH:mm:ss.SSS"]
      }
      mutate {
        gsub => ["message", "\\x", "\\\x"]
        remove_field => ["@version","agent","event","ecs","input","tags","year","month","day","time","timestamp","message"]
      }
    }
}
output {
    if [@metadata][appname] == "oraclelog" {
        elasticsearch {
            hosts => ["10.1.5.13:9200","10.1.5.14:9200","10.1.5.15:9200"]
            user => "elastic"
            password => "app!236"
            ssl_enabled => true
            ssl_certificate_authorities => "/home/app/logstash/config/elasticsearch-ca.pem"
            index => "%{[@metadata][appname]}-%{+YYYY}"
        }
    } else if [@metadata][appname] == "oracle_log" {
        elasticsearch {
            hosts => ["10.1.5.13:9200","10.1.5.14:9200","10.1.5.15:9200"]
            user => "elastic"
            password => "app!236"
            ssl_enabled => true
            ssl_certificate_authorities => "/home/app/logstash/config/elasticsearch-ca.pem"
            index => "oraclelog-%{+YYYY}"
        }
    }
}

  • 33
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值