定期保養

基本步驟

準備好 log 的壓縮檔(ZIP) 。

開啟 Jenkins: https://jenkins.moodle.tw or https://ci.moodle.tw 都可以, 找到 Elk22, Elk23 的頁籤。

重要參數(Elk2PVE)

Kibana Version: 請選最新版本(目前 8.10.4)

Locale: 語系(en, 因為中文需要翻譯,不會有最新版本)

doLADP, addMetricbeat: 增加 LDAP 認證, 如果是要做 log 分析不需要選

重要參數(nginx2Elk, apache2Elk)

PROJECTID: 客戶案名(大寫)

logs.zip : Apache/Nginx的log壓縮檔

sshURI: 從 Elk2PVE 拿到的 Kibana 主機 SSH URI (eg. admin@192.168.XXX.XXX)

createUser, addFilebeat: 是否建立新使者/重新安裝 Filebeat

Elastic port/ Kibana port: 預設即可.

  3. Log 上傳完成後, 進 console output, 找 *** Nginx to ELK install is done. 會看到有兩個超連結, 點第2個超連結, 就會看到 Dashboard.

Dashboard 畫面

大log檔案

改用 WinSCP 上傳到 Kibana主機, 在 nginx2Elk 指定徑:

done.


在 WinSCP 按 Ctrl + P 直接開啟 SSH console/terminal

Q+A

HeatMap缺欄位問題

hour_of_day, day_of_week

Runtime field

原使用 Scripted field 現已經棄用(deparecated), 官方建議用 Runtime Field.

PUT "localhost:5601/s/XXX/api/data_views/data_view/XXX*/runtime_field" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d'

hour_of_day

{

  "name": "hour_of_day",

  "runtimeField": {

  "type": "long",

  "script": {

     "source": "emit(doc[\u0027\u0040timestamp\u0027].value.getHour())"

   }

  }

}

day_of_week

{

  "name": "day_of_week",

  "runtimeField": {

  "type": "keyword",

  "script": {

     "source": "emit(doc[\u0027\u0040timestamp\u0027].value.dayOfWeekEnum.getDisplayName(TextStyle.SHORT, Locale.ROOT))"

   }

  }

}