@[TOC](EFK簡介)
@[TOC](EFK下載下傳)
@[TOC](Elasticsearch部署)
@[TOC](部署kibana)
@[TOC](部署filebeat)
@[TOC](測試資料圖表展示成果)
@[TOC](結束語)
EFK簡介
1. Elasticsearch -->存儲資料
是一個實時的分布式搜尋和分析引擎,它可以用于全文搜尋,結構化搜尋以及分析。它是一個建立在全文搜尋引擎 Apache Lucene 基礎上的搜尋引擎,使用 Java 語言編寫,能對大容量的資料進行接近實時的存儲、搜尋和分析操作。
2.FileBeat:
- Filebeat隸屬于Beats。目前Beats包含六種工具:
- Packetbeat(搜集網絡流量資料)
- Metricbeat(搜集系統、程序和檔案系統級别的 CPU 和記憶體使用情況等資料)
- Filebeat(搜集檔案資料)
- Winlogbeat(搜集 Windows 事件日志資料)
- Auditbeat( 輕量型審計日志采集器)
- Heartbeat(輕量級伺服器健康采集器)
3. Kibana --> 展示資料
資料分析和可視化平台。通常與 Elasticsearch 配合使用,對其中資料進行搜尋、分析和以統計圖表的方式展示。
EFK下載下傳
注意:記憶體需要給到4G不然會報錯
環境說明:
系統centos7
IP位址:192.168.0.11
軟體 | 版本 |
Elasticsearch | 7.8.0 |
Filebeat | 7.8.0 |
Kibana | 7.8.0 |
下載下傳位址:
Elasticsearch: 7.8.0
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gz
Kibana: 7.8.0
https://artifacts.elastic.co/downloads/kibana/kibana-7.8.0-linux-x86_64.tar.gz
Filebeat: 7.8.0
https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.8.0-linux-x86_64.tar.gz
Logstash: 7.8.0
https://artifacts.elastic.co/downloads/logstash/logstash-7.8.0.tar.gz
Elasticsearch部署
安裝es的節點一定安裝java環境,在此不過多贅述。
//解壓下載下傳後的安裝包
[[email protected] opt]# tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz -C /opt/EFK/
// 做軟連結
[[email protected] local]# ln -s elasticsearch-7.8.0/ elasticsearch
// 配置環境變量
[[email protected] bin]# cat /etc/profile.d/myenv.sh
export PATH=/opt/EFK/elasticsearch/bin:$PATH
[[email protected] bin]# source /etc/profile.d/myenv.sh
// 建立使用者并設定密碼,因為Elasticsearch不能使用root來管理
[[email protected] ~]# useradd es
[[email protected] ~]# passwd es
[[email protected] local]# chown -R es.es elasticsearch-7.8.0/
//建立elasticsearch的資料目錄和日志目錄
[[email protected] ~]# mkdir -p /var/data/elasticsearch
[[email protected] ~]# mkdir -p /var/log/elasticsearch
[[email protected] data]# chown -R es.es elasticsearch/
[[email protected] log]# chown -R es.es elasticsearch/
// 修改elasticsearch的配置檔案
cluster.name: my-es //取消注釋,叢集名稱,可根據需要進行修改
path.data: /var/data/elasticsearch //elasticsearch資料目錄存放位置,建議建立此目錄(官網推薦)
path.logs: /var/log/elasticsearch //elasticsearch日志檔案存放位置
network.host: 192.168.0.11 //取消注釋,這裡是監聽位址
http.port: 9200 //取消注釋,這裡是監聽的端口号
discovery.seed_hosts: ["node"] //取消注釋,指定要發現的節點,可以寫節點名也可寫IP位址,因為我們這裡是單節點是以寫目前節點名就可以了
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
cluster.initial_master_nodes: ["node"]
http.host: 0.0.0.0
此檔案為yml檔案,新加的行要注意縮進不然啟動服務會報錯
// 設定elasticsearch的使用者名和密碼,因為我們上面開啟了ssl
執行設定使用者名和密碼的指令,需要設定密碼的使用者有elastic、apm_system、kibana_system、logstash_system、beats_system、remote_monitoring_user
[[email protected] elasticsearch]$ elasticsearch-setup-passwords interactive
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y
Enter password for [elastic]:
passwords must be at least [6] characters long
Try again.
Enter password for [elastic]:
Reenter password for [elastic]:
Enter password for [apm_system]:
Reenter password for [apm_system]:
Enter password for [kibana_system]:
Reenter password for [kibana_system]:
Enter password for [logstash_system]:
Reenter password for [logstash_system]:
Enter password for [beats_system]:
Reenter password for [beats_system]:
Enter password for [remote_monitoring_user]:
Reenter password for [remote_monitoring_user]:
Changed password for user [apm_system]
Changed password for user [kibana_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5CMjNWO4QTZyUmYzgDOjFWM3ImN4YjY0U2M5ADM2YDO18CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
浏覽器IP:9200
使用者名為elastic,密碼為剛才設定的密碼,我這裡我密碼為123456
elastic使用者擁有superuser角色,是内置的超級使用者
kibana使用者:擁有kibana_system角色,使用者kibana用來連接配接elasticsearch并與之通信。Kibana伺服器以該使用者身份送出請求以通路叢集監視API和Kibana索引。不能通路index
logstash_system使用者:擁有logstash_system角色,使用者Logstash在Elasticsearch中存儲監控資訊時使用。
以上已經搭建成功,可以使用ip+9200進行通路,密碼為上步自設。這裡因為隻是測試搭建,是以并未使用自啟方法,感興趣的小夥伴可以自行查找es開機自啟的方法。
部署kibana
// 解壓tar包
[[email protected] opt]# tar -zxf kibana-7.8.0-linux-x86_64.tar.gz -C /opt/EFK/
// 做軟連結
[[email protected] local]# ln -s kibana-7.8.0/ kibana
[[email protected] local]# chown -R kibana.kibana kibana-7.8.0/
[[email protected] ~]# useradd kibana
[[email protected] ~]# passwd kibana
// 配置環境變量
[[email protected] ~]# cat /etc/profile.d/myenv.sh
export PATH=/opt/EFK/kibana/bin:$PATH
[[email protected] ~]# source /etc/profile.d/myenv.sh
// 建立相應檔案,并修改屬主和屬組
[[email protected] ~]# mkdir -p /var/log/kibana/
[[email protected] ~]# touch /var/log/kibana/kibana.log
[[email protected] ~]# chown -R kibana.kibana /var/log/kibana/kibana.log
[[email protected] ~]# mkdir -p /run/kibana/
[[email protected] ~]# touch /run/kibana/kibana.pid
[[email protected] ~]# chown -R kibana.kibana /run/kibana/kibana.pid
// 修改kibana配置檔案,修改配置檔案之前建議先備份
[[email protected] config]# cp kibana.yml kibana.yml-bak
[[email protected] config]# vim kibana.yml
server.port: 5601 //kibana監聽的端口号
server.host: "192.168.0.11" //預設為localhost,後端伺服器的主機位址
elasticsearch.hosts: ["http://192.168.0.11:9200"] //與es連接配接,es的IP+端口号
elasticsearch.username: "elastic" //kibana對接es的使用者和密碼
elasticsearch.password: "123456"
pid.file: /run/kibana/kibana.pid //kibana的pid檔案路徑
i18n.locale: "zh-CN" //語言中文
啟動指令包括,背景啟動:nohup kibana &
浏覽器IP:5601
使用者名為上述配置檔案中設定的,密碼同上。
安裝成功。
部署filebeat
// 解壓filebeat
[[email protected] opt]# tar -zxvf filebeat-7.8.0-linux-x86_64.tar.gz -C /opt/EFK/
// 建立軟連結
[[email protected] local]# ln -s filebeat-7.8.0/ filebeat
//配置環境變量
[[email protected] ~]# cat /etc/profile.d/myenv.sh
export PATH=/opt/EFK/filebeat/filebeat:$PATH
[[email protected] ~]# source /etc/profile.d/myenv.sh
//配置檔案
[[email protected] filebeat]# vi filebeat.yml
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/test.log #根據自身目錄進行修改
setup.kibana:
host: "192.168.0.11:5601"
output.elasticsearch:
hosts: ["192.168.0.11:9200"]
username: "elastic"
password: "123456"
啟動:nohup ./filebeat -e -c filebeat.yml > filebeat.log &
在啟動中遇到了相關問題,因時間問題未記錄和重制,小夥伴們遇到後可嘗試使用初始化解決。
初始化指令:./filebeat setup -e
測試資料圖表展示成果
使用IP+端口登入kibana,選擇如下:
在索引模式輸入filebate,選擇下列索引,點選下一步:
選擇如下:
建立索引模式後,顯示:
圖表展示如下:
結束語
至此,日志收集系統搭建完畢,因為是剛剛接觸,是以有講解不全之處,還請大神指點。