ELFK 8.12.2 部署 -- docker部署方式⚽

👨‍🎓博主简介

  🏅CSDN博客专家
  🏅云计算领域优质创作者
  🏅华为云开发者社区专家博主
  🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗


文章目录

  • 一、ELFK的部署 -- docker部署方式⚽
    • 1. 前置准备
      • 1.1 服务器信息
      • 1.2 关闭防火墙及selinux沙盒
      • 1.3 将ELFK镜像包上传到服务器上(也可以等在执行docker-compose时自动拉取)
      • 1.4 校正时间
      • 1.5 本文注意事项
    • 2. 部署docker
    • 3. 部署docker-compose
    • 4. 部署ELFK
      • 4.1 创建ELFK的项目路径
      • 4.2 创建ES目录及配置文件
      • 4.3 创建Logstash目录及配置文件
      • 4.4 创建Kibana目录及配置文件
      • 4.5 创建filebeat目录及配置文件
      • 4.6 导入ELFK镜像
      • 4.7 使用docker-compose启动ELFK服务
      • 4.8 访问es、kibana地址
      • 4.9 安装并配置nginx
      • 4.10 获取服务日志并进行页面展示
  • 二、ELK8.12.2版本配置密码认证
    • 1、配置 ES 开启安全验证
      • 1.1 修改 es 配置文件
      • 1.2 重启 es 容器
      • 1.3 进入容器生成密码
      • 1.4 访问 es 页面进行验证
    • 2、配置 logstash 连接用户密码
      • 2.1 修改 logstash 配置文件
      • 2.2 重启 logstash 容器
    • 3、配置 kibana 连接用户密码
      • 3.1 修改 kibana 配置文件
      • 3.2 重启 kibana 容器
      • 3.3 访问 kibana 页面进行验证
  • 三、附加:修改 ELK 认证密码
  • 四、附加:获取多台服务器日志
    • 1、创建filebeat目录及配置文件
    • 2、上传并导入 filebeat 镜像
    • 3、使用docker-compose启动filebeat服务
    • 4、登录 kibana 页面查看新节点的日志
  • 五、附加:kibana 页面操作
    • 1、查看日志属于哪个路径下及日志名
    • 2、仪表板
  • 六、相关文章

在这里插入图片描述

一、ELFK的部署 – docker部署方式⚽

1. 前置准备

1.1 服务器信息

IP操作系统系统配置环境服务端口
172.16.11.213CentOS Linux 7 (Core)
X86架构
CPU:4核8线程
内存:16G
硬盘:100G
docker
docker-compose
Elasticsearch
Logstash
Kibana
Filebeat
nginx
9200 / 9300
5044
5601

80

要用到的服务包信息:

软件安装包名称软件版本功能
docker24.0.5容器:提供单独elfk环境
docker-compose1.29.2容器编排工具:用于同步管理elfk
elasticsearch8.12.2日志存储
kibana8.12.2日志数据图形化展示
logstash8.12.2日志处理
filebeat8.12.2日志采集
nginx1.24.0nginx服务

ELFK 关系图:

ELFK基础架构图

1.2 关闭防火墙及selinux沙盒

# 先查看防火墙是否开启
systemctl status firewalld# 如果是开启的那就关闭并设置开机不自启
systemctl stop firewalld
systemctl disable firewalld# 设置selinux为Disabled
cat /etc/selinux/config
# 设置 SELINUX=disabled

image-20240318184738670


如果防火墙开启的话,需要打开的端口有:(端口可自行定义)

  • Elasticsearch:92009300
  • Kibana:5601
  • Logstash:5044
  • nginx:80
  • filebeat 本身不监听任何端口,它是一个轻量级的日志文件收集器,用于将日志发送到Logstash或Elasticsearch。

注:

9200 本地elasticsearch服务本地的端口
9300 是elasticsearch集群的通信端口

1.3 将ELFK镜像包上传到服务器上(也可以等在执行docker-compose时自动拉取)

在启动服务的时候默认是可以拉取ELFK镜像的,不过最近dockerhub好像国内用不了了,拉不了镜像;

而且拉镜像也慢,还需要配置docker镜像加速,所以,离线镜像还是比较好的,可以提前上传到服务器上;

  • E: elasticsearch 数据存储、数据搜索;

    官网下载地址:https://www.elastic.co/cn/downloads/elasticsearch/

  • L: logstash 数据采集、数据清洗、数据过滤;

    官网下载地址:https://www.elastic.co/cn/downloads/logstash

  • K: kibana 数据分析、数据展示;

    官网下载地址:https://www.elastic.co/cn/downloads/kibana/

  • F:filebeat 收集日志数据;

    官网下载地址:https://www.elastic.co/guide/en/beats/filebeat/index.html

镜像下载地址:

我这边目前只有:8.12.2、7.1.0版本;CSDN下载地址;

其他版本可以百度看看:

包名地址
ELFK docker镜像-7.1.0版本(elasticsearch、filebeat)https://download.csdn.net/download/liu_chen_yang/89427498
ELFK docker镜像-7.1.0版本(kibana、logstash)https://download.csdn.net/download/liu_chen_yang/89427504
ELFK docker镜像-8.12.2版本(elasticsearch、filebeat)https://download.csdn.net/download/liu_chen_yang/89427462
ELFK docker镜像-8.12.2版本(kibana、logsatsh)https://download.csdn.net/download/liu_chen_yang/89427463

注: ELFK的四个镜像包的保持版本需一致。

1.4 校正时间

# 下载ntpdate命令
yum -y install ntpdate# 时间校正
ntpdate cn.pool.ntp.org

1.5 本文注意事项

注意:本文出现的 IP 和 容器外的路径 请根据自己的实际情况自定义

注意:本文出现的 IP 和 容器外的路径 请根据自己的实际情况自定义

注意:本文出现的 IP 和 容器外的路径 请根据自己的实际情况自定义

2. 部署docker

  • 方法一:

参考部署文档:linux(centos)中部署docker(步骤超全,含带一些发展史和一些概念)

  • 方法二:

可以选择离线一键安装:docker24.0.5离线安装包 (一键部署)

  • 方法三:

按照以下方式安装

# 安装utils工具
yum -y install yum-utils# 安装docker扩展源工具
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 安装docker服务
yum install docker-ce docker-ce-cli containerd.io# 设置docker开机自启并启动服务
systemctl daemon-reload
systemctl restart docker
systemctl enable docker

3. 部署docker-compose

  • 方法一:

参考部署文档部署:Linux中安装/部署docker-compose

  • 方法二:

可以选择离线安装:docker-compose1.29.2离线包

image-20240613153759277

4. 部署ELFK

注意事项:

注意:本文出现的 IP 和 容器外的路径 请根据自己的实际情况自定义

注意:本文出现的 IP 和 容器外的路径 请根据自己的实际情况自定义

注意:本文出现的 IP 和 容器外的路径 请根据自己的实际情况自定义

4.1 创建ELFK的项目路径

mkdir -p /data/ELK

4.2 创建ES目录及配置文件

# 创建ES目录
mkdir -p /data/ELK/elasticsearch/{plugins,config,data,logs}# 进入es的config目录
cd /data/ELK/elasticsearch/config# 创建es配置文件
touch es.yml# 给所有ES目录读写执行权限
chmod 775 -R /data/ELK/elasticsearch/# 编辑es配置文件
vi es.yml
# 集群名称
cluster.name: mycluster# 节点名称
node.name: mynode# 网络绑定地址
network.host: 0.0.0.0# 默认端口:9200 本地elasticsearch服务本地的端口、9300 是elasticsearch集群的通信端口
http.port: 9200
transport.port: 9300# 开启单节点模式
node.roles: [ master, data, ingest, ml ]# 内存限制
#bootstrap.memory_lock: true
#ES_JAVA_OPTS: "-Xms512m -Xmx512m"# 关闭集群发现功能(单节点)
discovery.type: single-node# --------------------------- ssl安全认证配置 ----------------------------------# 关闭 X-Pack 安全模式
xpack.security.enabled: false
# 禁用初始化生成密码功能
xpack.security.enrollment.enabled: false
# 禁用客户端之间连接加密,如果启用,客户端(如 Kibana、Logstash、filebeat)就需要通过加密方式访问
xpack.security.http.ssl.enabled: false
# 指定ssl证书地址(开启安全模式就需要开启这个)
#xpack.security.http.ssl.keystore.path: certs/http.p12# 禁用 Elasticsearch 节点间传输层通信的加密。
xpack.security.transport.ssl.enabled: false
# 证书的验证模式,certificate 为双向 SSL/TLS 认证(即节点间相互验证证书)
#xpack.security.transport.ssl.verification_mode: certificate
# 如果启用了ssl认证,下面两个就是配置证书和私钥的文件路径
#xpack.security.transport.ssl.keystore.path: certs/transport.p12
#xpack.security.transport.ssl.truststore.path: certs/transport.p12# ----------------------- END SECURITY AUTO CONFIGURATION -------------------------# 注意:在生产环境中,建议启用 SSL/TLS 加密来保护数据传输的安全性,特别是在公共或不安全的网络中。如果你选择启用 SSL/TLS,需要确保你有有效的证书和密钥库,并正确配置了密钥库和信任库的路径。在开发或测试环境中,可能会为了方便而禁用这些安全特性,但要意识到这可能会带来安全风险。

4.3 创建Logstash目录及配置文件

# 创建logstash目录
mkdir -p /data/ELK/logstash/{conf.d,config,data,logs}# 进入logstash的config目录
cd /data/ELK/logstash/config# 创建logstash的yml文件
touch logstash.yml# 编辑logstash配置文件
vim logstash.ymlpath.config: /usr/share/logstash/conf.d/*.conf
path.logs: /usr/share/logstash/logs# 进入logstash的conf.d目录
cd /data/ELK/logstash/conf.d# 创建logstash配置文件
touch logstash.conf# 编辑logstash配置文件
vi logstash.conf
input {beats {port => 5044codec => "json"}
}output {elasticsearch {# es的地址hosts => ["http://172.16.11.213:9200"]# 用户名(如果es开启了用户名密码这里就需要配置,如果没开启就不用配置)#user => "elastic"# 密码#password => "123456"# 索引#index => "dashu-park-error-log"# 类型#document_type => "fire"# 主键#document_id => "%{id}"}
# mail插件,可以用来报警发邮件
#    email {
#        port           => "25"
#        address        => "smtp.163.com"
#        username       => "123123123@163.com"
#        password       => "1231231231"
#        authentication => "plain"
#        use_tls        => false
#        from           => "123123123@qq.com"
#        subject        => "dashu-park-zone项目中有error日志信息"
#        to             => "123123123@qq.com"
#        via            => "smtp"
#        body           => "错误日志: \n  %{message} "
#    }
#  }
#  redis {
#     host => ["172.16.11.213"] #这个是标明redis服务的地址
#     port => 9001
#     codec => plain
#     db => 1 #redis中的数据库,select的对象
#     key => elk_log #redis中的键值
#     data_type => list #一般就是list和channel
#     password => DaShuRedisoRhFG9xT6kXIZl5b
#     timeout => 5
#     workers => 1
#  }stdout { codec => rubydebug }
}

4.4 创建Kibana目录及配置文件

# 创建kibana目录
mkdir -p /data/ELK/kibana/# 进入kibana目录
cd /data/ELK/kibana/# 创建kibana配置文件
touch kibana.yml# 编辑kibana配置文件
vi kibana.yml
server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://172.16.11.213:9200" ]
# 配置中文
i18n.locale: zh-CN
# 配置用户名密码(es有用户名密码的时候在开启)
#elasticsearch.username: "kibana"
#elasticsearch.password: "123456"

4.5 创建filebeat目录及配置文件

# 创建filebeat目录
mkdir -p /data/ELK/filebeat/{config,data,logs}# 进入filebeat/config目录
cd /data/ELK/filebeat/config# 创建filebeat配置文件
touch filebeat.yml# 去除filebeat组和其他用户的写入权限。
chmod go-w /data/ELK/filebeat/config/filebeat.yml# 编辑filebeat配置文件
vi filebeat.yml
#=========================== Filebeat inputs =============================filebeat.inputs:
- type: log# Change to true to enable this input configuration.enabled: true# Paths that should be crawled and fetched. Glob based paths.paths:  #可以配置多个日志路径# 如果是docker部署,这里就是docker容器内的路径,而且需要和宿主机的路径进行映射- /usr/share/filebeat/logs/*.log#- /usr/share/filebeat/logs/info.log	#指定自定义字段	fields:							project: "fire"  #字段1	#hostName: "172.16.11.213"	  #字段2multiline:#多行匹配规则pattern: '^[[:space:]]+(at|\.{3})\b&^Caused by:'#将不匹配的规则的行合并在一起negate: true#合并到匹配规则的上一行末尾match: after#================================ Outputs =====================================#----------------------------- Logstash output --------------------------------
output.logstash:# The Logstash hostshosts: ["172.16.11.213:5044"]   # Optional SSL. By default is off.# List of root certificates for HTTPS server verifications#ssl.certificate_authorities: ["/etc/pki/root/ca.pem"]# Certificate for SSL client authentication#ssl.certificate: "/etc/pki/client/cert.pem"# Client Certificate Key#ssl.key: "/etc/pki/client/cert.key"#output.elasticsearch:
#  hosts: 172.16.11.213:9200
#  indices:
#    - index: "filebeat-%{+yyyy.MM.dd}"#output.redis:#hosts: ["172.16.11.213:9001"]#password: DaShuRedisoRhFG9xT6kXIZl5b#key: "filebeat-redis"#db: 1#timeout: 60# 控制台输出
#output.console:#pretty: true#enable: true

4.6 导入ELFK镜像

提前导入好镜像在执行docker-compose时就不用在拉取了,而且网络不稳定也容易中断;
如果docker默认路径没空间,可参考此文章修改docker存储路径:【docker】导入镜像报错磁盘空间不足的解决方法 && 【docker】修改默认的存储路径

docker load -i elasticsearch.tar && docker load -i logstash.tar && docker load -i kibana.tar && docker load -i filebeat.tar
[root@localhost config]# docker images 
REPOSITORY                                      TAG       IMAGE ID       CREATED        SIZE
elastic/kibana                                  8.12.2    2870bdfe2474   3 months ago   1.05GB
elastic/elasticsearch                           8.12.2    c02b14250fd3   3 months ago   1.36GB
elastic/logstash                                8.12.2    341c9b96c97b   3 months ago   769MB
elastic/filebeat                                8.12.2    89c084ca559d   3 months ago   325MB

在这里插入图片描述

image-20240614101246401

4.7 使用docker-compose启动ELFK服务

①、先创建docker-compose目录用来管理ELFK服务

# 创建docker-compose目录
mkdir -p /data/ELK/docker-compose# 进入docker-compose目录
cd /data/ELK/docker-compose# 创建docker-compose的yml配置文件
touch docker-compose.yml#编辑docker-compose配置
vi docker-compose.yml
version: '3'
services:elasticsearch:image: elastic/elasticsearch:8.12.2container_name: eshostname: esrestart: alwaysvolumes:- /data/ELK/elasticsearch/config/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml- /data/ELK/elasticsearch/plugins:/usr/share/elasticsearch/plugins- /data/ELK/elasticsearch/data:/usr/share/elasticsearch/data- /data/ELK/elasticsearch/logs:/usr/share/elasticsearch/logs- /etc/localtime:/etc/localtimeports:- 9200:9200- 9300:9300logstash:image: elastic/logstash:8.12.2container_name: logstashhostname: logstashrestart: alwayslogging:driver: json-fileoptions:max-size: "10m"max-file: "2"volumes:- /data/ELK/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml- /data/ELK/logstash/conf.d/:/usr/share/logstash/conf.d/- /etc/localtime:/etc/localtimeports:- 5044:5044kibana:image: elastic/kibana:8.12.2container_name: kibanahostname: kibanarestart: alwaysvolumes:- /data/ELK/kibana/kibana.yml:/usr/share/kibana/config/kibana.ymlports:- 5601:5601filebeat:image: elastic/filebeat:8.12.2container_name: filebeathostname: filebeatrestart: alwaysuser: rootvolumes:# 日志文件夹映射到容器中[作为数据源]- /data/ELK/filebeat/logs:/usr/share/filebeat/logs/# 采集日志配置映射配置文件到容器中- /data/ELK/filebeat/config/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro- /etc/localtime:/etc/localtime# 使用主机网络模式network_mode: host

如果防火墙开启的话,需要打开的端口有:(端口可自行定义)

  • Elasticsearch:92009300
  • Kibana:5601
  • Logstash:5044
  • nginx:80
  • filebeat 本身不监听任何端口,它是一个轻量级的日志文件收集器,用于将日志发送到Logstash或Elasticsearch。

注:

9200 本地elasticsearch服务本地的端口
9300 是elasticsearch集群的通信端口


②、启动ELFK服务

# 进入docker-compose.yml位置
cd /data/ELK/docker-compose/# 启动(两种二选一)
docker-compose up -d docker-compose -f /data/ELK/docker-compose/docker-compose.yml up -d

③、查看ELFK服务状态

docker-compose ps

image-20240614140128518

State状态为:UP或者running就为运行状态。


④、启动完ELFK都看一下这些容器的日志

启动完ELFK都看一下这些容器的日志,看看有没有报错;

# 查看es的服务日志
docker logs -f es# 查看logstash的服务日志
docker logs -f logstash# 查看kibana的服务日志
docker logs -f kibana# 查看filebeat的服务日志
docker logs -f filebeat

如果在启动 kibana 时遇到以下提示内容,不用管,这个提示说的是没有配置账户令牌,不影响我们的访问及拿日志;

在这里插入图片描述

4.8 访问es、kibana地址

访问es、kibana地址,确认是否可以访问到,没有问题;

注意把 ip 换成自己的;

  • es地址:http://172.16.11.213:9200

image-20240617092855439

  • kibana地址:http://172.16.11.213:5601

在这里插入图片描述

image-20240617093021940

4.9 安装并配置nginx

部署nginx可以参考:【Linux】nginx基础篇 – 介绍及yum安装nginx、【Linux】环境下部署Nginx服务 - 二进制部署方式

这里我习惯于二进制的部署方式,那么就使用二进制部署,这里就简单写一下,具体的操作可以看二进制部署文档;

# 拉取1.24.0安装包
wget https://nginx.org/download/nginx-1.24.0.tar.gz
# 安装必要的插件依赖包
yum -y install gcc gcc-c++ zlib zlib-devel pcre-devel openssl openssl-devel 
# 解压到/usr/src下
tar xf nginx-1.24.0.tar.gz -C /usr/src/
# 进入
cd /usr/src/nginx-1.24.0
# 编译安装
./configure --prefix=/usr/local/nginx && make && make install

安装完成后,这里需要修改以下配置文件,把nginx的日志路径指到filebeat的logs目录下

# 进入nginx配置文件
cd /usr/local/nginx/conf/
vim nginx.conf

image-20240617105847487

# 启动nginx服务
/usr/local/nginx/sbin/nginx -c  /usr/local/nginx/conf/nginx.conf# 查看filebeat日志是否有输出,页面访问http://172.16.11.213 nginx刷新
tail -f /data/ELK/filebeat/logs/nginx_access.log

image-20240617110204357

4.10 获取服务日志并进行页面展示

页面访问kibana查看日志:http://172.16.11.213:5601

image-20240617111333838

刷新nginx页面,使其产生日志,并实时监控日志

image-20240617111503879

image-20240617111526946


到此部署就完成,如果想要加一些安全性比如密码认证,可以接着看下面的内容;

二、ELK8.12.2版本配置密码认证

1、配置 ES 开启安全验证

1.1 修改 es 配置文件

# ES配置文件
vim /data/ELK/elasticsearch/config/es.yml# 将xpack.security.enabled=false改为true启用 X-Pack 安全性:
xpack.security.enabled: true

1.2 重启 es 容器

docker restart es

重启完记得再看一下es日志,看看有没有报错什么的;

docker logs -f es

重启完kibana会连接不到,因为开启了安全认证,kibana没有找到相关配置,所以,会连接不到,在报错,在后面我们会配置的;

1.3 进入容器生成密码

# 进入容器
docker exec -it es bash# 生成密码(自动与手动二选一)
## 自动生成密码
elasticsearch-setup-passwords auto
## 手动输入密码
elasticsearch-setup-passwords interactive 

这里我选择手动输入密码;手动输入密码每个用户都要输入两遍密码,一遍是输入一遍是确认密码;

image-20240617133455182

1.4 访问 es 页面进行验证

页面访问:http://172.16.11.213:9200

image-20240617155023171

输入完用户名密码,就到这个页面了;

image-20240617155110281

2、配置 logstash 连接用户密码

2.1 修改 logstash 配置文件

# 进入logstash配置文件
vim /data/ELK/logstash/conf.d/logstash.conf# 在output中输入用户名密码
user => "elastic"
password => "刚刚生成或手动输入的密码"

xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.username: elastic
xpack.monitoring.elasticsearch.password: lcy123…

2.2 重启 logstash 容器

docker restart logstash

重启完记得再看一下 logstash 日志,看看有没有报错什么的;

docker logs -f logstash

3、配置 kibana 连接用户密码

3.1 修改 kibana 配置文件

# 进入kibana配置文件
vim /data/ELK/kibana/kibana.yml# 在最后添加或修改(这里用户名不能用elastic,否则启动会报错,elastic是超级用户,在8.*版本里是被禁止的)
elasticsearch.username: "kibana"
elasticsearch.password: "刚刚生成或手动输入的密码"

3.2 重启 kibana 容器

docker restart kibana

重启完记得再看一下 kibana 日志,看看有没有报错什么的;

docker logs -f kibana

这里可以把ELFK全部重启一下(两种方式二选一)记得重启完查看日志;

docker-compose restartdocker-compose -f /data/ELK/docker-compose/docker-compose.yml restart

3.3 访问 kibana 页面进行验证

访问kibana页面:http://172.16.11.213:5601

image-20240617155529146

这里可以输入用户名密码,并不是非要kibana配置文件中设置的用户名密码,用哪个登录上来会没有权限,这里我们可以登录elastic用户,密码也是刚刚设置的密码;

登录进来,右上角就会多出一个头像等用户信息;

image-20240617155802059

三、附加:修改 ELK 认证密码

curl -H "Content-Type:application/json" -XPOST -u elastic 'http://ip:9200/_xpack/security/user/elastic/_password' -d '{ "password" : "要修改的密码" }'

四、附加:获取多台服务器日志

  要获取多台服务器日志,那么我们就需要在要获取日志的那台服务器上部署日志收集器,也就是我们的filebeat服务;前提是,必须可以连接到、ping通部署ELFK的这台主服务器上。

1、创建filebeat目录及配置文件

# 创建filebeat目录
mkdir -p /data/ELK/filebeat/{config,data,logs}# 进入filebeat/config目录
cd /data/ELK/filebeat/config# 创建filebeat配置文件
touch filebeat.yml# 去除filebeat组和其他用户的写入权限。
chmod go-w /data/ELK/filebeat/config/filebeat.yml# 编辑filebeat配置文件
vi filebeat.yml
#=========================== Filebeat inputs =============================filebeat.inputs:
- type: log# Change to true to enable this input configuration.enabled: true# Paths that should be crawled and fetched. Glob based paths.paths:  #可以配置多个日志路径# 如果是docker部署,这里就是docker容器内的路径,而且需要和宿主机的路径进行映射- /usr/share/filebeat/logs/*.log#- /usr/share/filebeat/logs/info.log	#指定自定义字段	fields:							project: "fire"  #字段1	#hostName: "172.16.11.213"	  #字段2multiline:#多行匹配规则pattern: '^[[:space:]]+(at|\.{3})\b&^Caused by:'#将不匹配的规则的行合并在一起negate: true#合并到匹配规则的上一行末尾match: after#================================ Outputs =====================================#----------------------------- Logstash output --------------------------------
output.logstash:# The Logstash hostshosts: ["172.16.11.213:5044"]   

2、上传并导入 filebeat 镜像

 docker load -i filebeat.tar

3、使用docker-compose启动filebeat服务

①、先创建docker-compose目录用来管理 filebeat 服务

# 创建docker-compose目录
mkdir -p /data/ELK/docker-compose# 进入docker-compose目录
cd /data/ELK/docker-compose# 创建docker-compose的yml配置文件
touch docker-compose.yml#编辑docker-compose配置
vi docker-compose.yml
version: "3"
services:filebeat:image: elastic/filebeat:8.12.2container_name: filebeathostname: filebeatrestart: alwaysuser: rootvolumes:# 日志文件夹映射到容器中[作为数据源],可以切换为自己服务的日志路径;- /data/ELK/filebeat/logs/:/usr/share/filebeat/logs/# 采集日志配置映射配置文件到容器中- /data/ELK/filebeat/config/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro- /etc/localtime:/etc/localtime# 使用主机网络模式network_mode: host

如果不想用docker-compose,就要用docker的话也可以,把他转换成docker命令就行;

docker run -d --name filebeat --hostname=filebeat --restart=always --network=host -v /data/ELK/filebeat/logs/:/usr/share/filebeat/logs/ -v /data/ELK/filebeat/config/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro -v /etc/localtime:/etc/localtime elastic/filebeat:8.12.2

②、启动 filebeat 服务

# 进入docker-compose.yml位置
cd /data/ELK/docker-compose/# 启动(两种二选一)
docker-compose up -d docker-compose -f /data/ELK/docker-compose/docker-compose.yml up -d

③、查看 filebeat 服务状态

docker-compose ps

在这里插入图片描述

State状态为:UP或者running就为运行状态。


④、启动完看一下 filebeat 容器的日志,看看有没有报错

docker logs -f filebeat

4、登录 kibana 页面查看新节点的日志

没有问题的话就可以产生一些日志,然后去kibana页面查看日志;
http://172.16.11.213:5601

五、附加:kibana 页面操作

1、查看日志属于哪个路径下及日志名

如果要看这个日志是哪个路径的话,可以Discover中搜索log.file.path

在这里插入图片描述

在这里插入图片描述

2、仪表板

仪表板可以在Home–>Dashboards创建;

在这里插入图片描述

在这里插入图片描述

六、相关文章

文章名称文章链接
ELFK简介https://liucy.blog.csdn.net/article/details/139653744
ELFK 8.12.2 单机部署 – docker部署方式⚽https://liucy.blog.csdn.net/article/details/139761024

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/42839.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot源码阅读(3)——监听器

ApplicationListener类初始化位置 在类SpringApplication的构造方法,第267行 在META-INFO/spring.factories中配置的实现类 spring-boot # Application Listeners org.springframework.context.ApplicationListener\ org.springframework.boot.ClearCachesApplic…

Top级“水刊”!高达10.1分,发文量大,最快1个月左右录用,几乎沾边可录!

本周投稿推荐 SCI • 能源科学类,1.5-2.0(来稿即录25天) • 计算机类,2.0-3.0(纯正刊29天录用) EI • 各领域沾边均可(2天录用) 知网 • 7天录用-检索(急录友好&…

个性化微课教学视频推荐系统-计算机毕业设计源码77648

个性化微课教学视频推荐系统 摘 要 随着信息技术的迅猛发展,教育领域正经历着前所未有的变革。微课作为一种新兴的教学资源形式,以其短小精悍、针对性强、易于传播等特点,逐渐受到广大师生的青睐。然而,在微课资源日益丰富的今天…

谷粒商城学习笔记-逆向工程错误记录

文章目录 1,Since Maven 3.8.1 http repositories are blocked.1.1 在maven的settings.xml文件中,新增如下配置:1.2,执行clean命令刷新maven配置 2,internal java compiler error3,启动逆向工程报错&#x…

【Linux】网络新手村

欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 引言 今天,我们就开始学习Linux网络相关的内容。这篇博客作为Linux网络板块的第一篇博客看,我们首先要带着大家明白Linux网络的一些名词的概念,为之后的学习扫清障碍。然后我…

新加坡工作和生活指北:餐饮出行篇

文章首发于公众号:Keegan小钢 ​餐饮 前一篇文章 说到,有些房东不允许房客煮饭,那在新加坡都去哪吃饭?有什么吃的呢? 比较便宜的餐饮场所就是小贩中心、咖啡店和冷气食阁,也是大部分人常去的就餐场所。咖…

分布式整合

一、分布式架构介绍 什么是分布式系统 分布式系统指一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。 通俗的理解,分布式系统就是一个业务拆分成多个子业务,分布在不同的服务器节点&#xff0…

ASP.NET Core----基础学习03----开发者异常页面 MVC工作原理及实现

文章目录 1. 开发者异常页面(1)Startup.cs 页面的基础配置(2)自定义显示报错代码的前后XX行 2. MVC 的原理3. MVC 的实现4.默认路由路径5.返回Json字符串 1. 开发者异常页面 (1)Startup.cs 页面的基础配置 namespace ASP.Net_Blank {public class Startup{private readonly IC…

FlowUs息流:提升学术研究效率的协作神器

在学术界,论文撰写和小组协作是日常研究工作的重要组成部分。FlowUs作为一个多功能的协作平台,为大学教授和学生提供了一个无缝的工作环境,使这些任务变得更加顺畅。 FlowUs模板中心 高校学生教师 专用模板免费 🎓 教授的论文管…

Webpack安装以及快速入门

3 Webpack 1 什么是Webpack https://webpack.js.org/ (官网) webpack 是一个现代 javascript 应用程序的 静态模块打包器 (module bundler) 待会要学的 vue-cli 脚手架环境, 集成了 webpack, 所以才能对各类文件进行打包处理 webpack是一个 静态模块 打包器,可以做以下的这…

计算机的错误计算(二十四)

摘要 计算机的错误计算(二十一)就案例 展示了“两个不相等数相减,差为0”。本节给出新的计算过程:不停增加计算精度直到出现非0结果。这个过程与结果表明,即使是专业数学软件,对这个问题的处理&#xff0…

【ffmpeg系列一】源码构建,ubuntu22与win10下的过程对比。

文章目录 背景ubuntu22结论 win10过程 对比结论 背景 顺手编译个ffmpeg试试,看看不同平台下谁的配置比较繁琐。 先让gpt给出个教程: ubuntu22 使用elementary-os7.1构建,看看有几个坑要踩。 错误1: 依赖libavresample-dev未…

【人工智能】-- 智能家居

个人主页:欢迎来到 Papicatch的博客 课设专栏 :学生成绩管理系统 专业知识专栏: 专业知识 文章目录 🍉引言 🍉基于深度卷积神经网络的表情识别 🍈流程图 🍈模型设计 🍍网络架…

[图解]企业应用架构模式2024新译本讲解24-标识映射3

1 00:00:00,460 --> 00:00:02,580 超类定义了一个抽象方法 2 00:00:03,170 --> 00:00:03,450 3 00:00:06,410 --> 00:00:09,690 把reader内容 4 00:00:10,870 --> 00:00:12,350 把它变成一个领域对象 5 00:00:13,690 --> 00:00:15,800 但这里只是把它变成一个…

python安装PyTorch+cuda

1,最终结果 import torchprint(torch.cuda.is_available()) #显示True,则安装成功 print(torch.__version__)#打印当前PyTorch版本号。 print(torch.version.cuda)#打印当前CUDA版本号。 print(torch.backends.cudnn.version())# 打印当前cuDNN版本号。 print(torc…

【爱上C++】vector用法详解

文章目录 一:vector简介二:vector的创建和初始化三:vector的遍历1.[]下标2.at()3.迭代器遍历4.范围for 四:vector的空间1.size2.max_size3.capacity4.reserve5.resize6.empty 五:vector的增删查改1.push_back2.pop_back3.find4.insert5.erase6.swap7.assign Hello~同学们好&…

docker nginx mysql redis

启动没有数据卷的nginx docker run -d -p 86:80 --name my-nginx nginx把/etc/nginx中的配置复制到宿主机 docker cp my-nginx:/etc/nginx /home/nginxlkl把/html 中的文件复制到宿主机 docker cp my-nginx:/etc/nginx /home/nginxlkl删除当前镜像 docker rm -f my-nginx重新起…

HarmonyOS ArkUi 字符串<展开/收起>功能

效果图: 官方API: ohos.measure (文本计算) 方式一 measure.measureTextSize 跟方式二使用一样,只是API调用不同,可仔细查看官网方式二 API 12 Preview Component export struct CustomTextSpan {State maxLines: number 1/…

迭代器模式(大话设计模式)C/C++版本

迭代器模式 C #include <iostream> #include <string> #include <vector>using namespace std;// 迭代抽象类,用于定义得到开始对象、得到下一个对象、判断是否到结尾、当前对象等抽象方法&#xff0c;统一接口 class Iterator { public:Iterator(){};virtu…

作为产品经理,如何用大模型给我们赋能?非常详细,收藏我这篇就够了

作为一名产品经理&#xff0c;如果您考虑转行至大模型领域&#xff0c;您将能够将产品管理技能与大模型技术相结合&#xff0c;从而在产品开发和创新方面获得一系列好处。以下是转行大模型对产品经理的一些潜在益处&#xff1a; 更深入的技术理解&#xff1a;了解大模型技术将…