SaltStack - ระบบเหตุการณ์

ระบบอีเวนต์ใน Salt เป็นอินเทอร์เฟซ ZeroMQ PUB ในพื้นที่ซึ่งยิงเหตุการณ์ที่เป็นเกลือ ดำเนินการโดยส่วนประกอบต่อไปนี้

  • Event Sockets - ใช้เพื่อเผยแพร่กิจกรรม

  • Event library - ใช้เพื่อฟังเหตุการณ์และส่งเหตุการณ์เข้าสู่ระบบเกลือ

กิจกรรม Salt Master

ผู้เชี่ยวชาญด้านเกลือจัดเตรียมเหตุการณ์ประเภทต่างๆซึ่งมีรายละเอียดอธิบายไว้ด้านล่าง -

  • เหตุการณ์การพิสูจน์ตัวตน
  • เริ่มกิจกรรม
  • เหตุการณ์สำคัญ
  • งานอีเว้นท์
  • กิจกรรมนักวิ่ง
  • เหตุการณ์การแสดงตน
  • เหตุการณ์บนคลาวด์

ให้เราดูรายละเอียดของเหตุการณ์แต่ละประเภท

เหตุการณ์การพิสูจน์ตัวตน

เหตุการณ์การพิสูจน์ตัวตนเหล่านี้เริ่มทำงานเมื่อมินเนี่ยนทำการตรวจสอบการพิสูจน์ตัวตนกับมาสเตอร์ แสดงโดย salt / auth

เริ่มกิจกรรม

เหตุการณ์เริ่มต้นจะเริ่มขึ้นเมื่อใดก็ตามที่มินเนี่ยนเชื่อมต่อกับซอลท์มาสเตอร์และมันจะแสดงด้วย salt / minion // start

เหตุการณ์สำคัญ

เหตุการณ์สำคัญจะเริ่มขึ้นเมื่อนายเกลือยอมรับและปฏิเสธกุญแจของมิเนียนเกลือ คุณสามารถเข้าถึงเหตุการณ์นี้ได้โดยใช้คำสั่ง salt-key

กิจกรรมงาน

เหตุการณ์งานจะถูกไล่ออกทุกครั้งที่งานใหม่กำลังจะเริ่มขึ้น มันแสดงโดยsalt/job//new. ที่นี่ JID - Job id new - new job

กิจกรรมนักวิ่ง

เมื่อนักวิ่งเริ่มดำเนินการเหตุการณ์นักวิ่งจะเริ่มขึ้น แสดงโดย salt / run // new

เหตุการณ์การแสดงตน

เมื่อมินเนี่ยนเชื่อมต่อหรือเชื่อมต่อใหม่หรือตัดการเชื่อมต่อเหตุการณ์นี้จะเริ่มทำงานในช่วงเวลาปกติ แสดงโดย -salt/presence/present และ salt/presence/change. ที่นี่

  • Present - หมายถึง Salt master เชื่อมต่อกับรายชื่อมินเนี่ยน

  • Change - ใช้ตรวจจับมินเนี่ยนตัวใหม่ - เชื่อมต่อหรือตัดการเชื่อมต่อ

เหตุการณ์บนคลาวด์

เหตุการณ์ Salt-Cloud ถูกยิงบนเครื่องเสมือน มินเนี่ยนจะไม่ดำเนินการ คุณสามารถเข้าถึงได้โดยใช้ -salt/cloud//creating. จะเริ่มทำงานเมื่อ Salt cloud เริ่มกระบวนการเรียกใช้เครื่องเสมือน

เครื่องมือเหตุการณ์

ตอนนี้ให้เราดูเครื่องมือเหตุการณ์และสคริปต์ คุณสามารถเข้าถึงบัสเหตุการณ์โดยใช้ CLI เข้าถึงได้โดยคำสั่งต่อไปนี้

salt-run state.event pretty = True

ที่นี่รันเนอร์ได้รับการออกแบบมาเพื่อโต้ตอบกับบัสเหตุการณ์จากเครื่องมือภายนอกและเชลล์สคริปต์ รถบัสเหตุการณ์ของ Salt สามารถเข้าถึงได้จากระยะไกลผ่านทางREST API. แสดงโดย - (URL ตัวอย่าง)

curl -SsNk https://salt-api.example.com:8000/events?token = 05A3.

ในทำนองเดียวกันคุณสามารถเข้าถึงเหตุการณ์จากสคริปต์ Python ได้เช่นกัน