使用Terraform管理Datadog

手动管理Datadog是一个非常繁琐且容易出错的过程。

针对Datadog的API编写自动化工具将带来很多好处,但付出的代价是巨大的。

幸运的是,有更好的方法。 更好的方法。 这样可以通过Terraform 管理Datadog ,从而为您免费提供自动化 (以及更多)。

Terraform帮助您管理Datadog的方法

  • 在几秒钟内对所有Datadog组件进行可靠的扫描更改。 无论您是一台,十台还是一百台显示器,运行Terraform所花费的时间都约为十秒钟。
  • 就像在更改代码时一样,在GitHub拉取请求中跟踪和查看对Datadog设置的更改。 并使用您喜欢的文本编辑工具编辑整个DD设置。
  • 模板化警报消息,并在监视器和时间表上重用查询。 例如,为您的显示器提供一个一致的页脚(如下所示,显示代码中的方式),其中包括指向Datadog仪表板和Kibana日志的链接,您的值班人员可以迅速解决这些问题。
  • 在几秒钟内为所有监视器和时间表设置一个新的Datadog帐户以适应新的环境。 例如,您开始使用具有唯一帐户的Datadog作为开发人员,然后为产品创建一个单独的帐户并需要对其进行配置。

您如何使用Terraform?

您使用HCL (Hashicorp的配置语言)编写配置。 您将描述所需的组件,例如“我想要一个名为disk_usage的DD监视器,用于度量system.disk.in_use,在85%或更高级别时发出警报”。 然后,TF找出并运行您的DD帐户所需的任何更改,以达到您所描述的所需状态。

虽然HCL是一种声明性语言,但它是动态的,提供诸如变量之类的功能; 计数 ; 条件; 列表和地图等类型; 内置函数,例如format(用于格式化字符串,join(连接)以使用定界符连接列表项和element(元素)以访问列表项); 和模块。 因此,除了配置语言以外,您不需要模板语言来弥补后者的缺点。 例如,当使用由YAML配置的工具时,通常需要使用诸如Jinja2之类的模板语言及其条件和循环来生成有效的YAML。 只需HCL。

您可以使用易于使用的CLI运行Terraform。 每天要运行几个Shell命令:计划并应用。 对TF进行规划,以找出您想要的与DD之间的差异,并规划达到所需状态所需的更改。 并申请在DD上运行这些更改并到达那里。

使用TF管理DD的示例

这是一个示例,显示了如何使用变量创建具有一致的警报消息,查询和阈值的监视器和时间表。 您可以按照此示例repo进行操作 。 克隆它并使用试用版的Datadog帐户运行(如果您没有同名的显示器/时间表,您自己的帐户也可以)。

下面的脚本/要旨中发生了什么:

  • 该脚本定义了两个监视器,磁盘使用率和CPU使用率。 他们共享Pagerduty和Slack警报的页脚。 时间表图表中也使用了用于监视器的查询,因此您可以直观地确认监视器是正确的,并对照其警报阈值检查每个指标的历史记录。
  • 然后,脚本定义了一个时间表,其中包含两个磁盘使用率和CPU使用率的图形。
  • 该脚本还定义了变量,因此在一个地方定义了常量值,而不是使它们乱七八糟,而必须在它们更改时进行挖掘。

您可以阅读Terraform的Datadog提供程序文档以了解API的详细信息。

使用Terraform! 越早越好

Terraform是支付复利的工具。 您首先需要进行少量投资,例如Datadog,Kubernetes和AWS。 尽管可以单独管理它们,但是通过将它们连接在一起,您可以在模块中组成服务的基础结构。 现在,您可以轻松扩展每个环境的所有基础架构-开发,分段,生产(甚至每个IaaS-AWS和GCP)。

Terraform是有史以来最好的操作工具之一。 如果您知道它在那里并且不使用它,则说明您是受虐狂。 即使使用Datadog,它也是一个很大的福音。

请在@travisjeffery打个招呼

如果您觉得有用,请点按👏,并随时分享。

谢谢阅读。

From: https://hackernoon.com/managing-datadog-with-terraform-89abe0eb62f5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值