我們都知道elk是十分的強大,但beats組件的加入,不但降低了elk擴展功能的部署門檻,也大大提高了部署效率。今天我們就來介紹beats組件中的metricbeat。
那么metricbeat是什么東西呢?我想在電腦面前正在百度或谷歌面前的你是有所了解。沒錯metricbeat是一個輕量型指標采集器。他用於收集從系統和服務的指標,他能以一種輕量型的方式,輸送各種系統和服務的統計數據,從CPU到內存到磁盤IO,從Redis到nginx,不一而足。(這里不過多的描述metricbeat的全面功能,附上官網的連接,大家可以更加深入的了解,了解他能夠為你解決什么樣的需求:https://www.elastic.co/cn/beats/metricbeat)
下面正式進行部署環節,首先我當前的環境已經提前部署了logstah、elsticsearch、kibana。
192.168.30.113:部署kibana與elsticsearch(版本均為6.8.1)
192.168.30.116:部署logstash與elsticsearch(版本均為6.8.1)
=========================下載軟件過程========================
部署方式有以下幾種(本次系統環境為CENTOS7 64位、微軟環境為serer2008 64位):
1、 yum源安裝方式(不推薦,下載軟件的速度太慢):
在/etc/yum.repo.d/目錄下創建一個elk.repo的源文件,將以下內容粘貼進去並保存退出(當前版本為7.x,可以人為的修改成6.x版本,只需要將其中的7換成6即可)。
[elastic-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
2、 通過RPM包安裝(推薦,通過電腦本地下載速度快,方便后期升級):
下載地址:https://www.elastic.co/cn/downloads/past-releases/metricbeat-6-8-1,(這里我們下載rpm 64與windows 64)
3、 通過tar包進行安裝(不推薦,):下載地址同樣如2所示;
=======================部署軟件過程========================
首先將下載好的軟件,傳至對應的服務器(這里我們挑選兩台linux、兩台windows)
上傳軟件過程不在這里過多描述。
兩台windows:192.168.30.107、192.168.30.115
兩台centos:192.168.30.113、192.168.30.116
window部署過程(另一台windows部署過程同下):
l 將metricbeat軟件解壓至c:program files;
l 修改配置文件
l 在管理員powershell中注冊metricbeat系統服務
如果遇到禁止執行腳本,繼續在powershell中輸入get-executionpolicy查看輸出策略是不是Restricted,如果是,執行set-executionpolicy remotesigned即可。如下:
當腳本執行權限打開時,即可執行./install-service-metricbeat.ps1注冊系統服務。如下
l 啟動服務
start-service metricbeat
l 查看服務運行狀態
在powershell中執行netstat -an查看網絡連接狀態;這個時候說明我們的程序運行時成功的,在計算機管理-服務中也發現了metricbeat。
l 查看kibana連接狀態(在儀表盤中輸入system,表示查看系統性能儀表盤,也可以查看其他服務的儀表盤,但當前環境僅對系統服務進行檢測)
在圖中我們可以看到當前被監測主機的總數、內存使用情況等。
l 下面我們在另一台windows機器上配置,過程省略(過程同上)結果如下:
linux部署過程:
l 安裝軟件:[root@log ~]# rpm -ivh metricbeat-6.8.1-x86_64.rpm
l 修改配置文件:[root@log ~]# vim /etc/metricbeat/metricbeat.yml 並保存退出。配置如下:
l 啟動服務:
因為metricbeat默認是開啟系統監測模塊的,所以我們直接啟動服務即可。同時我們也可以查看metricbeat支持的監測模塊;
[root@log ~]# ls /etc/metricbeat/modules.d/ \\也可以通過該命令查看
[root@log ~]# service metricbeat start \\啟動服務
[root@log ~]# systemctl enable metricbeat \\添加開機啟動項
[root@log ~]# netstat -anpt | grep 5601 \\查看端口監聽情況
l 查看kibana:如圖所示,log.server就是我們剛剛添加的linux機器
l 下面我們在另一台服務器上面部署metricbeat,過程同上(省略)。
===================至此多系統多機器metricbeat部署完成=============
說明:
1、 配置文件:
a) setup.dashboards.enabled: true \\加載默認的儀表盤樣式
b) host: "192.168.30.113:5601 \\設置kibana地址
c) hosts: ["192.168.30.116:9200"] \\設置elasticsearch地址
2、 關於多機器部署,擔心索引沖突:
在metricbeat中,當他收集性能指標的時候,會默認創建一個以“metricbeat-版本-日期”的索引。
多機器部署,會將所有的機器的性能指標收集過來,通過一個索引進行管理,那么通過什么區別這些機器呢?為了更好的區分這些機器,在索引中添加多個可用字段來區分,如下所示:
也就很好的解釋了為什么下圖中的機器名稱是由何而來;(建議在創建系統初期,就將系統名稱進行自定義,否則會出現下圖所示的“localhost”,不容易區分,也會造成沖突)
3、 elk未來:
隨着等級保護2.0的實施,其中要求對審計日志進行集中收集與分析、對各網絡設備、安全設備、服務器等運行狀態進行集中、實時監控。相信elk在未來會被越來越多單位使用。