当前位置:   article > 正文

Docker 部署 Elasticsearch-Filebeat-Kibana_filebeat docker

filebeat docker

目录

一、简介

1.Elasticsearch:

2.Filebeat:

3.Kibana:

二、工作流程

三、部署

1.创建docker网络

2.启动 elasticsearch 容器

3.创建 kibana 容器

4.客户端安装日志采集器filebeat

(1)docker安装

(2)rpm安装

四、访问测试


一、简介

1.Elasticsearch:

  • 是一个高度可扩展的开源全文搜索和分析引擎,能够快速近乎实时地存储、搜索、分析大量数据。
  • 常用于全文搜索、结构化搜索、分析以及复合查询。
  • 以其分布式本质而闻名,易于水平扩展,支持多租户。
  • 提供了丰富的 REST API,使得与其他应用交互变得容易。

2.Filebeat:

  • 是轻量级的日志文件数据船(shipper),用于捕获来自服务器上文件的日志数据,并将其转发到 Elasticsearch 或 Logstash 进行索引。
  • 能够监控日志文件或位置,收集日志并将其发送到配置的输出。
  • 支持自动多行事件组合,并能够处理文件旋转、文件截断等情况。
  • 是 Elastic Beats 平台的一部分,旨在轻量级数据采集。

3.Kibana:

  • 提供了 Elasticsearch 数据的可视化界面,允许用户创建基于搜索的交互式图表和报告。
  • 可以用于探索、可视化并及时了解 Elasticsearch 中的数据。
  • 提供了各种图形(如柱状图、线图、散点图、饼图等)和仪表板(Dashboards)。
  • 支持机器学习、地图、Canvas、工作流等高级功能。

二、工作流程

  1. 数据收集:Filebeat 安装在服务器上,监视指定的日志文件或目录,捕获日志数据。

  2. 数据处理和存储:Filebeat 将捕获的数据发送到 Elasticsearch。Elasticsearch 负责数据的索引、存储和搜索。

  3. 数据分析和可视化:Kibana 连接到 Elasticsearch,用户通过 Kibana 可以分析和可视化数据,创建仪表板,以便轻松地提取数据的洞察和价值。

三、部署

1.创建docker网络

docker network create logging

2.启动 elasticsearch 容器

  1. # 创建容器
  2. docker run -d \
  3. --name=elasticsearch \
  4. --net=logging \
  5. -v=elasticsearch-data:/usr/share/elasticsearch/data \
  6. -e "discovery.type=single-node" \
  7. -e "xpack.security.enabled=false" \
  8. -e "ES_JAVA_OPTS=-Xms512m -Xmx1g" \
  9. -p 9200:9200 \
  10. docker.elastic.co/elasticsearch/elasticsearch:8.10.2
  11. # 查看创建的容器
  12. docker ps
  13. # 测试访问
  14. curl http://127.0.0.1:9200/_cat/health

3.创建 kibana 容器

  1. # 创建容器
  2. docker run -d \
  3. --name=kibana \
  4. --net=logging \
  5. -e ELASTICSEARCH_HOSTS=http://elasticsearch:9200 \
  6. -e I18N_LOCALE=zh-CN \
  7. -p 5601:5601 \
  8. docker.elastic.co/kibana/kibana:8.10.2
  9. # 查看容器
  10. docker ps | grep kibana
  11. # 测试访问
  12. 浏览器访问 IP:5601

4.客户端安装日志采集器filebeat

(1)docker安装

  • 启动容器
  1. docker run -d \
  2. --name=filebeat \
  3. -v /etc/filebeat/filebeat.yml:/usr/share/filebeat \
  4. -v /var/log/:/var/log/ \
  5. --user=root \
  6. --network=host \
  7. harbor.daboluo.com/elk/filebeat:8.10.2
  •  修改配置
  1. vim /etc/filebeat/filebeat.yml
  2. filebeat.inputs:
  3. - type: log
  4. enabled: true
  5. paths:
  6. - /var/log/nginx/access.log
  7. - /var/log/nginx/error.log
  8. fields:
  9. project: filebeat
  10. app: nginx
  11. - type: log
  12. enabled: true
  13. paths:
  14. - /var/log/messages
  15. fields:
  16. project: filebeat
  17. app: messages
  18. setup.template.name: "filebeat"
  19. setup.template.pattern: "filebeat-*"
  20. output.elasticsearch:
  21. hosts: ["http://10.88.62.182:9200"]
  22. index: "%{[fields.project]}-%{[fields.app]}-%{+yyyy.MM.dd}"
  • 重启容器,使配置生效
docker restart filebeat

(2)rpm安装

  1. # rpm包下载地址:
  2. https://www.elastic.co/cn/downloads/past-releases
  3. # 安装
  4. rpm -ivh filebeat-8.10.2-x86_64.rpm
  • 修改配置:
  1. vim /etc/filebeat/filebeat.yml
  2. filebeat.inputs:
  3. - type: log
  4. enabled: true
  5. paths:
  6. - /var/log/nginx/access.log
  7. - /var/log/nginx/error.log
  8. fields:
  9. project: ms
  10. app: nginx
  11. - type: log
  12. enabled: true
  13. paths:
  14. - /var/log/messages
  15. fields:
  16. project: cu
  17. app: messages
  18. setup.template.name: "filebeat"
  19. setup.template.pattern: "filebeat-*"
  20. output.elasticsearch:
  21. hosts: ["http://$elasticsearchIP:9200"]
  22. index: "%{[fields.project]}-%{[fields.app]}-%{+yyyy.MM.dd}"
  • 启动服务设置开机自启
systemctl start filebeat && systemctl enable filebeat

四、访问测试

浏览器访问kibana容器物理机的 ip:端口

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号