Beats:安裝及配置 Metricbeat (一)- 8.x

在我之前的文章:

  • Beats:Beats 入門教程 (一)
  • Beats:Beats 入門教程 (二)

我詳細描述了如何在 Elastic Stack 7.x 安裝及配置 Beats。在那里的安裝,它通常不帶有安全及 Elasticsearch 在默認的情況下,不含有 HTTPS 訪問。在最新的 Elastic Stack 8.x 中,Elasticsearch 集群在默認的情況下是帶有安全訪問的。這樣針對 Metricbeat 訪問 Elasticsearch 它和之前的情形是不同的。我在之前文章 “Elastic Stack 8.0 安裝 - 保護你的 Elastic Stack 現在比以往任何時候都簡單” 有描述 Beats 如何連接到 Elasticsearch。在今天的文章里,我們來詳細地 Beats 描述如何安全地連接到 Elasticsearch。

在今天的展示中,我將使用最新的 Elastic Stack 8.9.0 來進行展示。我將使用如下的架構:

安裝

Elasticsearch 及 Kibana

如果你還沒有安裝好自己的 Elasticsearch 及 Kibana,請參考我之前的文章:

  • 如何在 Linux,MacOS 及 Windows 上進行安裝 Elasticsearch
  • Kibana:如何在 Linux,MacOS 及 Windows 上安裝 Elastic 棧中的 Kibana

在安裝的時候,請選擇使用 Elastic Stack 8.x 的安裝指南來進行安裝。在安裝的時候,我們需要記錄下它的 elastic 超級用戶的密碼,fingerprint 信息,以備后面的配置所使用:

? Elasticsearch security features have been automatically configured!
? Authentication is enabled and cluster connections are encrypted.??  Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`):p1k6cT4a4bF+pFYf37Xx??  HTTP CA certificate SHA-256 fingerprint:633bf7f6e4bf264e6a05d488af3c686b858fa63592dc83999a0d77f7e9fe5940??  Configure Kibana to use this cluster:
? Run Kibana and click the configuration link in the terminal when Kibana starts.
? Copy the following enrollment token and paste it into Kibana in your browser (valid for the next 30 minutes):eyJ2ZXIiOiI4LjkuMCIsImFkciI6WyIxOTIuMTY4LjAuMzo5MjAwIl0sImZnciI6IjYzM2JmN2Y2ZTRiZjI2NGU2YTA1ZDQ4OGFmM2M2ODZiODU4ZmE2MzU5MmRjODM5OTlhMGQ3N2Y3ZTlmZTU5NDAiLCJrZXkiOiJ3WEE3MDRrQkxxWTFWWGY0QWRHbDpCa0VZVXZmaFFidWNPOFUxdXJwXzZnIn0=??  Configure other nodes to join this cluster:
? On this node:? Create an enrollment token with `bin/elasticsearch-create-enrollment-token -s node`.? Uncomment the transport.host setting at the end of config/elasticsearch.yml.? Restart Elasticsearch.
? On other nodes:? Start Elasticsearch with `bin/elasticsearch --enrollment-token <token>`, using the enrollment token that you generated.

為了能夠使得我們的 Kibana 能被其他的電腦所訪問,我們必須針對 kibana.yml 文件進行一項配置:

server.host: "0.0.0.0"

修改完畢后,我們必須重新啟動 Kibana。

Metricbeat

有關 Metricbeat 的安裝,我們可以參考官方文檔?Metricbeat quick start: installation and configuration | Metricbeat Reference [8.9] | Elastic?來進行安裝。針對大多數的應用場景,我們可以使用倉庫進行安裝。我們可以參考鏈接?Repositories for APT and YUM | Metricbeat Reference [8.9] | Elastic?來進行安裝。首先,我們創建如下的一個文檔:

install.sh

#!/bin/bash
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -;
sudo apt-get -y install apt-transport-https;
echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list;
apt-get update;
apt-get install -y metricbeat;
chmod +x install.sh

我們打入上面的命令來把上面的腳步變為可執行文件,并打入如下的命令:

sudo ./install.sh

這樣我們就完成了我們的 Metricbeat 的安裝。

配置 Metricbeat

在完成 Metricbeat 的配置后,我們進入到 Metricbeat 的配置目錄中,并對它的配置文件 metricbeat.yml 進行配置:

/etc/metricbeat/metricbeat.yml

parallels@ubuntu2004:/etc/metricbeat$ pwd
/etc/metricbeat
parallels@ubuntu2004:/etc/metricbeat$ ls
fields.yml  http_ca.crt  metricbeat.reference.yml  metricbeat.yml  modules.d

我們需要針對 metricbeat.yml 文件做如下的修改:

/etc/metricbeat/metricbeat.yml

把上面的標志設置為 true,那么每次修改 metricbeat.yml 后,會自動裝載 metricbeat.yml 而不用重新啟動 metricbeat。

我們需要把 Elasticsearch 的證書拷貝到當前的 Metricbeat 配置目錄下。我們可以在 macOS 機器的?Elasticsearch 的安裝目錄中找到這個證書文件 http_ca.crt 文件:

$ pwd
/Users/liuxg/elastic/elasticsearch-8.9.0/config/certs
$ ls
http.p12      http_ca.crt   transport.p12

我們把上面的證書拷貝到 Metricbeat 的安裝目錄中:

root@ubuntu2004:/etc/metricbeat# pwd
/etc/metricbeat
root@ubuntu2004:/etc/metricbeat# ls
fields.yml  http_ca.crt  metricbeat.reference.yml  metricbeat.yml  modules.d

我們接下來繼續配置 metricbeat.ym 文件:

我們需要手動修改上面的部分。把 elastic 超級用戶的密碼填入,并配置證書。

為了驗證我們的配置是否有語法錯誤,我們可以使用如下的命令來進行檢測:

metricbeat test config
root@ubuntu2004:~# metricbeat test config
Config OK

我們接下來測試 output。這個部分是為了測試能夠正確地連接到 Elasticsearch。我們使用如下的命令:

metricbeat test output
root@ubuntu2004:~# metricbeat test output
elasticsearch: https://192.168.0.3:9200...parse url... OKconnection...parse host... OKdns lookup... OKaddresses: 192.168.0.3dial up... OKTLS...security: server's certificate chain verification is enabledhandshake... OKTLS version: TLSv1.3dial up... OKtalk to server... OKversion: 8.9.0

很顯然,我們的測試是成功的。它能夠正確地連接到 Elasticsearch。這樣我們的配置是完全成功的。

在上面,我們發現在 metricbeat 里使用硬編碼把用戶名及密碼寫入到文件中,這個是一個不好的習慣,因為有人可以查看這個文件就會發現你使用的密碼等信息。我們可以使用 keystore 來保護這些信息。

root@ubuntu2004:/etc/metricbeat# metricbeat keystore create
Created metricbeat keystore
root@ubuntu2004:/etc/metricbeat# metricbeat keystore add ES_USER
Enter value for ES_USER: 
Successfully updated the keystore
root@ubuntu2004:/etc/metricbeat# metricbeat keystore add ES_PASSWORD
Enter value for ES_PASSWORD: 
Successfully updated the keystore
root@ubuntu2004:/etc/metricbeat# metricbeat keystore list
ES_PASSWORD
ES_USER

有了這些配置過后,我們可以重新來修改 metricbeat.yml 文件:

修改完畢后,我們使用如下的命令重新來驗證輸出:

root@ubuntu2004:/etc/metricbeat# metricbeat test output
elasticsearch: https://192.168.0.3:9200...parse url... OKconnection...parse host... OKdns lookup... OKaddresses: 192.168.0.3dial up... OKTLS...security: server's certificate chain verification is enabledhandshake... OKTLS version: TLSv1.3dial up... OKtalk to server... OKversion: 8.9.0

很顯然我們的輸出是成功的。這樣我們的用戶名及密碼就可以不暴露了,即便配置文件被別人所看到。

啟動模塊

在默認的情況下,system 模塊是自動啟動的。我們可以通過如下的命令來進行查看:

metricbeat modules list
root@ubuntu2004:~# metricbeat modules list
Enabled:
systemDisabled:
activemq
aerospike
airflow
apache
aws
awsfargate
azure
beat
beat-xpack
ceph
ceph-mgr
cloudfoundry
cockroachdb
...

?從上面的顯示結果中,我們可以看出來 system 模塊是被啟動的。我們也可以通過查看當前 metricbeat 下的 modules.d 目錄來看出來:

從上面的輸出中,我們可以看出來,只有 system.yml 文件的后綴不含有 disabled。它表明這個模塊是被啟動的。事實上,我們可以在這個目錄下直接把某個模塊的擴展名 disabled 去掉,就可以啟動該模塊。我們也可以通過如下的命令來禁止模塊,比如:

metricbeat modules disable system

上面的命令禁止 system 模塊。我們可以通過如下的命令來進行查看:

metricbeat modules list

我們可以使用如下的命令來重新啟動 system 模塊:

metricbeat modules enable system
root@ubuntu2004:/etc/metricbeat# metricbeat modules enable system
Enabled system

?

啟動 Metricbeat

在上面,我們已經成功地配置了 Metricbeat。我們接下來運行如下的 setup 命令來加載 Dashboards 及創建相應的 pipeline,index template 等:

metricbeat setup

上述命令將運行一會兒時間。我們可以看到:

root@ubuntu2004:~# 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)
Loaded dashboards

針對所有的 Metricbeat 模塊來說,我們只需要運行上面的命令一次就夠了,即便當前的模塊沒有被啟動。等上面的命令完成后,我們可以到 Kibana 中進行查看:

?

我們接下來運行如下的命令來采集數據:

service metricbeat start

?

?

從上面,我們可以看出來運行狀態正常。我們到 Kibana 中去查看數據:

?

?

?我們可以在 index management 里查看到:

?

顯然這個數據是以 data stream 的形式采集進來的。?

好了,今天的文章就先介紹到這里。在后面的文章里,我將繼續介紹如何創建一個具有較少權限的用戶來配置 Metricbeat。目前的 elastic 用戶被用來配置,在很少的情況會這么做。另外,我還將探討使用其他形式的證書來配置 output。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/40656.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40656.shtml
英文地址,請注明出處:http://en.pswp.cn/news/40656.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MapReduce介紹

目錄 ?一、什么是MapReduce 二、MapReduce 的設計思想 2.1 分而治之 2.2 構建抽象模型&#xff1a;Map和Reduce 2.3 隱藏系統層細節 三、MapReduce 的框架原理 3.1 MRv1工作原理 3.1.1 MRv1架構工作原理圖 3.1.1.1 流程說明 3.1.1.1.1 作業的提交 3.1.1.1.2 作業的初始化 3…

【AI大模型】訓練Al大模型 (上篇)

大模型超越AI 前言 潔潔的個人主頁 我就問你有沒有發揮&#xff01; 知行合一&#xff0c;志存高遠。 目前所指的大模型&#xff0c;是“大規模深度學習模型”的簡稱&#xff0c;指具有大量參數和復雜結構的機器學習模型&#xff0c;可以處理大規模的數據和復雜的問題&#x…

【Java】Queue中增加刪除方法的區別

offer&#xff0c;add 區別&#xff1a; 一些隊列有大小限制&#xff0c;因此如果想在一個滿的隊列中加入一個新項&#xff0c;多出的項就會被拒絕。 這時新的 offer 方法就可以起作用了。它不是對調用 add() 方法拋出一個 unchecked 異常&#xff0c;而只是得到由 offer() 返…

題目:售貨員的難題(狀壓dp)

售貨員的難題 題目描述輸入輸出格式輸入格式&#xff1a;輸出格式&#xff1a; 輸入輸出樣例輸入樣例#1&#xff1a;輸出樣例#1&#xff1a; 思路AC代碼&#xff1a; 題目描述 某鄉有n個村莊( 1 < n < 16 )&#xff0c;有一個售貨員&#xff0c;他要到各個村莊去售貨&am…

consul限制注冊的ip

假設當前服務器的ip是&#xff1a;192.168.56.130 1、允許 所有ip 注冊(驗證可行) consul agent -server -ui -bootstrap-expect1 -data-dir/usr/local/consul -nodedevmaster -advertise192.168.56.130 -bind0.0.0.0 -client0.0.0.0 2、只允許 當前ip 注冊 consul agent -…

Leetcode33 搜索旋轉排序數組

題解&#xff1a; /*** 旋轉排序數組可分為N1 N2兩個部分&#xff0c;如&#xff1a;[4,5,6,7,1,2,3]&#xff0c;N1為[4,5,6,7]&#xff0c;N2為[1,2,3]** 必然滿足以下兩個條件&#xff1a;* 1. N1和N2都是分別遞增的&#xff1b;* 2. N1中的所有元素大于N2中的所有元素;** …

【Python機器學習】實驗12 基于神經網絡的回歸-分類實驗

文章目錄 神經網絡的回歸例1 基于神經網絡的回歸(簡單例子)1.1 導入包1.2 構造數據集&#xff08;隨機構造的&#xff09;1.3 構造訓練集和測試集1.4 構建神經網絡模型1.5 采用訓練數據來訓練神經網絡模型 實驗1 基于神經網絡的分類(鳶尾花數據集)1.1 導入包1.2 構造數據集1.3 …

Selenium瀏覽器自動化測試框架簡單介紹

selenium簡介 介紹   Selenium [1] 是一個用于Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中&#xff0c;就像真正的用戶在操作一樣。支持的瀏覽器包括IE&#xff08;7, 8, 9, 10, 11&#xff09;&#xff0c;Mozilla Firefox&#xff0c;Safari&#xff0c;Googl…

系統學習Linux-MongoDB

概述 mongodb是一個nosql數據庫&#xff0c;它有高性能、無模式、文檔型的特點。是nosql數據庫中功能最豐富&#xff0c;最像關系數據庫的。數據庫格式為BSON 相關概念實例&#xff1a;系統上運行的mongodb的進程&#xff0c;類似于mysql實例&#xff1b;庫&#xff1a;每個數…

用cpolar生成的公網地址,對位于本地的Cloudreve網盤進行訪問

文章目錄 1、前言2、本地網站搭建2.1 環境使用2.2 支持組件選擇2.3 網頁安裝2.4 測試和使用2.5 問題解決 3、本地網頁發布3.1 cpolar云端設置3.2 cpolar本地設置 4、公網訪問測試5、結語 1、前言 自云存儲概念興起已經有段時間了&#xff0c;各互聯網大廠也紛紛加入戰局&#…

MySQL 自增 ID 默認從 1 開始,如何設置自增 ID 從 0 開始

MySQL 是一種關系型數據庫&#xff0c;它是世界上最流行的關系型數據庫之一。在 MySQL 中&#xff0c;自增是一種非常有用的功能&#xff0c;它可以自動給主鍵賦值&#xff0c;并保證每個主鍵是唯一的。然而&#xff0c;許多人不知道的是&#xff0c;MySQL 默認情況下從 1 開始…

ArcGIS Pro如何制作不規則形狀圖例

在默認的情況下&#xff0c;ArcGIS Pro生成的圖例是標準的點、直線和矩形的&#xff0c;對于湖泊等要素而言&#xff0c;這樣的表示方式不夠直觀&#xff0c;我們可以將其優化一下&#xff0c;制作不規則的線和面來代替原有圖例&#xff0c;這里為大家介紹一下制作方法&#xf…

BERT數據處理,模型,預訓練

代碼來自李沐老師《動手學pytorch》 在數據處理時&#xff0c;首先執行以下代碼 def load_data_wiki(batch_size, max_len):"""加載WikiText-2數據集"""num_workers d2l.get_dataloader_workers()data_dir d2l.download_extract(wikitext-2, w…

django——配置 settings.py 及相關參數說明

3. 配置 settings.py 及相關參數說明 3.1 配置setting.py文件 設置setting.py文件 加入安裝的庫 apps.erp_test, rest_framework, django_filters, drf_spectacular,加入新增的APP users啟動項目 # 運行項目先執行數據庫相關操作&#xff0c;再啟動 django 項目 python manag…

【JavaSE】面向對象之繼承

繼承 繼承概念繼承的語法父類成員的訪問子類和父類沒有同名成員變量子類和父類有同名成員變量成員方法名字不同成員方法名字相同 super關鍵字子類構造方法super和this繼承方式 繼承概念 繼承(inheritance)機制&#xff1a;是面向對象程序設計使代碼可以復用的最重要的手段&…

docker 安裝nacos

1、下載nacos docker pull nacos/nacos-server2、啟動nacos docker run --restart always --env MODEstandalone --name nacos -d -p 8848:8848 -p 9848:9848 -p 9849:9849 nacos/nacos-server3、驗證nacos http://localhost:8848/nacos 默認用戶名和密碼&#xff1a;nacos

lvs集群與nat模式

一&#xff0c;什么是集群&#xff1a; 集群&#xff0c;群集&#xff0c;Cluster&#xff0c;由多臺主機構成&#xff0c;但是對外只表現為一個整體&#xff0c;只提供一個訪問入口&#xff08;域名與ip地址&#xff09;&#xff0c;相當于一臺大型計算機。 二&#xff0c;集…

Java書簽 #使用MyBatis接入多數據源

楔子&#xff1a;當然&#xff0c;世上有很多優秀的女性&#xff0c;我也會被她們吸引。這對男人來說是理所當然的。但目光被吸引和內心被吸引是截然不同的。- 東野圭吾《黎明之街》 今日書簽 在一些應用場景中&#xff0c;可能需要連接多個不同的數據庫&#xff0c;例如連接不…

Centos 防火墻命令

查看防火墻狀態 systemctl status firewalld.service 或者 firewall-cmd --state 開啟防火墻 單次開啟防火墻 systemctl start firewalld.service 開機自啟動防火墻 systemctl enable firewalld.service 重啟防火墻 systemctl restart firewalld.service 防火墻設置開…

8.15 IO的多路復用

select的TCP客戶端 poll的TCP客戶端