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

news2024/11/16 15:44:49

👨‍🎓博主简介

  🏅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.yml

path.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 => 5044
    codec => "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"	  #字段2
  
  multiline:
    #多行匹配规则
    pattern: '^[[:space:]]+(at|\.{3})\b&^Caused by:'
    #将不匹配的规则的行合并在一起
    negate: true
    #合并到匹配规则的上一行末尾
    match: after


#================================ Outputs =====================================

#----------------------------- Logstash output --------------------------------
output.logstash:
  # The Logstash hosts
  hosts: ["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.2
    container_name: es
    hostname: es
    restart: always
    volumes:
      - /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/localtime
    ports:
      - 9200:9200
      - 9300:9300
      
  logstash:
    image: elastic/logstash:8.12.2
    container_name: logstash
    hostname: logstash
    restart: always
    logging:
      driver: json-file
      options:
        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/localtime
    ports:
      - 5044:5044

  kibana:
    image: elastic/kibana:8.12.2
    container_name: kibana
    hostname: kibana
    restart: always
    volumes:
      - /data/ELK/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml
    ports:
      - 5601:5601
      
  filebeat:
    image: elastic/filebeat:8.12.2
    container_name: filebeat
    hostname: filebeat
    restart: always
    user: root
    volumes:
      # 日志文件夹映射到容器中[作为数据源]
      - /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 restart

docker-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"	  #字段2
  
  multiline:
    #多行匹配规则
    pattern: '^[[:space:]]+(at|\.{3})\b&^Caused by:'
    #将不匹配的规则的行合并在一起
    negate: true
    #合并到匹配规则的上一行末尾
    match: after


#================================ Outputs =====================================

#----------------------------- Logstash output --------------------------------
output.logstash:
  # The Logstash hosts
  hosts: ["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.2
    container_name: filebeat
    hostname: filebeat
    restart: always
    user: root
    volumes:
      # 日志文件夹映射到容器中[作为数据源],可以切换为自己服务的日志路径;
      - /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.coloradmin.cn/o/1906177.html

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

相关文章

Mysql系列-Binlog主从同步

原文链接:https://zhuanlan.zhihu.com/p/669450627 一、主从同步概述 mysql主从同步,即MySQL Replication,可以实现将数据从一台数据库服务器同步到多台数据库服务器。MySQL数据库自带主 从同步功能,经过配置,可以实现基于库、表…

如何降低亚马逊测评风险?掌握这些技巧就够了!

无论是初涉亚马逊测评领域的新手还是经验丰富的老手,都不可避免地会面临各种风险挑战。为了将这些风险降至最低,我们需掌握一系列高效且安全的测评策略。以下是一些关键的亚马逊测评技巧与策略: 亚马逊测评优化策略 1. 真实购买与国外账号&a…

​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​

五、IS-IS报文 1、IS-IS报文格式 IS-IS报文是直接封装在数据链路层的帧结构中的。 PDU(Protocol Data Unit,协议数据单元): 报文头(IS-IS Header) 变长字段(Variable Length Fields )。 IS-IS Header: 通用头部(PDU Common Header) 专用头部(PDU Specific H…

javaIO流(2)

一.字符流 字符流对数据的操作是以一个个字符为单位的,字符流只能读文本文件,并将读到的字节按照编码表转为对应的字符,Reader和Writer是字符流的两个最大的抽象类,InputStreamReader和OutputStreamWriter分别继承了Reader和Writer,它俩的功能就是将读取到的字节转换为字符,所…

实验代码结构介绍

提高模型复用性,让模型对应的配置更加清晰,代码书写条理 学习自https://zhuanlan.zhihu.com/p/409662511 Project ├── checkpoints # 存放模型 ├── data # 定义各种用于训练测试的数据集 ├── eval.py # 测试代码 ├── loss.py # 定义的…

CSS 后代选择器正确写法 爸爸儿子之间有代沟

CSS 后代选择器正确写法 爸爸儿子之间有代沟 example&#xff1a; > <body> > <div class"outer"> > <span class"inner"></span> > </div> > </body> > <head> > <style>…

如何选择快手矩阵源码:关键因素解析

在短视频行业迅速发展的今天&#xff0c;快手平台已成为众多内容创作者和企业的重要阵地。为了有效管理和运营多个快手账号&#xff0c;快手矩阵源码成为了一个关键工具。然而&#xff0c;市场上的快手矩阵源码种类繁多&#xff0c;选择一个合适的源码并非易事。本文将探讨选择…

【QT】多元素控件

多元素控件 多元素控件1. List Widget2. Table Widget3. Tree Widget 多元素控件 Qt 中提供的多元素控件有: QListWidgetQListViewQTableWidgetQTableViewQTreeWidgetQTreeView xxWidget 和 xxView 之间的区别&#xff0c;以 QTableWidget 和 QTableView 为例&#xff1a; …

WPS提示打印机异常,但是任然可以打印

故障现象 使用WPS在打印预览页时&#xff0c;打印机有小橙点提示&#xff0c;点击打印时会报错&#xff0c;提示&#xff1a; 打印机异常&#xff0c;打印机状态出现异常&#xff0c;请检查打印机是否开机并且联机 但是点击确定后&#xff0c;可以继续打印&#xff0c;而且其他…

企业微信hook接口协议,聊天标签中的联系人变动通知

聊天标签中的联系人变动通知 返回示例 {"send_time":1699256104,"flag":0,"receiver":0,"sender":10014,"referid":0,"sender_name":"","app_info":"0FUGGXUfQ0G7nPh","rea…

收藏!2024年程序员的实用神器_new relic idea

前言 Chat GPT的升级节奏让人们越来越惊讶的同时&#xff0c;也让大家感觉到了压力&#xff0c;在如此快节奏的互联网世界中&#xff0c;开发人员需要不断学习与更新知识&#xff0c;保持领先地位并高效地交付高质量软件。 无论是集成开发环境 (IDE)、版本控制系统、测试工具…

“除了C盘都不见了“:现象解析、恢复策略与预防之道

现象概述&#xff1a;非系统盘突然消失之谜 在日常的计算机使用中&#xff0c;不少用户可能遭遇过一个令人措手不及的问题——“除了C盘都不见了”。这一现象发生时&#xff0c;用户惊讶地发现除了作为系统盘的C盘外&#xff0c;原本存放着各类文档、图片、视频等个人资料的D盘…

得帆荣获中国信通院低代码标准参编专家认证和低代码白皮书参编单位认可

2024年6月26日&#xff0c;由中国通信标准化协会主办&#xff0c;中国通信标准化协会云计算标准和开源推进委员会承办的2024低代码无代码产业大会在北京召开&#xff0c;大会以“智融低无码&#xff0c;模创新未来”为主题&#xff0c;发布领域研究成果&#xff0c;交流行业前沿…

使用dd命令简单测试磁盘I/O

本文所有测试使用的均是Oracle公有云OCI上的计算实例的启动盘。 第1轮测试使用的是默认的启动盘参数。第2轮测试使用的是自动调整的启动盘参数&#xff08;如下图&#xff09;&#xff0c;性能更高。 第1轮测试 顺序I/O 运行以下命令5次&#xff0c;dsync表示不使用cache&…

【MySQL05】【 undo 日志】

文章目录 一、前言二、undo 日志&#xff08;回滚日志&#xff09;1. 事务 id2. undo 日志格式2.1 INSERT 对应的 undo 日志2.2 DELETE 对应的 undo 日志2.3 UPDATE 对应的 undo 日志2.3.1 不更新主键2.3.2 更新主键 2.3 增删改操作对二级索引的影响2.4 roll_pointer 3. FIL_PA…

合合信息大模型“加速器”重磅上线

大模型技术的发展和应用&#xff0c;预示着更加智能化、个性化未来的到来。如果将大模型比喻为正在疾驰的科技列车&#xff0c;语料便是珍贵的“燃料”。本次世界人工智能大会期间&#xff0c;合合信息为大模型打造的“加速器”解决方案备受关注。 在大模型训练的上游阶段&…

FPGA问题

fpga 问题 第一道坎&#xff0c;安装软件&#xff1b;没有注册&#xff0c;无法产生sop文件&#xff0c;无法下载 没有相应的库的quartus ii版本&#xff0c;需要另下载 第二道坎&#xff0c;模拟器的下载&#xff0c;安装&#xff1b; 第三道&#xff0c;verilog 语法&#x…

PLM设计协同、PLM在产品开发初期的优化作用

在当今快速变化的市场环境中&#xff0c;产品的成功不再仅仅依赖于其最终的功能与性能&#xff0c;更在于其从概念到市场的整个生命周期的效率和效果。产品生命周期管理&#xff08;Product Lifecycle Management, PLM&#xff09;作为一种集成了数据、流程和工具的综合方法&am…

破局 AI 2.0 时代:利用 AI 提升自我核心竞争力

文章目录 破局 AI 2.0 时代&#xff1a;利用 AI 提升自我核心竞争力1. AI 2.0 时代1.1 特点1.2 发展1.3 影响 2. AI 2.0 时代的机遇 & 挑战2.1 AI 对行业市场的冲击2.2 挑战变为机遇2.3 不同场景下的 AI 效能提升2.3.1 自动化办公任务2.3.2 提升学习效率2.3.3 创意生成与内…

微信小程序的餐厅点餐系统-计算机毕业设计源码71834

摘要 随着移动互联网技术的迅猛发展&#xff0c;微信小程序因其便捷性和即用即走的特性&#xff0c;成为了连接用户与服务的新桥梁。Node.js作为一种高效、轻量级的后端技术&#xff0c;为开发者提供了快速构建服务器端应用的能力。本文介绍了一个基于微信小程序和Node.js的餐厅…