👨?🎓博主簡介
??🏅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.213 | CentOS Linux 7 (Core) X86架構 | CPU:4核8線程 內存:16G 硬盤:100G | docker docker-compose | Elasticsearch Logstash Kibana Filebeat nginx | 9200 / 9300 5044 5601 80 |
要用到的服務包信息:
軟件安裝包名稱 | 軟件版本 | 功能 |
---|---|---|
docker | 24.0.5 | 容器:提供單獨elfk環境 |
docker-compose | 1.29.2 | 容器編排工具:用于同步管理elfk |
elasticsearch | 8.12.2 | 日志存儲 |
kibana | 8.12.2 | 日志數據圖形化展示 |
logstash | 8.12.2 | 日志處理 |
filebeat | 8.12.2 | 日志采集 |
nginx | 1.24.0 | nginx服務 |
ELFK 關系圖:
1.2 關閉防火墻及selinux沙盒
# 先查看防火墻是否開啟
systemctl status firewalld# 如果是開啟的那就關閉并設置開機不自啟
systemctl stop firewalld
systemctl disable firewalld# 設置selinux為Disabled
cat /etc/selinux/config
# 設置 SELINUX=disabled
如果防火墻開啟的話,需要打開的端口有:(端口可自行定義)
- Elasticsearch:
9200
、9300
- 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離線包
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
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:
9200
、9300
- 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
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
- kibana地址:http://172.16.11.213:5601
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
# 啟動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
4.10 獲取服務日志并進行頁面展示
頁面訪問kibana查看日志:http://172.16.11.213:5601
刷新nginx頁面,使其產生日志,并實時監控日志
二、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
這里我選擇手動輸入密碼;手動輸入密碼每個用戶都要輸入兩遍密碼,一遍是輸入一遍是確認密碼;
1.4 訪問 es 頁面進行驗證
頁面訪問:http://172.16.11.213:9200
輸入完用戶名密碼,就到這個頁面了;
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
這里可以輸入用戶名密碼,并不是非要kibana配置文件中設置的用戶名密碼,用哪個登錄上來會沒有權限,這里我們可以登錄elastic
用戶,密碼也是剛剛設置的密碼;
登錄進來,右上角就會多出一個頭像等用戶信息;
三、附加:修改 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 |