docker安装elk + filebeat(版本:7.16.1)

docker安装elk + filebeat(版本:7.16.1),第1张

docker安装elk + filebeat(版本:7.16.1)

docker安装elk(版本:7.16.1)
    • 1 环境
    • 2 拉取镜像
    • 3 创建自定义网络
    • 4 启动容器
      • 4.1 启动elasticsearch
    • 5 kibana配置
      • 5.1 配置kibana.yml文件
      • 5.2 kibana启动
      • 5.3 修改为中文
    • 6 logstash配置
      • 6.1 logstash.yml文件
      • 6.2 my.conf文件
      • 6.3 logstash启动
    • 7 filebeat配置
      • 7.1 创建测试目录
      • 7.2 配置filebeat.yml文件
    • 8 结语

1 环境

CentOS Linux release 8.3.2011

2 拉取镜像
docker pull elasticsearch:7.16.1
docker pull kibana:7.16.1
docker pull logstash:7.16.1
docker pull elastic/filebeat:7.16.1
3 创建自定义网络
docker network create somenetwork
4 启动容器 4.1 启动elasticsearch

命令:

docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.16.1

5 kibana配置 5.1 配置kibana.yml文件
  1. docker exec -it 02dd46d2e7f9(镜像id) /bin/bash
  2. cd config/
  3. vi kibana.yml
5.2 kibana启动

命令:
docker run -d --name kibana --net somenetwork -p 5601:5601 kibana:7.16.1

5.3 修改为中文
  1. docker exec -it 02dd46d2e7f9(镜像id) /bin/bash
  2. cd config/
  3. vi kibana.yml
  4. 添加:i18n.locale: “zh-CN”
6 logstash配置 6.1 logstash.yml文件

存放位置:自定义目录/mydata/docker/logstash/
配置内容:

http.host: "0.0.0.0"
#配置elasticsearch集群地址
xpack.monitoring.elasticsearch.hosts: [ "http://192.168.226.132:9200" ]
#允许监控
xpack.monitoring.enabled: true
#目录为挂载目录,启动命令指定的
path.config: /usr/share/logstash/conf.d/my.conf
6.2 my.conf文件

存放位置:自定义目录/mydata/docker/logstash/conf.d
配置内容:

input {
   beats {
     port => 5044
     client_inactivity_timeout => 36000
  }
}
output {
  elasticsearch {
    hosts => ["http://192.168.226.132:9200"]
    index  => "myindex-%{+YYYY.MM}"
  }
}
6.3 logstash启动
docker run -it -d -p 5044:5044 --name logstash --net somenetwork -v /mydata/docker/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml -v /mydata/docker/logstash/conf.d:/usr/share/logstash/conf.d logstash:7.16.1
7 filebeat配置 7.1 创建测试目录

项目日志目录:/var/log/logapp
放入日志文件:xx.log

7.2 配置filebeat.yml文件

存放位置:自定义目录/mydata/docker/filebeat
配置内容:

# 定义info1应用的input类型、以及存放的具体路径
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/logapp/*.log
  tags: ["logapp"]
  fields:
    index: logapp

#============================= Filebeat modules ===============================
filebeat.config.modules:
  # Glob pattern for configuration loading
  path: ${path.config}/modules.d/*.yml
  # Set to true to enable config reloading
  reload.enabled: true

# ============================== logstash =====================================  
output.logstash:
  hosts: ["192.168.226.132:5044"] #192.168.226.132为logstash安装的服务器ip
  enabled: true
#============================== Kibana =====================================
setup.kibana:
  host: "192.168.226.132:5601"

#============================== elasticsearch =====================================
#output.elasticsearch:
#  hosts: ["192.168.226.132:9200"]
#  enabled: true

7.3 filebeat启动
启动命令:

docker run -d  -u root --name filebeat --net somenetwork -v /var/log/logapp:/var/log/logapp:rw   -v /mydata/docker/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro elastic/filebeat:7.16.1

7.4 测试

myindex-2021.12索引是 my.conf里index属性那里配置的

8 结语

配置logstash.yml的path.config一定要注意其目录,之前我就是因为这个走了很多弯路,在网上看其他大佬的都没发现到这个问题

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5688636.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存