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: 12月 11, 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 © 2025 · Enterprise Pro Theme on Genesis Framework · WordPress · Log in