我们在托管在 Amazon EC2 实例上的 docker 容器内运行 NodeJS 应用程序。至
为了使用 Datadog 启用对 Node.js 应用程序的监控,我们正在使用 datadog-metrics 库并将其与我们的应用程序集成。我们基本上需要将以下 Javascript 代码保存到名为 example_app.js 的文件中
var metrics = require('datadog-metrics');
metrics.init({ **host: 'myhost', prefix: 'myapp.'** });
function collectMemoryStats() {
var memUsage = process.memoryUsage();
metrics.gauge('memory.rss', memUsage.rss);
metrics.gauge('memory.heapTotal', memUsage.heapTotal);
metrics.gauge('memory.heapUsed', memUsage.heapUsed);
metrics.increment('memory.statsReported');
}
setInterval(collectMemoryStats, 5000);
虽然,我们能够成功地将指标发布到 datadog,但我们想知道这是否可以自动化。我们希望将其构建到我们的 docker 映像中,因此需要一种自动方式来获取主机名,如果可能的话,至少能够使用 docker 主机名。因为到目前为止我们手动指定“myhost”和“myapp” " 手动设置值。将 AWS 实例主机名值提取到 %myhost 中的更好方法是什么?