接下來兩天,我們將從實作中更深入了解日誌(Log),學到透過 Filebeat 傳送 Log 的資料到 Elastic cloud,接著使用 Kibana 分析並視覺化日誌資料。
本篇的主題包含有:
那我們就開始吧!
Observability 基礎的官方教學資源可以參考這邊:https://www.elastic.co/training/introduction-to-observability---logging
Start Course
,稍等一下後就會出現練習用的 VM 視窗在新的瀏覽器分頁。這一部分的實作,我們將可以學到:
Elasticsearch
後,點選 Enable
來啟用監控。Save
,這樣就啟用監控了。在正式營運時,一般會建議監控的 Elasticsearch 群集和主要營運的群集分開(避免服務掛掉的時候,負責監控的一起掰掰,無法正確紀錄錯誤並且警示)。如果想要開啟 Kibana,只要點選左邊面板後,選擇 Kibana,並按下 Launch
就會開啟(以前好像需要再填入帳號密碼,但是現在 Kibana 的服務就會自動連動登入了)。
再來回到 VM terminal 的介面,先用下面指令來安裝 Filebeat。
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.2-linux-x86_64.tar.gz
tar -xzf filebeat-7.6.2-linux-x86_64.tar.gz
cd filebeat-7.6.2-linux-x86_64
cloud.id
的資訊可以從 Elastic cloud 剛才建立的設置頁面找到,而 cloud.auth
就是下載下來的帳號密碼:cloud.id:
cloud.auth:
./filebeat modules enable nginx
./filebeat setup
./filebeat -e
Dashboard
,查詢 nginx,點開先建立好的視覺化面板。Management
下 Dev Tools
,先來做個查找目前的文件。PUT _ingest/pipeline/setter
{
"description": "sets an object",
"processors": [
{
"set": {
"field": "attrs.env",
"value": "dev"
}
},
{
"set": {
"field": "attrs.zone",
"value": "us-west"
}
}
]
}
PUT _ingest/pipeline/add_geoip
{
"description" : "Add geoip info",
"processors" : [
{
"geoip": {
"field": "clientip"
}
}
]
}
PUT my_index/_doc/my_id?pipeline=add_geoip
{
"clientip": "8.8.8.8"
}
GET my_index/_doc/my_id
挖~真的越來越深入了,也藉由這麼多次反覆的練習,越來越了解各個步驟是怎麼一回事啦!
今天我們再次操作了 Filebeat 和 Log,更進一步延伸使用了 pipeline 了!明天我們再接下去更深入的實作吧!