搭建企业级日志检索平台-ELK

1 简介

ELK(Elasticsearch, Logstash, Kibana)是一个目前主流的开源日志监控平台。由三个主要组件组成的:

Elasticsearch:是一个开源的分布式搜索和分析引擎,可以用于全文检索、结构化检索和分析,它构建在Lucene搜索引擎库之上,是当前使用较为广泛的开源搜索引擎之一。

Logstash:一个用于收集、处理和转发日志数据的数据处理管道。Logstash可以从不同的日志源(如文件、应用程序日志、数据库等)中收集日志数据,并对其进行过滤、解析和转换,然后将其发送到Elasticsearch中进行存储和索引。

Kibana:一个用于可视化和分析存储在Elasticsearch中的日志数据的用户界面。Kibana提供了一个直观且功能强大的仪表盘,可以根据特定需求创建各种图表、表格和地图,并进行实时数据可视化和监控。

官网地址:Elastic — The Search AI Company | Elastic

2 Elasticsearch 安装

2.1 创建配置文件

D:\docker\elk\elasticsearch\config\elasticsearch.yml

 
cluster.name: "docker-es-cluster"
network.host: 0.0.0.0
http.port: 9200
xpack.security.enabled: false

2.2 启动elasticsearch

# 下载
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.14.3
# window下启动(不能换行)
docker run -it -d -p 9200:9200 -p 9300:9300 --name elasticsearch -e ES_JAVA_OPTS="-Xms512m -Xmx1024m" -e "discovery.type=single-node" --restart=always -v  D:/docker/elk/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v D:/docker/elk/elasticsearch/data:/usr/share/elasticsearch/data -v D:/docker/elk/elasticsearch/logs:/usr/share/elasticsearch/logs docker.elastic.co/elasticsearch/elasticsearch:8.14.3

访问:curl 127.0.0.1:9200

3 Kibana 安装

3.1 创建配置文件

D:\docker\elk\kibana\kibana.yml

 
#Default Kibana configuration for docker target
server.name: kibana
server.host: 0.0.0.0
elasticsearch.hosts: ["http://192.168.31.155:9200"]
xpack.monitoring.ui.container.elasticsearch.enabled: true

3.2 启动kibana

# 下载
docker pull kibana:7.8.0
# window下启动(不能换行)
docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name kibana -p 5601:5601 -v D:/docker/elk/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml kibana:7.8.0
4 Logstash 

访问:http://127.0.0.1:5601

4 Logstash 安装

4.1 创建配置文件

# 配置logstash.yml
D:\docker\elk\logstash\config\logstash.yml

config:
  reload:
    automatic: true
    interval: 3s
xpack:
  management.enabled: false
  monitoring.enabled: false


# 配置logstash.conf
D:\docker\elk\logstash\config\logstash.conf

input {
  file {
    path => "/usr/share/logstash/provider1-demo.log"
    start_position => "beginning"
    stat_interval => "3"
    type => "provider1-demo"
  }
}

output {
   if [type] == "provider1-demo" {
     elasticsearch {
       hosts => ["http://192.168.31.155:9200"]
       index => "provider1-demo-%{+YYYY.MM.dd}"
    }
  }
}

4.2 启动Logstash

# 下载
docker pull docker.elastic.co/logstash/logstash:8.14.3
# window下启动(不能换行)
docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 -p 5044:5044 --name logstash -v D:/docker/elk/logstash/data/:/usr/share/logstash/data -v D:/workspace/springcloud-demo/logs/provider1-demo.log:/usr/share/logstash/provider1-demo.log -v D:/docker/elk/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml -v D:/docker/elk/logstash/pipeline/logstash.conf:/usr/share/logstash/pipeline/logstash.conf docker.elastic.co/logstash/logstash:8.14.3

注意这里挂载的日志路径:

-v D:/workspace/springcloud-demo/logs/provider1-demo.log:/usr/share/logstash/provider1-demo.log

5 见证奇迹

请求业务,输出日志信息:

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值