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)