教學課程:使用 ELK 監視 Service Fabric 應用程式
本教學課程是一個系列的第四部分。 它會顯示如何使用 ELK (Elasticsearch、Logstash 和 Kibana) 監視在 Azure 中執行的 Service Fabric 應用程式。
在本系列的第一部分中,您了解如何:
- 在 Azure 中設定 ELK 伺服器
- 設定 Logstash 以從事件中樞接收記錄
- 在 Kibana 中將平台和應用程式記錄視覺化
在本教學課程系列中,您將了解如何:
必要條件
開始進行本教學課程之前:
- 如果您沒有 Azure 訂用帳戶,請建立免費帳戶
- 設定您的應用程式以將記錄發出至在第二部分中指定的位置。
- 完成第三部分,並將執行中 Service Fabric 叢集設定為將記錄傳送至事件中樞。
- 事件中樞內具有「接聽」權限的原則,以及來自系列第三部分的相關聯主索引鍵。
下載投票應用程式範例
如果您未在本教學課程系列的第一部分中建置投票應用程式範例,可以下載它。 在命令視窗中執行下列命令,將範例應用程式存放庫複製到本機電腦。
git clone https://github.com/Azure-Samples/service-fabric-java-quickstart
在 Azure 中建立 ELK 伺服器
您可以使用為此教學課程預先設定的 ELK 環境,而如果您已經有此環境,請跳至「設定 Logstash」一節。 不過,如果您沒有此環境,下列步驟會在 Azure 中建立此環境。
在 Azure 中建立由 Bitnami 認證的 ELK。 基於本教學課程的目的,建立此伺服器時,不需遵循任何特定的規格。
在 Azure 入口網站中移至您的資源,並進入 [支援 + 疑難排解] 區段下的 [開機診斷] 索引標籤。 接下來,按一下 [序列記錄] 索引標籤。
您必須在密碼的記錄上執行搜尋,才能存取 Kibana 執行個體。 這類似於下面程式碼片段:
[ 25.932766] bitnami[1496]: ######################################################################### [ 25.948656] bitnami[1496]: # # [ 25.962448] bitnami[1496]: # Setting Bitnami application password to '[PASSWORD]' # [ 25.978137] bitnami[1496]: # (the default application username is 'user') # [ 26.004770] bitnami[1496]: # # [ 26.029413] bitnami[1496]: #########################################################################
在 Azure 入口網站中伺服器的 [概觀] 頁面上按 [連線] 按鈕,以取得登入詳細資料。
使用下列命令,透過 SSH 連線至裝載 ELK 映像的伺服器
ssh [USERNAME]@[CONNECTION-IP-OF-SERVER] Example: ssh testaccount@104.40.63.157
設定 ELK
第一步是載入 ELK 環境
sudo /opt/bitnami/use_elk
如果您使用現有的環境,則必須執行下列命令來停止 Logstash 服務
sudo /opt/bitnami/ctlscript.sh stop logstash
執行下列命令來安裝適用於事件中樞的 Logstash 外掛程式。
logstash-plugin install logstash-input-azureeventhub
使用下列內容建立或修改現有的 Logstash 組態檔:如果您要建立此檔案,它必須建立於
/opt/bitnami/logstash/conf/access-log.conf
(如果在 Azure 中使用 ELK Bitnami 映像)。input { azureeventhub { key => "[RECEIVER-POLICY-KEY-FOR-EVENT-HUB]" username => "[RECEIVER-POLICY-NAME]" namespace => "[EVENTHUB-NAMESPACENAME]" eventhub => "[EVENTHUB-NAME]" partitions => 4 } } output { elasticsearch { hosts => [ "127.0.0.1:9200" ] } }
若要驗證組態,請執行下列命令:
/opt/bitnami/logstash/bin/logstash -f /opt/bitnami/logstash/conf/ --config.test_and_exit
啟動 Logstash 服務
sudo /opt/bitnami/ctlscript.sh start logstash
檢查您的 Elasticsearch 以確定您正在接收資料
curl 'localhost:9200/_cat/indices?v'
存取 Kibana 儀表板 (網址為 http://SERVER-IP) 並輸入 Kibana 的使用者名稱和密碼。 如果您在 Azure 中使用 ELK 映像,則預設使用者名稱為 'user',而密碼則取自 [開機診斷]。
下一步
在本教學課程中,您已了解如何:
- 在 Azure 中啟動並執行 ELK 伺服器
- 將伺服器設定成從 Service Fabric 叢集接收診斷資訊
前進到下一個教學課程: