Ansible:如何使用 Prometheus 自动监控新创建的 Amazon EC2 实例?

已发表: 2021-12-19
Ansible 获取 IP 列表并动态更新 Prometheus 配置

您有以下任何问题吗?

  • 使用基于文件的服务发现来发现抓取目标
  • 如何自动发现多个 IP 的使用?
  • 自动监控 EC2 实例
  • 使用 Prometheus 进行监控
  • 使用 Prometheus 监控新创建的 Amazon EC2 实例?
  • 创建 Amazon EC2 虚拟机后如何动态更新 Prometheus 目标 IP 列表文件?

Ansible 无疑是业内最好的运营自动化工具。 在 Crunchify 上,我们发表了十多篇关于众多主题的 Ansible 文章。

在本教程中,我们将介绍如何在动态创建 Amazon EC2 虚拟机后更新 Prometheus 目标 IP 列表文件。

考虑这种情况:

  1. 您正在运行 Prometheus 来监控您的生产基础设施。
    • 详细遵循 Prometheus 设置教程。
  2. 使用 ansible 生成 5 个新的 Amazon EC2 虚拟机
    • 完全按照生成新的 Amazon EC2 实例教程进行操作。
  3. 获取 5 个 IP 并在运行时更新 [crunchify] 组
    • 完全遵循 ansible hosts 文件更新组教程。
  4. 使用更新的 IP 更新crunchify_prometheus.txt文件
  5. 将文件推送到运行 prometheus 的新主机
  6. Prometheus 将动态读取这个新updated IP file
  7. 您将自动监控所有新hosts

对于步骤 4 到 7,我们将在此处介绍所有步骤。

如何在动态创建 Amazon EC2 虚拟机后更新 Prometheus 目标 IP 列表文件

详细步骤:

  1. 从组[Crunchify]下的 ansible hosts 文件中获取所有 IP 的列表。
  2. 将所有 IP 添加到文件crunchify.txt仅用于测试目的。 我们不会在接下来的步骤中使用此文件。
  3. 删除现有的 crunchify_prometheus.json 文件。
  4. 使用示例新的 prometheus IP 列表文件创建新的crunchify_prometheus.json文件。
  5. 将文件iplist中的crunchify_prometheus.json替换为 IP 列表。
  6. u'替换为'
  7. '替换为"
  8. 从运行 Prometheus 进程的远程主机中删除现有的 crunchify_prometheus.json 文件。
  9. 将文件 crunchify_prometheus.json 从本地主机复制到远程主机,以便 prometheus 可以使用它。

crunchify_prometheus_file_update.yml 文件。

执行 Ansible 剧本:

Ansible 剧本结果:

而已。 恭喜。 您已成功将新的更新文件复制到新主机,Prometheus 现在正在自动监控您新创建的 Amazon EC2 实例。

下一步是什么?

查看有关如何在 Linux 上install docker的教程。

如何在 Linux 上安装 Docker 容器? (Ubuntu 和 CentOS)