天天看點

安裝 Beats (本地及 Docker)-Elastic Stack 實戰手冊

安裝 Beats (本地及 Docker)-Elastic Stack 實戰手冊
https://developer.aliyun.com/topic/download?id=1295 · 更多精彩内容,請下載下傳閱讀全本《Elastic Stack實戰手冊》 https://developer.aliyun.com/topic/download?id=1295 https://developer.aliyun.com/topic/es100 · 加入創作人行列,一起交流碰撞,參與技術圈年度盛事吧 https://developer.aliyun.com/topic/es100

創作人:馮江濤

審稿人:劉帥

Beats 是輕量級(資源高效,無依賴性,小型)和開放源代碼日志發送程式的集合,這些日志發送程式充當安裝在基礎結構中不同伺服器上的代理,用于收集日志或名額(Metrics)。這些可以是日志檔案(Filebeat),網絡資料(Packetbeat),伺服器名額(Metricbeat)或 Elastic 和社群開發的越來越多的 Beats 可以收集的任何其他類型的資料。 收集後,資料将直接發送到 Elasticsearch 或 Logstash 中進行其他處理。Beats 建立在名為 libbeat 的 Go 架構之上,該架構用于資料轉發,這意味着社群一直在開發和貢獻新的 Beats。

Elastic Beats

安裝 Beats (本地及 Docker)-Elastic Stack 實戰手冊

環境準備

作為 Elastic Stack 的補充,在使用 Beats 之前,需要已安裝好 Elasticearch 和 Kibana。Elasticsearch 用來存儲,分析和檢索資料,而 Kibana 作為可視化,監控和管理端。

接下來将基于 Elastic Stack 7.1.0 版本為基礎,以 Metricbeat 元件為例,其他 Beats 元件使用方法類似。在安裝 Beats 時,需要注意的一點是 Beats 的版本要和 Elasticsearch 及 Kibana 的版本一緻,或至少是大版本是一緻的。

Beats 元件的下載下傳和安裝

根據不同作業系統,選擇合适的安裝包。下面以 Elastic Stack 7.10 為例來展示 Metricbeat 的安裝過程。如果你想安裝其它版本的 Metricbeat,請替換指令行中的版本 7.10.0,然後按照同樣的方法來進行安裝。

deb:

curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.10.0-amd64.deb
sudo dpkg -i metricbeat-7.10.0-amd64.deb           

rpm:

curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.10.0-x86_64.rpm
sudo rpm -vi metricbeat-7.10.0-x86_64.rpm           

mac:

curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.10.0-darwin-x86_64.tar.gz
tar xzvf metricbeat-7.10.0-darwin-x86_64.tar.gz           

brew:

brew tap elastic/tap
brew install elastic/tap/metricbeat-full           

linux:

curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.10.0-linux-x86_64.tar.gz
tar xzvf metricbeat-7.10.0-linux-x86_64.tar.gz           

win:

# 1.進入目錄
> cd C:\Program Files\Metricbeat
# 2.安裝Metricbeat為Windows服務
> .\install-service-metricbeat.ps1           
更多 Beats 元件可以前往下載下傳頁面 Beats Download https://www.elastic.co/cn/downloads/beats

基礎配置

進入解壓後的 Metricbeat 目錄可以看到,安裝目錄的根目錄下如下檔案及檔案夾:

$ ls -l
fields.yml
kibana
LICENSE.txt
metricbeat
# 完整的配置檔案模闆
metricbeat.reference.yml
# 預設的配置檔案
metricbeat.yml
module
modules.d
NOTICE.txt
README.md           

我們隻修改使用 metricbeat.yml 這個配置檔案。

如果你的 Elasticsearch 和 Kibana 都安裝在同一台主機上,并配置了預設的端口,可以跳過此步驟不修改配置,Metricbeat 預設指定了 localhost。

output.elasticsearch:
  hosts: ["localhost:9200"]
  # 如果ElasticSearch啟用了認證需要配置賬号密碼
  username: "YOUR_ACCOUNT"
  password: "YOUR_PASSWORD"
setup.kibana:
  host: "localhost:5601"
  # 如果kibana啟用了認證需要配置賬号密碼
  username: "YOUR_ACCOUNT"
  password: "YOUR_PASSWORD"           

配置 Metricbeat,指定運作的子產品。

# 檢視所有支援的子產品
./metricbeat modules list
# 打開 system 子產品
./metricbeat modules enable system           

設定初始化環境,在此之前確定 Elasticsearch 和 Kibana 已經正常運作

./metricbeat setup -e           

上面的指令輸出為:

./metricbeat setup
Overwriting ILM policy is disabled. Set `setup.ilm.overwrite: true` for enabling.

Index setup finished.
Loading dashboards (Kibana must be running and reachable)           

如上所示

在 setup 這個過程中,它将為 Beat 生成相應的 Dashboard,Index patterns,Index template, 索引生命周期管理政策以及相應的 Ingest pipeline。這個指令的運作時間比較長。需要耐心等待。上面的指令針對一個 Beat 來說,隻需要運作一次就可以了。

啟動 Beats

Metricbeat 啟動後會發送 system metrics 資料到 Elasticsearch。

./metricbeat -e           

是不是覺得記憶上面的安裝步驟很麻煩啊?在 Kibana 中,Elastic 已經為我們如何添加資料做了詳細的描述,而且安裝後的版本一定是和你安裝的 Elasticsearch 及 Kibana 的版本是一樣的。

具體的操作步驟如下:

安裝 Beats (本地及 Docker)-Elastic Stack 實戰手冊
安裝 Beats (本地及 Docker)-Elastic Stack 實戰手冊

在上面顯示了如下安裝各種 Metrics 的具體步驟。以 System metrics 為例,在上面的頁面中向下滾動:

安裝 Beats (本地及 Docker)-Elastic Stack 實戰手冊
安裝 Beats (本地及 Docker)-Elastic Stack 實戰手冊

在上面,我們選擇所需要的作業系統。再接着按照上面的安裝步驟一步一步向下走。我們就可以完成所需要的 Beat 的安裝。

檢查收集到的資料

我們首先打開 Kibana,并啟動 Dashboard:

安裝 Beats (本地及 Docker)-Elastic Stack 實戰手冊
安裝 Beats (本地及 Docker)-Elastic Stack 實戰手冊

在上面,我們搜尋 metricbeat system,我們就可以發現已經預置的 Dashboard。

我們選擇 [Metricbeat System] Overview ECS:

安裝 Beats (本地及 Docker)-Elastic Stack 實戰手冊

點選 Host Overview 可以檢視 Metrics 的詳情:

安裝 Beats (本地及 Docker)-Elastic Stack 實戰手冊

Docker 方式安裝

拉取鏡像

docker pull docker.elastic.co/beats/metricbeat:7.10.0           

啟動 Docker 版 Metricbeat

通過 -E 設定 Elasticsearch 和 Kibana 的位址及其他參數(如果有必要)。

注意:如果是本機安裝的服務,Docker 是無法通過 localhost 連接配接到 Elasticsearch 和 Kibana 的,可以通過增加參數 docker run --net=host,讓 Docker 可以通路到主控端的 hostname,或者可以通過 ip addr show docker0 檢視 docker 的網關位址來通路主控端。

docker run --net=host \
docker.elastic.co/beats/metricbeat:7.10.0 \
setup -E setup.kibana.host=elastichost:5601 \
-E output.elasticsearch.hosts=["elastichost:9200"]            

創作人簡介:

馮江濤,關注大資料相關技術棧,擅長 HDFS、Elasticsearch 存儲相關,Spark、

Flink 計算相關,以及大資料中台的開發。 Talk is cheap. Show me the code.

繼續閱讀