SIOS SANless clusters

SIOS SANless clusters High-availability Machine Learning monitoring

  • Home
  • 產品
    • SIOS DataKeeper for Windows
    • SIOS Protection Suite for Linux
  • 新闻与活动
  • 伺服器集群简单化
  • 成功案例
    • 台灣成功案例
  • 聯繫我們
  • English
  • 中文 (中国)
  • 中文 (台灣)
  • 한국어
  • Bahasa Indonesia
  • ไทย

使用Datadog進行Amazon EC2監控? 與SIOS AppKeeper配對以進行自動修復

Date: 11 12 月, 2020

Amazon EC2監控SIOS AppKeeper

使用Datadog進行Amazon EC2監控? 與SIOS AppKeeper配對以進行自動修復

您是否曾經想過:“如果Datadog能夠監視我們的Amazon EC2服務並在檢測到故障時自動重新啟動它們,那將是一件很好的事嗎?”我也有同樣的想法,因此決定自己嘗試一下。

SIOS AppKeeper會自動監視Amazon EC2實例的故障,並在檢測到故障時自動重啟實例甚至重啟服務。我心想:“如果將Datadog的監視功能與AppKeeper的自動修復功能結合起來,該怎麼辦?”

它有效,這就是我的工作方式。

如果您已經在使用Datadog,並且有興趣自己嘗試一下,請在本文結尾處註冊以訪問我們的API。

這是我設置AppKeeper以便從Datadog接收警報並在檢測到停機時重新啟動Amazon EC2上的Web服務器的步驟。

為了成功運行此實驗,我們已經在Amazon EC2(使用Linux 2)上運行了Datadog帳戶,AppKeeper帳戶和NGINX Web服務器。

如何將Datadog與AppKeeper集成以提供自動修復

第一步:從AppKeeper獲取重啟API令牌

通過以下表單請求用於Datadog集成的API令牌:

https://mk.sios.jp/BC_AppKeeper_Datadog_api_application

如果您從表單中請求,令牌將被發送到您提供的電子郵件地址。

第二步:在AppKeeper中創建租戶

下一步是在AppKeeper中註冊受監視實例所屬的AWS賬戶。 (AppKeeper將註冊的AWS賬戶稱為“租戶”。)

https://sioscoati.zendesk.com/hc/zh-CN/articles/900000123406-Quick-Start-Guide#h_39404cfb-4a76-450f-99c2-e197cc63e50d

第三步:在AWS中創建IAM角色

然後,我在AWS中創建了一個IAM角色(您需要使用它來設置AppKeeper帳戶)。如果您不熟悉此過程,請按以下說明進行操作。

第四步:在AppKeeper中添加租戶

下一步是在AppKeeper中添加“租戶”(AppKeeper認為AWS賬戶為“租戶”)。這是有關執行此操作的詳細說明的鏈接。

第五步:在Datadog中設置綜合測試

然後,我需要為我們要監視的Nginx服務器(EC2實例)配置Datadog的輪廓監視。方法如下:

打開Datadog儀表板,然後從菜單中選擇UX監視>綜合測試。

單擊[New Test]右上角的按鈕,然後選擇[New API Test]創建輪廓監視案例。

在表單中輸入以下信息以創建概要監視案例。

  1. 選擇請求類型
    選擇“ HTTP”。
  2. 定義請求:
    設置以下值。
    網址:獲取http:// {{{EC2 IP地址}}
    名稱:AppKeeper Datadog集成測試(任何名稱)
    地點:東京

3。 指定測試頻率
沒變化

4。 定義斷言
點擊“新斷言”並設置以下值

什麼時候 :

[status code][is][200]
5, 定義警報條件
沒變化

6。通知您的團隊
沒變化

第六步:在Datadog中運行綜合測試

完成上述輸入後,請按“創建測試”以創建用於外部監視的測試用例。

結果可見,我們可以在“測試結果”部分中看到網絡服務器正常工作。

這就是使用Datadog配置Synthetics監視所需要做的全部工作。

第七步:將AppKeeper設置為接收合成警報

接下來,我必須將AppKeeper設置為通知目標。從Datadog菜單中,轉到Integrations,然後選擇Integrations選項卡。

在搜索框中,輸入“ Webhooks”以查找Webhooks集成。

單擊“可用”以在您的Datadog帳戶中啟用Webhooks集成。 (一旦啟用,它將顯示在“已安裝”列中。)

單擊“配置”以打開Webhooks集成配置頁面。

在頁面底部的“ Webhooks”列中,單擊“新建+”以創建新的Webhooks通知目標。 對於參數,輸入以下內容

名稱:集成名稱(任何名稱)

網址:https://api.appkeeper.sios.com/v2/integration/ {{AWS賬戶ID}} / actions / recover

有效載荷

{

“ instanceId”:“ {{EC2實例ID}}”,

“名稱”:“ nginx”

}

自定義標題:選中該複選框並輸入以下內容

{
“內容類型”:“應用程序/ json”,
“ accept”:“ application / json”,
“ appkeeper-integration-token”:“ {{獲取AppKeeper外部集成令牌}}中獲得的令牌”
}

完成後,按“保存”。

第八步:將AppKeeper連接到綜合測試

接下來,我必須配置AppKeeper(註冊的Webhooks集成),以便在發生Synthetics監視警報時調用它。

從菜單的“ UX監視”>“綜合測試”中打開在“使用Datadog配置綜合監視”中設置的測試用例。

從右上方的變速箱中選擇“編輯測試詳細信息”,然後在“ 5.輸入以下值”中輸入以下值。 通知您的團隊”框以保存更改。

@webhook-{{Datadog中Webhook集成的名稱}}

※您可以設置“如果顯示器尚未解決則重新通知”。如果AppKeeper第一次無法恢復,則可以重試。測試不是必需的,但是我們建議您將其設置為([10 minutes]最小間隔)。

安裝完成。

第九步:通過再次運行測試來確認集成

然後,我確認如果Datadog檢測到它關閉,AppKeeper將還原Web服務器。

打開您剛剛從Datadog中的UX監視>綜合測試中設置的綜合監視測試用例。

單擊右上角的“恢復測試”,然後打開“合成”監視。

現在,Datadog將定期執行Synthetics監視。

測試結果表明服務器已成功訪問。

接下來,我創建了網絡服務器的偽故障,以測試AppKeeper的自動修復。

由於很難造成真正的失敗,因此我停止了該服務,並造成了無法查看網頁的情況。為此,我連接到使用SSH安裝Nginx服務器並停止Nginx的EC2實例。

sudo systemctl停止nginx

短暫等待後,Datadog檢測到Web服務器不再可訪問。

Datadog中的“綜合測試”頁面還顯示測試用例失敗。

如果測試用例失敗,Datadog將通知AppKeeper Synthetics監視失敗。

當AppKeeper收到通知時,它將自動嘗試重新啟動Nginx。

因此,如果您稍等片刻,就會發現Datadog的Synthetics監控檢查將再次通過。

另外,如果您登錄到AppKeeper儀表板,則會看到恢復已執行。

–

在本練習中,我以Web服務器(Nginx)為例,通過Datadog自動執行檢測故障並通過AppKeeper恢復服務的過程。

通過將Datadog與EventBridge和Lambda集成或創建自定義腳本,可以實現類似的自動化。

但是,如果您經常添加目標實例或重新啟動各種服務,則維護EventBridge和Lambda或腳本的成本和復雜性將會增加。

AppKeeper已與Datadog進行了可靠的集成,並且您可以輕鬆地將目標實例添加到應用程序中,從而可以輕鬆地將自動化添加到DevOps環境中以減少停機時間。

如果您當前正在使用Datadog,並且想試用AppKeeper的Restart API,請先在此處註冊我們的14天免費試用版(安裝免費試用版後即可購買訂閱)。然後單擊此處以請求免費試用。 我們將引導您完成整個過程,並為您提供免費的評估令牌,以幫助您入門。

申請評估令牌

謝謝。我希望您能藉此機會更多地了解SIOS AppKeeper,它可以自動監視和恢復在EC2上運行的應用程序。

-SIOS Technology技術團隊的Tatsuya Hirao。

經SIOS許可轉載

Copyright © 2021 · Enterprise Pro Theme on Genesis Framework · WordPress · Log in