งาน Cron ล้มเหลวอย่างเงียบ ๆ สคริปต์สำรองข้อมูลหยุดทำงานหลังจากย้ายเซิร์ฟเวอร์ การหมุนเวียนรหัสผ่านขัดขวางการนำเข้าทุกคืน หรือดิสก์เต็มทำให้งานใบแจ้งหนี้หยุดทำงานตอนตี 3 ไม่มีอะไรหยุดทำงาน ดังนั้นการตรวจสอบสถานะการออนไลน์ปกติจะเป็นสีเขียว และคุณจะพบเพียงสัปดาห์ต่อมาเมื่อคุณต้องการการสำรองข้อมูล หรือลูกค้าถามว่าใบแจ้งหนี้ของพวกเขาอยู่ที่ไหน การตรวจสอบการเต้นของหัวใจจะช่วยปิดช่องว่างดังกล่าว คู่มือนี้จะแสดงวิธีการทำงานและวิธีตั้งค่าโดยไม่เสียค่าใช้จ่ายภายในไม่กี่นาที
การตรวจสอบการเต้นของหัวใจคืออะไร?
การตรวจสอบสถานะการออนไลน์ปกติจะตรวจสอบเว็บไซต์ของคุณจากภายนอก เครื่องวัดการเต้นของหัวใจทำงานในทางกลับกัน: งานที่กำหนดเวลาไว้ของคุณเช็คอิน คุณจะได้รับ URL ที่ไม่ซ้ำใคร และงานของคุณจะถูกเรียกใช้ทุกครั้งที่งานเสร็จสิ้น หากสายโทรเข้าไม่ตรงเวลา จอภาพจะรู้ว่ามีสิ่งผิดปกติเกิดขึ้นและแจ้งเตือนคุณ
สิ่งนี้จะตรวจจับความล้มเหลวแบบเงียบ ๆ ทุกรูปแบบในคราวเดียว:
- งานไม่เคยเริ่มเลย รายการ
crontabสูญหาย เซิร์ฟเวอร์รีบูตโดยไม่มีตัวกำหนดตารางเวลา หรือคอนเทนเนอร์ถูกแทนที่ - งานก็ตก. เกิดข้อผิดพลาดหยุดสคริปต์ก่อนที่จะถึงจุดสิ้นสุด
- งานค้าง. มันเริ่มต้นแต่ติดอยู่ในฐานข้อมูลที่ถูกล็อคหรือ API ที่ช้าและไม่มีวันเสร็จสิ้น
- เซิร์ฟเวอร์ทั้งหมดหายไป ไม่มีเซิร์ฟเวอร์ ไม่มี Ping ดังนั้นคุณจึงได้ยินเกี่ยวกับเรื่องนี้แม้ว่าจะไม่มีอะไรดูอยู่ก็ตาม
งานตามกำหนดการใดที่คุณควรติดตาม?
เริ่มต้นด้วยงานที่ทำให้คุณเสียค่าใช้จ่ายมากที่สุดเมื่อพวกเขาหยุดโดยไม่มีใครสังเกตเห็น:
- การสำรอง ฐานข้อมูลและไฟล์ ข้อมูลสำรองที่คุณไม่เคยตรวจสอบคือข้อมูลสำรองที่คุณอาจไม่มี
- สคริปต์ การเรียกเก็บเงินและการออกใบแจ้งหนี้ การต่ออายุการสมัคร และการกระทบยอดการชำระเงิน
- การนำเข้าและการซิงค์ข้อมูล ระหว่างร้านค้า, CRM, คลังสินค้า หรือฟีดซัพพลายเออร์
- คิวอีเมลและจดหมายข่าว ที่ส่งโดยผู้ปฏิบัติงานตามกำหนดเวลา
- งาน ต่ออายุใบรับรอง เช่น การต่ออายุ SSL อัตโนมัติ และงานล้างข้อมูลที่ทำให้ดิสก์ไม่เต็ม
- WordPress หรือแอปพลิเคชัน cron ที่เผยแพร่โพสต์ตามกำหนดเวลาและดำเนินการบำรุงรักษา
แผนฟรีประกอบด้วยจอภาพฮาร์ทบีท 5 เครื่อง ซึ่งเพียงพอที่จะครอบคลุมงานสำคัญของธุรกิจขนาดเล็กทั่วไปหรือไซต์ลูกค้าจำนวนหนึ่ง
วิธีตั้งค่าการตรวจสอบงาน cron ฟรี
1. สร้างบัญชีฟรี
ลงทะเบียนเพื่อ My Site Alerts ด้วยที่อยู่อีเมลของคุณ ไม่มีบัตรเครดิตและไม่มีช่วงทดลองใช้งาน
2. สร้างการเต้นของหัวใจ
เปิดฮาร์ทบีทในแดชบอร์ดของคุณแล้วเลือกสร้างฮาร์ทบีท ตั้งชื่อให้ชัดเจน เช่น การสำรองฐานข้อมูลทุกคืน เพื่อให้การแจ้งเตือนแจ้งให้คุณทราบอย่างชัดเจนถึงสิ่งที่ล้มเหลว
3. กำหนดตารางเวลาที่คาดหวังและระยะเวลาผ่อนผัน
ใน Expect a heartbeat every ให้ป้อนความถี่ของงาน: ทุก 15 นาที ทุกชั่วโมง วันละครั้ง จากนั้นตั้งค่าระยะเวลาผ่อนผันเป็นระยะเวลาโดยประมาณที่งานใช้ในการดำเนินการ บวกด้วยส่วนต่างด้านความปลอดภัย การสำรองข้อมูลที่ทำงานเวลา 2:00 น. และโดยปกติจะใช้เวลา 20 นาทีต้องมีระยะเวลาผ่อนผันประมาณ 30 ถึง 40 นาที ดังนั้นคืนที่ช้าจะไม่ทำให้เกิดการแจ้งเตือนที่ผิดพลาด
4. คัดลอก URL ฮาร์ทบีทของคุณ
ทุกการเต้นของหัวใจมี URL ลับของตัวเอง งานของคุณส่งคำขอ GET หรือ POST ไปในแต่ละครั้งที่งานทำงาน คุณยังสามารถเปิด URL ในเบราว์เซอร์ของคุณหนึ่งครั้งเพื่อทดสอบได้: ฮาร์ทบีทควรเปลี่ยนเป็นขึ้น
5. เลือกตำแหน่งที่จะแจ้งเตือน
อีเมลทำงานนอกกรอบ คุณยังสามารถส่งการแจ้งเตือนไปยัง Slack, Discord, Telegram, Microsoft Teams หรือเว็บฮุคของคุณเอง เพื่อให้การวิ่งที่พลาดไปถึงจุดที่คุณมองจริงๆ
วิธี Ping การเต้นของหัวใจจากงานของคุณ
crontab
เพิ่มคำขอหลังคำสั่งของคุณ เข้าร่วมกับ && ดังนั้น ping จะถูกส่งเมื่องานสำเร็จเท่านั้น:
0 2 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 --retry 3 https://mysitealerts.com/webhook-heartbeat/YOUR-CODE ตัวเลือก -m 10 จะหยุดไม่ให้ขดค้างหากเครือข่ายช้า และ --retry 3 ครอบคลุมปัญหาการเชื่อมต่อชั่วคราว หากเซิร์ฟเวอร์ของคุณมี wget แทนที่จะเป็น curl wget -q -O /dev/null ตามด้วย URL จะทำงานเดียวกัน
ภายในสคริปต์
ใส่ ping ที่บรรทัดสุดท้ายของสคริปต์หลังจากงานจริงเสร็จสิ้น ในเชลล์สคริปต์ ให้เพิ่ม set -e ที่ด้านบนเพื่อให้คำสั่งที่ล้มเหลวหยุดสคริปต์ก่อนที่จะถึงค่า Ping ใน Python, PHP หรือ Node.js ให้ส่งคำขอ HTTP แบบง่ายไปยัง URL ฮาร์ทบีทเป็นขั้นตอนสุดท้ายของงาน
แผงควบคุมโฮสติ้ง
บนโฮสติ้งที่ใช้ร่วมกัน ให้เพิ่มคำสั่ง curl เดียวกันที่ส่วนท้ายของงาน cron ในแผงควบคุมของคุณ แผงส่วนใหญ่ให้คุณวางบรรทัดคำสั่งแบบเต็มได้ ดังนั้นรูปแบบ && เดียวกันก็ใช้งานได้เช่นกัน
เวิร์ดเพรส cron
WordPress รันงานที่กำหนดเวลาไว้เฉพาะเมื่อมีผู้เยี่ยมชมไซต์เท่านั้น เพื่อการกำหนดเวลาที่เชื่อถือได้ ให้ปิดการใช้งานทริกเกอร์ในตัว เรียก wp-cron.php จากงาน cron เซิร์ฟเวอร์จริง และเพิ่ม heartbeat ping ลงในบรรทัดเดียวกันนั้น ตอนนี้คุณรู้แล้วว่ากำหนดการเริ่มดำเนินการและเสร็จสิ้นแล้ว
ข้อผิดพลาดทั่วไปที่ทำให้เกิดการแจ้งเตือนที่ผิดพลาด (หรือพลาด)
- ปิงตอนเริ่มงาน นั่นเป็นเพียงการพิสูจน์ว่างานเริ่มต้นแล้ว ปิงในตอนท้ายหลังจากงานสำเร็จ
- ระยะเวลาผ่อนผันที่สั้นเกินไป งานจะช้าลงเมื่อข้อมูลเติบโตขึ้น ตรวจสอบระยะเวลาผ่อนผันทุกๆ สองสามเดือน
- ละเว้นเขตเวลา หากนาฬิกาของเซิร์ฟเวอร์และกำหนดการของคุณไม่ตรงกัน งานรายวันอาจดูเหมือนล่าช้าไปหนึ่งชั่วโมง ตั้งค่าช่วงเวลาที่คาดหวัง ไม่ใช่เวลานาฬิกาแขวน และปล่อยให้การทำงานครั้งแรกเริ่มจับเวลา
- ปิงบ่อยเกินไป Heartbeats ได้รับการออกแบบมาเพื่องานที่ดำเนินการมากที่สุดนาทีละครั้ง การปิงเพิ่มเติมภายในนาทีเดียวกันจะถูกละเว้น
- แบ่งปันจังหวะเดียวกันระหว่างงาน แต่ละงานต้องมี URL ของตัวเอง ไม่เช่นนั้นงานที่ดีงานหนึ่งจะซ่อนงานอีกงานหนึ่งที่หยุดทำงาน
- ลืมหยุดชั่วคราวระหว่างการบำรุงรักษา หยุดฮาร์ทบีทชั่วคราวในขณะที่คุณย้ายเซิร์ฟเวอร์ เพื่อให้ประวัติแสดงเฉพาะเหตุการณ์จริงเท่านั้น
ฮาร์ทบีททำงานได้ดีที่สุดถัดจากการตรวจสอบสถานะการออนไลน์
ฮาร์ทบีทจะบอกคุณว่างานเบื้องหลังเว็บไซต์ของคุณกำลังเกิดขึ้น การตรวจสอบสถานะการออนไลน์จะบอกคุณว่าผู้เยี่ยมชมสามารถเข้าถึงได้ พวกเขาช่วยกันครอบคลุมทั้งสองครึ่ง หากคุณยังไม่ได้ตั้งค่าการตรวจสอบเว็บไซต์ ให้ทำตามคำแนะนำของเราเกี่ยวกับ วิธีตรวจสอบสถานะการออนไลน์ของเว็บไซต์โดยไม่เสียค่าใช้จ่าย และเพิ่มการตรวจสอบ SSL และการหมดอายุของโดเมนในขณะที่คุณอยู่ที่นั่น คุณสามารถตรวจสอบใบรับรองใด ๆ ได้ทันทีด้วย ตัวตรวจสอบ SSL
ใช้เวลาประมาณห้านาทีในการปกป้องงานที่สำคัญที่สุดของคุณ สร้างบัญชีฟรีของคุณ เพิ่มหนึ่งฮาร์ทบีทสำหรับการสำรองข้อมูลของคุณ และให้เราคอยเฝ้าดูเพื่อให้คุณไม่ต้องทำ
คำถามที่พบบ่อย
อะไรคือความแตกต่างระหว่างการตรวจสอบ cron และการตรวจสอบสถานะการออนไลน์?
การตรวจสอบสถานะการออนไลน์จะตรวจสอบ URL จากภายนอกเพื่อดูว่าเว็บไซต์ของคุณตอบสนองหรือไม่ การตรวจสอบ Cron หรือการเต้นของหัวใจจะรอให้งานที่กำหนดเวลาไว้ของคุณเช็คอิน และแจ้งเตือนคุณเมื่องานไม่มาถึงตรงเวลา
การตรวจวัดการเต้นของหัวใจฟรีจริงหรือ?
ใช่. แผนฟรีประกอบด้วยเครื่องวัดการเต้นของหัวใจ 5 เครื่องพร้อมอีเมล, Slack, Discord, Telegram, Microsoft Teams และการแจ้งเตือนทางเว็บ ไม่มีบัตรเครดิตและไม่มีการทดลองใช้ที่หมดลง
ฉันจำเป็นต้องติดตั้งตัวแทนบนเซิร์ฟเวอร์ของฉันหรือไม่?
ไม่ งานของคุณจะต้องส่งคำขอ HTTP เพียงครั้งเดียวไปยัง URL ฮาร์ทบีท เช่น ด้วย curl หรือ wget ซึ่งมีอยู่ในเกือบทุกเซิร์ฟเวอร์
ระยะเวลาผ่อนผันควรนานเท่าใด?
ตั้งค่าเป็นเวลาการทำงานปกติของงานบวกกับส่วนต่างความปลอดภัย งานที่ปกติจะใช้เวลา 10 นาที จะได้รับงานอย่างดีในช่วงผ่อนผัน 15 ถึง 20 นาที
ฉันสามารถติดตามงานที่ทำงานวันละครั้งหรือสัปดาห์ละครั้งได้หรือไม่?
ใช่. กำหนดช่วงเวลาที่คาดหวังให้กับกำหนดการของงาน เช่น 1 วันหรือ 7 วัน และคุณจะได้รับการแจ้งเตือนเมื่อพลาดการรัน