简介
ELK是Elasticsearch、Logstash、Kibana的简称
- Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统。它构建于Apache Lucene搜索引擎库之上。
- Logstash是一个用来搜集、分析、过滤日志的工具。它支持几乎任何类型的日志,包括系统日志、错误日志和自定义应用程序日志。它可以从许多来源接收日志,这些来源包括 syslog、消息传递(例如 RabbitMQ)和JMX,它能够以多种方式输出数据,包括电子邮件、websockets和Elasticsearch。
- Kibana是一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据。它利用Elasticsearch的REST接口来检索数据,不仅允许用户创建他们自己的数据的定制仪表板视图,还允许他们以特殊的方式查询和过滤数据。
ELK部署
ELK单机模式(Docker)
docker 分别安装ELK
- Elasticsearch
docker pull elasticsearch:7.6.0
docker run -d --restart=always --name es7 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.0
启动后测试是否成功
- Kibana
docker pull kibana:7.6.0
vi /usr/elk/kibana.yml
server.port: 5601 server.host: "0.0.0.0" elasticsearch.hosts: ["http://elasticsearch IP :9200"] i18n.locale: "zh-CN" |
docker run -di --name kibana -p 5601:5601 -v /usr/elk/kibana.yml:/usr/share/kibana/config/kibana.yml kibana:7.6.0
访问
- Logstash
docker pull logstash:7.6.0
vi /usr/elk/pipeline.conf
input { tcp { port => 5048 # 输入为json数据 codec => json_lines } } filter { } output { # logstash控制台打印,可关 stdout { codec => rubydebug } # elasticsearch配置 elasticsearch {
|