Ansible: จะตรวจสอบอินสแตนซ์ Amazon EC2 ที่สร้างขึ้นใหม่โดยอัตโนมัติโดยใช้ Prometheus ได้อย่างไร

เผยแพร่แล้ว: 2021-12-19
Ansible รับรายการ IP และอัปเดต Prometheus Config แบบไดนามิก

คุณมีคำถามด้านล่างหรือไม่?

  • ใช้การค้นหาบริการตามไฟล์เพื่อค้นหาเป้าหมายการขูด
  • จะค้นพบการใช้ IP หลายรายการโดยอัตโนมัติได้อย่างไร
  • ตรวจสอบอินสแตนซ์ EC2 โดยอัตโนมัติ
  • การตรวจสอบด้วย Prometheus
  • ใช้ Prometheus เพื่อตรวจสอบอินสแตนซ์ Amazon EC2 ที่สร้างขึ้นใหม่หรือไม่
  • จะอัปเดตไฟล์รายการ IP เป้าหมายของ Prometheus แบบไดนามิกหลังจากสร้าง Amazon EC2 VM ได้อย่างไร

Ansible ไม่ต้องสงสัยเลยว่าเป็นเครื่องมืออัตโนมัติในการดำเนินงานที่ดีที่สุดในอุตสาหกรรม บน Crunchify เราได้ตีพิมพ์บทความ Ansible มากกว่าหนึ่งโหลในหัวข้อต่างๆ มากมาย

ในบทช่วยสอนนี้ เราจะพูดถึงวิธีอัปเดตไฟล์รายการ IP เป้าหมายของ Prometheus หลังจากสร้าง Amazon EC2 VMs แบบไดนามิก

พิจารณาสถานการณ์นี้:

  1. คุณกำลังเรียกใช้ Prometheus เพื่อตรวจสอบโครงสร้างพื้นฐานด้านการผลิตของคุณ
    • ทำตามบทช่วยสอนการตั้งค่า Prometheus โดยละเอียด
  2. การใช้ ansible spawn 5 ตัวใหม่ของ Amazon EC2 VMs
    • ทำตามบทช่วยสอนอินสแตนซ์ Amazon EC2 ที่วางไข่ใหม่อย่างสมบูรณ์
  3. รับ 5 IP และอัปเดตกลุ่ม [crunchify] ที่รันไทม์
    • ทำตามบทช่วยสอนกลุ่มการอัปเดตไฟล์โฮสต์ ansible อย่างสมบูรณ์
  4. อัปเดตไฟล์ crunchify_prometheus.txt ด้วย IP ที่อัปเดตแล้ว
  5. พุชไฟล์ไปยังโฮสต์ใหม่ที่คุณมีโพรมีธีอุสทำงานอยู่
  6. Prometheus จะอ่าน updated IP file ใหม่นี้แบบไดนามิก
  7. คุณจะมี hosts ใหม่ทั้งหมดตรวจสอบโดยอัตโนมัติ

สำหรับขั้นตอนที่ 4 ถึง 7 เราจะดำเนินการตามขั้นตอนทั้งหมดที่นี่

วิธีอัปเดตไฟล์รายการ IP เป้าหมายของ Prometheus หลังจากสร้าง Amazon EC2 VMs แบบไดนามิก

ขั้นตอนโดยละเอียด:

  1. รับรายการ IP ทั้งหมดจากไฟล์โฮสต์ ansible ภายใต้กลุ่ม [Crunchify]
  2. เพิ่ม IP ทั้งหมดลงในไฟล์ crunchify.txt เพื่อการทดสอบเท่านั้น เราจะไม่ใช้ไฟล์นี้ในขั้นตอนต่อไป
  3. ลบไฟล์ crunchify_prometheus.json ที่มีอยู่
  4. สร้างไฟล์ crunchify_prometheus.json ใหม่พร้อมตัวอย่างไฟล์รายการ Prometheus IP ใหม่
  5. แทนที่ iplist จากไฟล์ crunchify_prometheus.json ด้วยรายการ IP
  6. แทนที่ u' ด้วย '
  7. แทนที่ ' ด้วย " .
  8. ลบไฟล์ crunchify_prometheus.json ที่มีอยู่จากรีโมตโฮสต์ที่กระบวนการ Prometheus ทำงานอยู่
  9. คัดลอกไฟล์ crunchify_prometheus.json จากโลคัลโฮสต์ไปยังรีโมตโฮสต์เพื่อให้โพรมีธีอุสใช้งานได้

ไฟล์ crunchify_prometheus_file_update.yml

ดำเนินการ Ansible Playbook:

ผลลัพธ์ Playbook Ansible:

แค่นั้นแหละ. ยินดีด้วย. คุณคัดลอกไฟล์ที่อัปเดตใหม่ไปยังโฮสต์ใหม่สำเร็จแล้ว และตอนนี้ Prometheus กำลังตรวจสอบอินสแตนซ์ Amazon EC2 ที่คุณสร้างขึ้นใหม่โดยอัตโนมัติ

อะไรต่อไป?

ดูบทช่วยสอนเกี่ยวกับวิธีการ install docker บน Linux

จะติดตั้ง Docker Container บน Linux ได้อย่างไร? (อูบุนตูและ CentOS)