วิธีรับการแจ้งเตือนเมื่อไซต์ของคุณหยุดทำงานโดยใช้ Geekflare API

เผยแพร่แล้ว: 2021-08-22

ผู้ใช้พยายามเข้าถึงไซต์ของคุณ คุณรู้ไหมว่าเกิดอะไรขึ้น มันไม่แสดงขึ้น มีข้อผิดพลาดบางอย่างที่คุณไม่ทราบมาก่อน ผู้ใช้หงุดหงิดและออกจากไซต์ของคุณ คุณจึงสูญเสียผู้ใช้ที่ภักดีไปกับมัน

จะแก้ปัญหานี้ได้อย่างไร? คุณจะรู้จักไซต์ก่อนที่ผู้ใช้จะพบได้อย่างไร

เป็นไปได้สองวิธี:

หากคุณไม่รังเกียจที่จะจ่ายเงินไม่กี่ดอลลาร์ คุณสามารถเลือกใช้โซลูชันการตรวจสอบ เช่น StatusCake หรืออื่นๆ ที่กล่าวถึงที่นี่

อย่างไรก็ตาม หากคุณเป็นนักพัฒนาหรือไม่พร้อมที่จะใช้จ่ายรายเดือน คุณสามารถใช้ประโยชน์จาก Geekflare API – Is Site Up?

ไซต์ขึ้นหรือไม่ API ตรวจสอบว่าไซต์ขึ้นหรือลงจากตำแหน่งต่างๆ

ให้ฉันแสดงโค้ด Python ที่แจ้งให้คุณทราบทันทีเมื่อไซต์ของคุณล่มผ่าน Gmail

เริ่มต้นด้วยการสำรวจ Is Site Up? เอพีไอ

ไซต์ขึ้นหรือไม่ เอพีไอ

ก่อนตรวจสอบ API เราจำเป็นต้องติดตั้งแพ็คเกจที่เรียกว่า request to work with APIs ใน Python แต่ไม่จำเป็นต้องใช้ Python เพียงอย่างเดียว คุณสามารถใช้ภาษาที่คุณต้องการ แต่ให้แน่ใจว่าคุณได้ตั้งค่าสิ่งที่จำเป็นในการส่งคำขอ API

ดังนั้นสำหรับผู้ที่ใช้ Python ให้ติดตั้งแพ็คเกจ การร้องขอ โดยใช้คำสั่ง pip install requests

ทำการตั้งค่าสำหรับภาษาอื่นให้เสร็จสมบูรณ์ (หากคุณเลือกนอกเหนือจาก Python) และทำตามขั้นตอนต่อไป

ตอนนี้ ไปที่หน้า Geekflare API

หน้า Geekflare-API

คุณสามารถค้นหา API ประเภทต่างๆ รวมถึง Is Site Up? API ที่เราสนใจสำหรับบทความนี้ ในการใช้ Geekflare API เราจำเป็นต้องมีรหัส API ซึ่งเราสามารถหาได้จากการสมัครใช้งาน Geekflare API

คลิกที่ปุ่มลง ทะเบียน ฟรี ที่ส่วนหัวและสร้างบัญชีใน Geeflare API

สร้างบัญชี Geekflare API

เมื่อคุณสร้างบัญชีแล้ว คุณจะถูกนำไปที่แดชบอร์ดของ Geekflare API ในแดชบอร์ด คุณจะพบคีย์ API และรายละเอียดอื่นๆ เช่น อีเมล แผนการใช้งาน ฯลฯ

แดชบอร์ด Geekflare API

คุณสามารถคัดลอกคีย์ API ตอนนี้ เรามาตรวจสอบเอกสารประกอบของ Is Site Up API กัน คลิกที่ไอคอนโปรไฟล์และเอกสารของคุณ

เอกสาร Geekflare API

มันจะเปลี่ยนเส้นทางคุณไปยังเอกสาร Geeflare API

คุณจะพบเอกสารประกอบ API สถานะของไซต์ (ไซต์ขึ้นหรือไม่) ที่นี่ ไปที่มัน

คุณจะได้รับการใช้ API ทางด้านขวา เลือก Python จากส่วน โค้ด ทางด้านขวา เลือกภาษาที่คุณต้องการหากคุณไม่ได้ใช้ Python

คุณจะได้รับรหัสเพื่อเรียก Is Site Up? เอพีไอ มาแก้ไขกันเล็กน้อยซึ่งจะช่วยให้เราสามารถเพิ่มโค้ดในภายหลังได้อย่างง่ายดาย ดูโค้ดที่แก้ไขใน Python

 import requests import json API_URL = "https://api.geekflare.com/up" def make_api_request(): headers = { 'x-api-key': 'YOUR-API-KEY', 'Content-Type': 'application/json' } payload = json.dumps({"url": "https://geekflare.com"}) response = requests.request("POST", API_URL, data=payload, headers=headers) return response.json() if __name__ == '__main__': data = make_api_request() print(data)

แทนที่ YOUR-API-KEY ด้วยคีย์ API ของคุณเองจากแดชบอร์ด Geekflare API จะแตกต่างกันไปสำหรับผู้ใช้ทุกคน คัดลอกคีย์ API จากแดชบอร์ดและเพิ่มลงในโค้ดด้านบน

หลายตำแหน่ง

โค้ดด้านบนตรวจสอบว่าไซต์ใช้งานได้หรือไม่จากที่เดียว (นิวยอร์ก สหรัฐอเมริกา) แต่เราสามารถทดสอบได้จากตำแหน่งอื่นด้วย proxyCountry ในเนื้อหาคำขอ

สถานที่ให้บริการอื่นๆ ได้แก่ อังกฤษ (ลอนดอน) และสิงคโปร์ เราสามารถส่งข้อมูล proxyCountry พร้อมกับ URL ของไซต์ได้ดังนี้

 { "proxyCountry": "uk", "url": "geekflare.com" }

คุณสามารถผ่านสถานที่ใดก็ได้ที่คุณต้องการจากสถานที่ที่มีอยู่ที่นี่

เราได้กรอกรหัสเพื่อสร้างคำขอ API ที่ดึงข้อมูลว่าไซต์นั้นใช้งานได้หรือไม่ ตอนนี้ ได้เวลาเขียนโค้ดเพิ่มเติมเพื่อส่งอีเมลเมื่อไซต์หยุดทำงาน ไปกันเถอะ.

รับอีเมลเมื่อเว็บไซต์ล่ม

คุณสามารถดูบทช่วยสอนโดยละเอียดเกี่ยวกับ วิธีส่งอีเมลผ่าน Gmail ใน Python หรือใช้โค้ดต่อไปนี้ ซึ่งใช้แพ็คเกจชื่อ yagmail ที่ออกแบบมาเป็นพิเศษเพื่อส่งอีเมลจาก Gmail

ก่อนส่งอีเมลผ่านบัญชี Gmail ของคุณ เราต้องเปิดตัวเลือก อนุญาตแอปที่มีความปลอดภัยน้อย คุณสามารถเปิดใช้งานได้ที่นี่

มาดูรหัสกัน

 def send_mail(): gmail = yagmail.SMTP("gmail", "password") receiver = "[email protected]" subject = "Testing Subject" body = "This is a testing mail" gmail.send( to=receiver, subject=subject, contents=body, )

คุณสามารถดูบทช่วยสอนทั้งหมดของ yagmail ได้ที่นี่

ตอนนี้เรามีรหัสสำหรับคำขอ API และการส่งเมล ขั้นตอนต่อไปของเราคือการเรียกใช้ send_mail เมื่อใดก็ตามที่เราได้รับสถานะไม่ถูกต้องจากคำขอ API

แล้วเราจะรู้ได้อย่างไรว่าเว็บไซต์ของเราล่มหรือล่ม? เมื่อเราขอ Is Site Up? API มันจะตอบสนองด้วยข้อมูลบางส่วนดังนี้

 { "timestamp": 1671545622213, "apiStatus": "success", "apiCode": 200, "message": "Site is up.", "meta": { "url": "https://geekflare.com", "proxyCountry": "United Kingdom", "followRedirect": false, "test": { "id": "riah3dvi04ngaa1jw1b75smiibrus2a7" } }, "data": { "statusCode": 200, "reasonPhrase": "OK" } }

คุณจะพบรหัสที่เรียกว่า ข้อความ ในนั้น ค่าของ ข้อความ สำคัญบอกเราว่าไซต์กำลังขึ้นหรือลง ดังนั้นสามารถเป็นข้อความได้สองประเภทดังนี้

  • ไซต์ขึ้น
  • ไซต์หยุดทำงาน

ฉันคิดว่าคุณเข้าใจแล้ว ดังนั้น เราจะส่งอีเมลเมื่อเราได้รับข้อความว่า “ ไซต์ล่ม” รหัสสุดท้ายจะมีลักษณะดังนี้

 import requests import json import yagmail API_URL = "https://api.geekflare.com/up" def make_api_request(): headers = { 'x-api-key': 'YOUR-API-KEY', 'Content-Type': 'application/json' } payload = json.dumps({ "url": "https://geekflare.com", "followRedirect": True, "proxyCountry": "uk" }) response = requests.request("POST", API_URL, data=payload, headers=headers) return response.json() def send_mail(content): gmail = yagmail.SMTP("gmail", "password") receiver = "[email protected]" subject = "Your Site is Down" gmail.send( to=receiver, subject=subject, contents=content, ) if __name__ == '__main__': data = make_api_request() message = data['message'] ## seding the mail if message == 'Site is down': ## extracting the location and error location = data['meta']['proxyCountry'] mail_content = "Your site is down due to unexpected error. See the useful data to resolve errors below.nn" if location: mail_content += f"{location}" mail_content += f"{data['data']['reasonPhrase']}nn" mail_content += "Check the error and resolve it as soon as possible." send_mail(mail_content)

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

แต่ยังมีปัญหาอยู่

เราต้องรันโค้ดเพื่อตรวจสอบว่าไซต์ของเราขึ้นหรือลง เราเรียกใช้บ่อยแค่ไหน? ใช่ มันขึ้นอยู่กับความชอบของคุณ สมมติว่าเราต้องตรวจสอบทุกชั่วโมง

เราสามารถเปิดเทอร์มินัลหรือบรรทัดคำสั่งและรันโค้ดของเราได้ทุกชั่วโมง แต่เป็นกระบวนการที่ซ้ำซากและน่าเบื่อ และบางครั้งเราอาจลืมตรวจสอบ ดังนั้นเราจึงจำเป็นต้องรันโค้ดโดยอัตโนมัติทุกๆ ชั่วโมง

ที่นี่เราสามารถใช้ cron เพื่อรันโค้ดของเราทุก ๆ ชั่วโมงโดยอัตโนมัติ มาดูวิธีตั้งค่ากัน

การตั้งค่าครอน

มาดูขั้นตอนการตั้งค่า cron บนระบบปฏิบัติการ UNIX กัน

  • เปิดเทอร์มินัล
  • เรียกใช้คำสั่ง crontab -e ซึ่งเปิดไฟล์ crontab ในเทอร์มินัล
  • กดปุ่ม i เพื่อเข้าสู่โหมด INSERT
  • ตอนนี้เพิ่มรูปแบบ cron ไดเร็กทอรี Python และไดเร็กทอรีไฟล์โค้ดของเรา คุณดูตัวอย่างด้านล่าง

0 * * * * /usr/bin/python3 /home/sample.py

ครอน
ครอน

เราได้กำหนดรูปแบบให้รันโค้ดทุกชั่วโมง แต่คุณอาจต้องตั้งค่าเป็นทุกนาทีตามความต้องการ ดังนั้น คุณสามารถใช้ Crontab Guru หรือเครื่องมือ cron อื่นๆ เพื่อสร้างรูปแบบ cron สำหรับตารางเวลา

แค่นั้นแหละ. เราได้เสร็จสิ้นการตั้งค่าเพื่อรับการแจ้งเตือนเมื่อไซต์หยุดทำงาน

บทสรุป

ใช้ cron เพื่อกำหนดเวลาให้สคริปต์ทำงานเป็นระยะบนเซิร์ฟเวอร์คลาวด์ของคุณที่ทำงานทุกวันตลอด 24 ชั่วโมงเพื่อรับการแจ้งเตือนทางอีเมลเมื่อไซต์หยุดทำงาน ระบบอัตโนมัติช่วยประหยัดเวลาได้มากและได้ผลสำหรับเรา ดังนั้น ใช้ประโยชน์จากมันเหมือนที่เราทำในบทความนี้

มีความสุขการตรวจสอบ