สารบัญ
- ตัวแปร UTC ที่ใช้ได้
- สูตรเงื่อนไข
- วันธรรมดาในเวลาทำการ
- เฉพาะวันหยุดสุดสัปดาห์
- นอกเวลาทำการ (กลางคืนและวันหยุดสุดสัปดาห์)
- ช่วงปิดปรับปรุง (วันเสาร์ 01:00–03:00)
- วันแรกของทุกเดือน ตอนต้นชั่วโมงพอดี
- เวลาทำการช่วงปลายไตรมาส (มี.ค./มิ.ย./ก.ย./ธ.ค.)
- ผสมเงื่อนไขเวลาเข้ากับการกรองเนื้อหา
- ใช้ตัวแปรเวลาในเทมเพลต
- ข้อควรรู้
- ขั้นตอนถัดไป
ตัวแปรเวลา UTC ที่มีมาให้ใน Echobell ช่วยให้คุณจำกัดการแจ้งเตือนไว้เฉพาะช่วงเวลาที่ต้องการ ไม่ว่าจะเป็นเวลาทำการ กะเวร on-call หรือช่วงปิดปรับปรุง โดยตั้งได้ในเงื่อนไขของช่องโดยตรง ไม่ต้องมีชั้นกรองจากภายนอก
สิ่งที่ควรรู้ก่อน: เงื่อนไข, เทมเพลต, Webhook, ทริกเกอร์อีเมล
ตัวแปร UTC ที่ใช้ได้
ตัวแปรเหล่านี้อ่านได้อย่างเดียว มีให้ใช้เสมอ และคำนวณเป็นเวลา UTC:
timezone(เป็น "UTC" เสมอ),now/iso,epochMs,epochSecondsyear,month(1–12),monthNamedayOfMonth(1–31)dayOfWeek(0–6 โดยวันอาทิตย์ = 0),dayOfWeekNamehour(0–23),minute(0–59),second(0–59)date(YYYY-MM-DD),time(HH:mm:ss)
ใช้ได้โดยตรงในเงื่อนไข (ไม่ต้องใส่ {{ }}) ส่วนในเทมเพลตให้ใช้คู่กับ {{ }}
สูตรเงื่อนไข
วันธรรมดาในเวลาทำการ
hour >= 9 && hour < 17 && dayOfWeek >= 1 && dayOfWeek <= 5
เฉพาะวันหยุดสุดสัปดาห์
dayOfWeek == 0 || dayOfWeek == 6
นอกเวลาทำการ (กลางคืนและวันหยุดสุดสัปดาห์)
(hour < 9 || hour >= 17) || dayOfWeek == 0 || dayOfWeek == 6
ช่วงปิดปรับปรุง (วันเสาร์ 01:00–03:00)
dayOfWeek == 6 && hour >= 1 && hour < 3
วันแรกของทุกเดือน ตอนต้นชั่วโมงพอดี
dayOfMonth == 1 && minute == 0
เวลาทำการช่วงปลายไตรมาส (มี.ค./มิ.ย./ก.ย./ธ.ค.)
(month == 3 || month == 6 || month == 9 || month == 12) && hour >= 9 && hour < 17 && dayOfWeek >= 1 && dayOfWeek <= 5
ผสมเงื่อนไขเวลาเข้ากับการกรองเนื้อหา
เงื่อนไขเวลาประกอบเข้ากับตัวแปรข้อมูลได้ด้วยตัวดำเนินการมาตรฐาน:
- ยกระดับเฉพาะเหตุการณ์ความรุนแรงสูงที่เกิดนอกเวลาทำการ:
((hour < 9 || hour >= 17) || dayOfWeek == 0 || dayOfWeek == 6) && (severity == "high" || severity == "critical") - เฉพาะสภาพแวดล้อมโปรดักชัน และเฉพาะวันธรรมดา:
environment == "production" && dayOfWeek >= 1 && dayOfWeek <= 5
เงื่อนไขเป็นนิพจน์ล้วน ๆ อย่าครอบด้วย {{ }} ดูเพิ่มที่เงื่อนไข → ตัวดำเนินการที่รองรับ
ใช้ตัวแปรเวลาในเทมเพลต
ตัวแปรชุดเดียวกันนี้ใช้ในเทมเพลตได้ด้วย {{ }} ซึ่งมีประโยชน์กับบันทึกตรวจสอบและข้อความยืนยันที่คนอ่านเข้าใจ:
Sent at {{date}} {{time}} {{sys.timezone}}
Today is {{sys.dayOfWeekName}}, {{sys.monthName}} {{dayOfMonth}}, {{year}}
Epoch: {{sys.epochSeconds}}
ผสมกับข้อมูลจาก Webhook หรือทริกเกอร์อีเมล:
{{service}} {{status}} at {{time}} ({{sys.timezone}})
ข้อควรรู้
- ตัวแปรระบบทั้งหมดเป็นเวลา UTC หากทีมของคุณอยู่คนละโซนเวลา ให้เผื่อค่าชดเชยเวลาไว้ตอนกำหนดช่วงชั่วโมง
- เริ่มจากช่วงเวลาง่าย ๆ ก่อน แล้วค่อยเพิ่มการกรองเนื้อหาเมื่อมันทำงานได้แล้ว
- เขียนคำอธิบายสั้น ๆ ไว้ที่ช่องว่าตรรกะของเงื่อนไขคืออะไร (เช่น "วันธรรมดา 09–17 UTC และนอกเวลาทำการเฉพาะความรุนแรงสูง")