跳转至

搭建ELK

使用docker可以快速搭建ELK,使用的代码仓库是docker-elk

  1. 把项目clone下来,按照README setup然后docker compose up起来
  2. 修改docker-compose.yml,把elasticsearch的volumes改为本地目录。默认是用的docker volume,不太方便而且每次重启有可能丢失数据
  3. 修改elasticsearch/config/elasticsearch.ymlxpack.license.self_generated.type改成basic,变成免费版,默认是试用版本
  4. 修改logstash/pipeline/logstash.conf进行修改
         input {
         beats {
                 port => 5044
         }
    
         tcp {
                 port => 50000
                 codec => json # 加上这行,使用json格式
             }
         }
    
         ## Add your filters / logstash plugins configuration here
         filter {
                 mutate { # 加上这行,把host字段去掉,不然会报错,我也不知道为什么,查到的
                         remove_field => [ "host" ]
                 }
         }
    
         output {
                 elasticsearch {
                         hosts => "elasticsearch:9200"
                         user => "logstash_internal"
                         password => "${LOGSTASH_INTERNAL_PASSWORD}"
                 }
         }
    
  5. docker compose down && docker compose up -d

python打印日志到logstash参考这个仓库

评论