Cabot มีความเสถียรและใช้งานโดยบริษัทและบุคคลหลายร้อยรายในการผลิต แต่ไม่ได้รับการบำรุงรักษาอย่างจริงจัง เราต้องการส่งมอบการบำรุงรักษาโครงการให้กับผู้ดูแลที่รับผิดชอบและมีประสบการณ์ตั้งแต่หนึ่งคนขึ้นไป โปรดส่งอีเมลไปที่ [email protected] พร้อมข้อมูลเกี่ยวกับตัวคุณ (โปรไฟล์ github และ/หรือ CV) หากคุณสนใจ
Cabot เป็นแพลตฟอร์มตรวจสอบโครงสร้างพื้นฐานแบบโอเพ่นซอร์สที่โฮสต์เองฟรี ซึ่งนำเสนอคุณสมบัติที่ดีที่สุดของ PagerDuty, Server Density, Pingdom และ Nagios โดยไม่มีค่าใช้จ่ายและความซับซ้อน (นากิออส ฉันมองคุณเป็นหลัก)
มีอินเทอร์เฟซเว็บที่ช่วยให้คุณสามารถตรวจสอบบริการต่างๆ (เช่น "เซิร์ฟเวอร์ Stage Redis", "คลัสเตอร์ Production ElasticSearch") และส่งการแจ้งเตือนทางโทรศัพท์, SMS หรือ hipchat/อีเมล ไปยังทีมงานที่ปฏิบัติหน้าที่ของคุณ หากบริการเหล่านั้นเริ่มทำงานผิดปกติหรือหยุดทำงาน - ทั้งหมดนี้โดยไม่ต้องเขียนโค้ดสักบรรทัด สิ่งที่ดีที่สุดคือ คุณสามารถใช้ข้อมูลที่คุณพุชไปยัง Graphite/statsd อยู่แล้วเพื่อสร้างการแจ้งเตือน แทนที่จะนำไปใช้และดูแลรักษาระบบตัวรวบรวมข้อมูลใหม่ทั้งหมด
คุณสามารถแจ้งเตือนตาม:
เราสร้าง Cabot ขึ้นมาเป็นโปรเจ็กต์คริสต์มาสที่ Arachnys เพราะเราไม่สามารถคาดเดา Nagios ได้ และดูเหมือนจะไม่มีสิ่งอื่นใดที่เหมาะกับกรณีการใช้งานของเรา เรากำลังเปิดซอร์สมันด้วยความหวังว่าผู้อื่นจะพบว่ามันมีประโยชน์
Cabot เขียนด้วยภาษา Python และใช้ Django, Bootstrap, Font Awesome และสารพัดอื่นๆ อีกมากมาย
การใช้ Docker: ปรับใช้ภายใน 5 นาทีหรือน้อยกว่าโดยใช้คู่มือการเริ่มต้นฉบับย่ออย่างเป็นทางการที่ cabotapp.com (ดูhttps://hub.docker.com/r/cabotapp/cabot/)
เอกสารได้ย้ายไปที่ cabotapp.com แล้ว
ส่วน:
สำหรับผู้ที่ต้องการมีส่วนร่วม:
สุนัขของฉันชื่อคาบอต และมันชอบเฝ้าติดตามสิ่งต่างๆ การปรากฏตัวของอาหารเป็นหลักในบริเวณใกล้เคียงหรือบางทีอาจเป็นความถี่ที่กระรอกมาเยี่ยมชมสวนของเรา เขายังเห่าเสียงดังเพื่อเตือนเราถึงเหตุการณ์บางอย่าง (เช่น บุรุษไปรษณีย์มาที่ประตู)
เป็นเพียงความบังเอิญที่ชื่อของเขาดูเหมือนเป็นเครื่องมืออัตโนมัติ
API ได้สร้างเอกสารประกอบโดยอัตโนมัติโดยเรียกดู https://cabot.yourcompany.com/api เอกสารที่สามารถเรียกดูได้จะแสดงตัวอย่างคำขอ GET และรายการวิธี HTTP อื่นๆ ที่อนุญาต
หากต้องการดูแต่ละรายการ ให้เพิ่ม id
รายการต่อท้าย URL ตัวอย่างเช่น หากต้องการดู graphite_check
1 ให้เรียกดู:
/api/graphite_checks/1/
API อนุญาตการตรวจสอบสิทธิ์พื้นฐาน HTTP โดยใช้ชื่อผู้ใช้และรหัสผ่าน Django มาตรฐาน รวมถึงการตรวจสอบสิทธิ์เซสชัน (โดยการส่งแบบฟอร์มเข้าสู่ระบบในหน้าเข้าสู่ระบบ) API จะใช้สิทธิ์ Django มาตรฐานเพื่ออนุญาตและปฏิเสธการเข้าถึง API ในทำนองเดียวกัน
ทรัพยากรทั้งหมด GETable โดยผู้ใช้ที่ได้รับการรับรองความถูกต้อง แต่ต้องให้สิทธิ์ส่วนบุคคลสำหรับ POST, PUT และวิธีการเขียนอื่นๆ
ตามตัวอย่าง สำหรับการเข้าถึง POST คลาสย่อย status_check
ทั้งหมด ให้เพิ่มสิทธิ์ต่อไปนี้:
cabotapp | status check | Can add graphite status check
cabotapp | status check | Can add http status check
cabotapp | status check | Can add icmp status check
cabotapp | status check | Can add jenkins status check
เข้าถึงหน้าผู้ดูแลระบบ Django ที่ https://cabot.yourcompany.com/admin เพื่อเพิ่ม/ลบผู้ใช้ เปลี่ยนสิทธิ์ของผู้ใช้ เพิ่ม/ลบกลุ่มสำหรับการควบคุมสิทธิ์ตามกลุ่ม และเปลี่ยนสิทธิ์ของกลุ่ม
การเรียงลำดับและการกรองสามารถใช้ได้ทั้งไคลเอนต์ REST และบน API ที่สามารถเรียกดูได้ ฟิลด์ทั้งหมดที่มองเห็นได้ใน API ที่สามารถเรียกดูได้สามารถใช้สำหรับการกรองและการเรียงลำดับได้
รับ jenkins_checks
ทั้งหมดโดยเปิดใช้งาน debounce และมีความสำคัญอย่างยิ่ง:
https://cabot.yourcompany.com/api/jenkins_checks/?debounce=1&importance=CRITICAL
จัดเรียง graphite_checks
ตามฟิลด์ name
จากน้อยไปมาก:
https://cabot.yourcompany.com/api/graphite_checks/?ordering=name
จัดเรียงตามฟิลด์ name
จากมากไปน้อย:
https://cabot.yourcompany.com/api/graphite_checks/?ordering=-name
ตัวอย่างอื่นๆ (ที่ไม่ใช่เฉพาะของ Cabot) มีอยู่ในเอกสารประกอบของ Django REST Framework
ดูไฟล์ LICENSE
ใน repo นี้