iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
0
Elastic Stack on Cloud

ES 新手,破門而入!!!系列 第 11

【ES新手,破門而入!】Day11 - 深入 Logs 之趴特A

你可以學到?

接下來兩天,我們將從實作中更深入了解日誌(Log),學到透過 Filebeat 傳送 Log 的資料到 Elastic cloud,接著使用 Kibana 分析並視覺化日誌資料。

本篇的主題包含有:

  1. 日誌基礎

那我們就開始吧!

動手實作 EP7:日誌基礎

Observability 基礎的官方教學資源可以參考這邊:https://www.elastic.co/training/introduction-to-observability---logging

  1. 一開始開啟練習用的 VM 和 Day7 一樣,按下 Start Course,稍等一下後就會出現練習用的 VM 視窗在新的瀏覽器分頁。

破門而入!Filebeat 與 日誌!!

這一部分的實作,我們將可以學到:

  • 使用 Filebeat 是讀取 NGINX 日誌多麼容易
  • 了解資料讀取的 pipelines
  1. 先在 Elastic cloud 創建一個設置,如果忘記的話可以參考 Day2 的部分,這次我們設置的名稱就取做 test_log 吧!

  1. 我們先到面板左邊,選 Elasticsearch 後,點選 Enable 來啟用監控。

  1. 勾選 test_log 這個群集(cluster),然後按下 Save,這樣就啟用監控了。在正式營運時,一般會建議監控的 Elasticsearch 群集和主要營運的群集分開(避免服務掛掉的時候,負責監控的一起掰掰,無法正確紀錄錯誤並且警示)。

  1. 如果想要開啟 Kibana,只要點選左邊面板後,選擇 Kibana,並按下 Launch 就會開啟(以前好像需要再填入帳號密碼,但是現在 Kibana 的服務就會自動連動登入了)。

  2. 再來回到 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

  1. 接著修改 filebeat.yml 的檔案,加入兩行資訊,cloud.id 的資訊可以從 Elastic cloud 剛才建立的設置頁面找到,而 cloud.auth 就是下載下來的帳號密碼:
cloud.id:
cloud.auth:

  1. 開啟 nginx 的 module 後,啟動 filebeat:
./filebeat modules enable nginx
./filebeat setup
./filebeat -e

  1. Kibana 的 Console 頁面,點 Dashboard,查詢 nginx,點開先建立好的視覺化面板。

  1. 若我們要對 Log 做更多操作分析的話呢?先到 ManagementDev Tools,先來做個查找目前的文件。

  1. 再來接入兩個 pipeline:
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"
      }
    }
  ]
}

  1. 最後我們來看看把新增的內容,放進去後,得到的結果吧!
PUT my_index/_doc/my_id?pipeline=add_geoip
{
  "clientip": "8.8.8.8"
}

GET my_index/_doc/my_id

今日心得與短結

挖~真的越來越深入了,也藉由這麼多次反覆的練習,越來越了解各個步驟是怎麼一回事啦!

今天我們再次操作了 Filebeat 和 Log,更進一步延伸使用了 pipeline 了!明天我們再接下去更深入的實作吧!


上一篇
【ES新手,破門而入!】Day10 - 眼見為憑!Observability 基礎之趴特佛
下一篇
【ES新手,破門而入!】Day12 - 深入 Logs 之趴特B
系列文
ES 新手,破門而入!!!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言