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.pswp.cn/diannao/42839.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42839.shtml
英文地址,請注明出處:http://en.pswp.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天錄用-檢索(急錄友好&…

【YOLOv5進階】——替換主干網絡(backbone)-MobileNet為例

聲明:筆記是做項目時根據B站博主視頻學習時自己編寫,請勿隨意轉載! 一、說在前面的一些話 1、torchvision 需要用到torchvision里的一些模塊,之前第一期配置環境的時候已經安裝過torchvision! torchvision是PyTorch生態系統中的一個關鍵庫,專門為計算機視覺任務設計和優…

個性化微課教學視頻推薦系統-計算機畢業設計源碼77648

個性化微課教學視頻推薦系統 摘 要 隨著信息技術的迅猛發展,教育領域正經歷著前所未有的變革。微課作為一種新興的教學資源形式,以其短小精悍、針對性強、易于傳播等特點,逐漸受到廣大師生的青睞。然而,在微課資源日益豐富的今天…

Python語法基礎

python語法 TIPS:本文適合有一定編程語言基礎的人快速復習python基本語法 python的IO: 基礎input ainput():默認輸入 基礎output print():默認輸出 默認換行參數end""控制字母之間的距離,可以理解為默認為換行符,修改…

谷粒商城學習筆記-逆向工程錯誤記錄

文章目錄 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網絡的一些名詞的概念,為之后的學習掃清障礙。然后我…

Bootstrap 按鈕下拉菜單

Bootstrap 按鈕下拉菜單 簡介 Bootstrap 是一個流行的前端框架,用于快速開發響應式和移動設備優先的網頁。它提供了一套豐富的組件,包括導航、下拉菜單、按鈕等,使得開發者能夠輕松構建功能豐富且美觀的界面。在本文中,我們將重…

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

文章首發于公眾號:Keegan小鋼 ?餐飲 前一篇文章 說到,有些房東不允許房客煮飯,那在新加坡都去哪吃飯?有什么吃的呢? 比較便宜的餐飲場所就是小販中心、咖啡店和冷氣食閣,也是大部分人常去的就餐場所。咖…

分布式整合

一、分布式架構介紹 什么是分布式系統 分布式系統指一個硬件或軟件組件分布在不同的網絡計算機上,彼此之間僅僅通過消息傳遞進行通信和協調的系統。 通俗的理解,分布式系統就是一個業務拆分成多個子業務,分布在不同的服務器節點&#xff0…

使用Java實現復雜數據結構算法

使用Java實現復雜數據結構算法 大家好,我是微賺淘客系統3.0的小編,也是冬天不穿秋褲,天冷也要風度的程序猿! 1. 前言 在軟件開發中,復雜數據結構和算法是提升程序效率和性能的重要組成部分。本文將通過Java語言&…

OCR技術主要用于自動化文本數據的錄入

OCR是“Optical Character Recognition”的縮寫,中文意思是光學字符識別。這是一種技術,允許電子設備如掃描儀或數碼相機讀取文檔中的文本,通過檢測和分析文本的暗和亮的模式來識別字符的形狀,然后將這些形狀轉換為可被計算機處理…

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是一個 靜態模塊 打包器,可以做以下的這…

Spring Boot (9):AOP實戰經驗

1 概述 介紹完Spring AOP所具備的功能特性,接下來,看一下再應用程序中使用AOP時應該遵循哪些最佳實踐。 2 活用切點表達式 Spring AOP的一大特色在于在開發人員提供了非常靈活的切點機制。Spring在編譯期間處理切入點,并嘗試進行優化匹配。然…

計算機的錯誤計算(二十四)

摘要 計算機的錯誤計算(二十一)就案例 展示了“兩個不相等數相減,差為0”。本節給出新的計算過程:不停增加計算精度直到出現非0結果。這個過程與結果表明,即使是專業數學軟件,對這個問題的處理&#xff0…

1 HTML and CSS

HTMl(超文本標記語言) HTML 概述 超文本標記語言用來描述和定義網頁的內容 HTML(超文本標記語言——HyperText Markup Language)是構成 Web 世界的一磚一瓦;它定義了網頁內容的含義和結構 “超文本”(hypertext)是指連接單個網站內或多個網站間的網頁的鏈接 1. HTML標簽功能區分…

Qt之多線程編程(QThread)

文章目錄 前言Qt多線程的基本使用如何移動線程常用的一些函數示例代碼總結 前言 在現代計算機系統中,多線程編程已經成為一種常見的編程模式,它可以有效地利用多核處理器的計算能力,提高程序的執行效率。Qt作為一種跨平臺的應用程序開發框架…