初探Ingest Management Part2

上篇約略介紹了Ingest Management的架構以及安裝注意事項,本篇要來談一下Elastic Agent。

下面是官方的對於Elastic Agent的定位說明。

Elastic Agent is a single, unified way to add monitoring for logs, metrics, and other types of data to each host.

在Elastic Agent還沒有出現之前,我們都會選擇安裝Beats來收取被控端的data,官方提供了很多Beats可以使用,每一個Beats的應用面向皆有不同,所以當我們要在被控端收取不同功能時,就得要安裝一個以上的Beats,並且為他們設定不同的configuration。

而Elastic Agent統整了安裝流程,並且把各種不同應用面向稱作Integrations,套用在同一個Agent configuration上。

Server side - Agent Configuration

我們可以在Kibana UI上定義多個agent configuration

Ingest Manager - agent config

Server side - Integration

在config裡可以定義多個Integration

Ingest Manager - default config

新增integration時可以選擇自己想要的功能來安裝,目前有37種可以選擇。

Ingest Manager - add integration

system integration裡面可以看到預設會收取log及metrics,可以聯想到filebeatmetricbeat

Ingest Manager - system integration

所以我們可以在Agent Configurations來view config,會發現他把filebeatmetricbeat統一成一個config

Ingest Manager - system integration

Client side

在client端可以使用elastic-agent inspect這個指令來查看目前的config

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
root@microk8s:~# elastic-agent inspect
Action ID: c5d853eb-7457-4b1f-96f6-333779fa3d86
agent:
monitoring:
enabled: true
logs: true
metrics: true
use_output: default
id: f44506e0-fceb-11ea-9a55-ef3977596193
inputs:
- data_stream:
namespace: default
id: 037d0db0-fcec-11ea-9a55-ef3977596193
meta:
...

elastic-agent安裝運作的path預設是在/var/lib/elastic-agent/

1
2
3
4
5
6
7
8
9
10
root@microk8s:~# cd /var/lib/elastic-agent/
root@microk8s:/var/lib/elastic-agent# ls -al
total 24
drwxr-xr-x 6 root root 4096 Sep 30 16:13 .
drwxr-xr-x 39 root root 4096 Sep 30 13:59 ..
-rw------- 1 root root 0 Sep 30 15:43 agent.lock
drwxr-xr-x 2 root root 4096 Sep 30 15:42 downloads
drwxr-xr-x 4 root root 4096 Sep 30 16:48 install
drwx------ 3 root root 4096 Oct 1 17:35 logs
drwxr-x--- 3 root root 4096 Sep 30 16:13 run

觀察downloads資料夾可以得知elastic-agent的確下載了filebeatmetricbeat這兩個beats來執行任務

1
2
3
4
5
6
7
8
root@microk8s:/var/lib/elastic-agent# ls -al downloads/
total 68340
drwxr-xr-x 2 root root 4096 Sep 30 15:42 .
drwxr-xr-x 6 root root 4096 Sep 30 16:13 ..
-rw-r--r-- 1 root root 31148669 Sep 2 03:43 filebeat-7.9.1-linux-x86_64.tar.gz
-rw-r--r-- 1 root root 164 Sep 2 03:43 filebeat-7.9.1-linux-x86_64.tar.gz.sha512
-rw-r--r-- 1 root root 38812172 Sep 2 03:50 metricbeat-7.9.1-linux-x86_64.tar.gz
-rw-r--r-- 1 root root 166 Sep 2 03:50 metricbeat-7.9.1-linux-x86_64.tar.gz.sha512

結論

Elastic Agent的確簡化了過往安裝各式各樣Beats與設定的難度,並且搭配Ingest Manager達成了集中管理的功能,對於管理者來說無非是一個非常有用的解決方案,期待官方可以提供更多的Integration。