案例:使用logstash收集游戏服务器日志,输出到kafka消息队列中,然后存入ES

  • gamelogs2kafka.conf
input {
  file {
        codec => plain {
          charset => "UTF-8"
        }
        path => "/root/logserver/GameLog.txt"
        discover_interval => 5
        start_position => "beginning"
  }
}

output {
        kafka {
          topic_id => "gamelogs-prj"
          codec => plain {
                format => "%{message}"
                charset => "UTF-8"
          }
          bootstrap_servers => "192.168.8.101:9092,192.168.8.102:9092,192.168.8.103:9092"
        }
}
启动:[root@CentOS-01 /opt/logstash]# bin/logstash -f config/gamelogs2kafka.conf  
  • kafka2es.conf

input {
  kafka {
        type => "gamelogs-prj"
        auto_offset_reset => "earliest"
        codec => "plain"
        group_id => "elas-prj"
        topics => ["gamelogs-prj"]
        bootstrap_servers => "192.168.8.101:9092,192.168.8.102:9092,192.168.8.103:9092"
  }
}

filter {
  if [type] == "gamelogs-prj" {
        mutate {
          split => { "message" => "|" }
          add_field => {
                "event_type" => "%{message[0]}"
                "current_time" => "%{message[1]}"
                "user_ip" => "%{message[2]}"
                "user" => "%{message[3]}"
         }
         remove_field => [ "message" ]
   }
  }
}

output {

  if [type] == "gamelogs-prj" {
        elasticsearch {
          index => "gamelogs-prj"
          codec => plain {
                charset => "UTF-16BE"
          }
          hosts => ["192.168.8.101:9200", "192.168.8.***:9200", "192.168.8.103:9200"]
        }
  }
}
启动:[root@CentOS-02 /opt/logstash]# bin/logstash -f  config/kafka2es.conf  
  • 数据格式
3|2018年2月16日,星期二,15:53:45|175.***.97.31|ewrdf|武士|男|26|0|3133/800000000
3|2018年2月16日,星期二,15:53:45|175.16***3.235|丶糖豆|道士|女|29|0|165351/800000000
3|2018年2月16日,星期二,15:53:45|10.51***62|冷漠的风|道士|男|42|148|11114810/800000000
3|2018年2月16日,星期二,15:53:45|58.16***.38|自由风|法师|男|33|0|44562/800000000
3|2018年2月16日,星期二,15:53:45|10.11***135|十年戎马孤单|法师|男|26|0|102539/800000000
3|2018年2月16日,星期二,15:53:45|27.19***.55|不要诱拐我哦|法师|女|26|0|202557/800000000
3|2018年2月16日,星期二,15:53:45|106.***102|放火烧你|法师|男|43|0|7117158/800000000
3|2018年2月16日,星期二,15:53:45|10.***143.28|非常道|道士|男|26|0|165177/800000000
3|2018年2月16日,星期二,15:53:45|122.***137.99|名字神马操|道士|男|41|12|665009/800000000
3|2018年2月16日,星期二,15:53:45|115.1***5.20|多弗朗·明哥|道士|男|41|0|41531/800000000
3|2018年2月16日,星期二,15:53:46|10.11***4.57|DongKe小雨|法师|女|45|0|3455916/800000000

案例:使用logstash收集游戏服务器日志,输出到kafka消息队列中,然后存入ES_第1张图片

你可能感兴趣的:(学习笔记)