搭建ELK¶
使用docker可以快速搭建ELK,使用的代码仓库是docker-elk
- 把项目clone下来,按照README setup然后docker compose up起来
- 修改docker-compose.yml,把elasticsearch的volumes改为本地目录。默认是用的docker volume,不太方便而且每次重启有可能丢失数据
- 修改
elasticsearch/config/elasticsearch.yml
把xpack.license.self_generated.type
改成basic
,变成免费版,默认是试用版本 - 修改
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}" } }
- docker compose down && docker compose up -d
python打印日志到logstash参考这个仓库