Chatops for Microservices Architecture - ChatopS4MSA
ChatopS4MSA เป็นเครื่องมือผู้ช่วยสนทนาที่ออกแบบมาสำหรับการพัฒนาและการดำเนินงานของไมโครไซด์โดยใช้โมเดลภาษาขนาดใหญ่ (LLMS) ผู้ใช้สามารถตรวจสอบสถานะการให้บริการแบบเรียลไทม์ดำเนินการอัตโนมัติเช่นการทดสอบและการสแกนรหัสและรับการแจ้งเตือนการแจ้งเตือนโดยใช้ภาษาคิวรีที่ออกแบบมาซึ่งเรียกว่า CQL (ภาษาคิวรีแชทคิวรี) หรือภาษาธรรมชาติ
นักพัฒนาสามารถปรับแต่งฟังก์ชันที่ต้องการโดยใช้ไฟล์การกำหนดค่ารหัสต่ำซึ่งแยกแยะได้จากการพัฒนา chatbot แบบดั้งเดิมซึ่งมักจะต้องใช้ข้อมูลการฝึกอบรมที่กว้างขวาง การใช้ประโยชน์จากรูปแบบภาษาขนาดใหญ่ที่ล้ำสมัย ChatopS4MSA วิเคราะห์การสืบค้นผู้ใช้เพื่อกำหนดความตั้งใจและเอนทิตีทำให้การดำเนินการที่สอดคล้องกัน
นี่คือสถานการณ์ของ ChatopS4MSA:

นี่คือแนวคิดการดำเนินงานของ ChatopS4MSA:

สำหรับรายละเอียดเพิ่มเติมโปรดดู Feature.md
ในช่อง Chatops ให้ใช้ @ChatOps4Msa-Bot เพื่อพูดถึง chatops4msa จากนั้นป้อนคำขอของคุณเป็นภาษาธรรมชาติ

ในช่อง Chatops ให้ดำเนินการคำสั่งโดยตรงโดยใช้คำสั่ง Slash ที่เริ่มต้นด้วย /

และนี่คือไวยากรณ์ของ CQL:
/[ACTION] [TOOL] [COMMAND] [SERVICE] [FLAGS]

| พารามิเตอร์ | คำอธิบาย | ที่จำเป็น? |
|---|---|---|
| [การกระทำ] | การดำเนินการที่จะดำเนินการเช่นการดึงข้อมูล (รับ) การกำหนดค่าการตั้งค่า (SET), บริการตรวจสอบ (การตรวจสอบ), บริการทดสอบ (ทดสอบ) และอื่น ๆ | ที่จำเป็น |
| [เครื่องมือ] | เครื่องมือที่จะใช้เช่น GitHub, Prometheus, K6, โมดูลที่กำหนดเองและอื่น ๆ | ที่จำเป็น |
| [สั่งการ] | การดำเนินการที่จะดำเนินการเช่น service_recent_activity | ที่จำเป็น |
| [บริการ] | บริการเป้าหมายสำหรับการดำเนินการซึ่งสามารถเลือกได้เป็น all_service เพื่อรวมบริการทั้งหมด | ไม่จำเป็น |
| [ธง] | ตัวเลือกพารามิเตอร์เพิ่มเติมซึ่งสามารถเป็นได้หลายอย่าง คำสั่ง CQL ทั้งหมดรวมถึงพารามิเตอร์ subscribe สำหรับการกำหนดเวลาการดำเนินการเป็นระยะของฟังก์ชันโดยค่าพารามิเตอร์เป็นนิพจน์ cron | ไม่จำเป็น |
นี่คือความสามารถในการสาธิตหลายประการที่ออกแบบมาเพื่อแสดงคุณสมบัติของ ChatopS4MSA คุณสามารถดำเนินการความสามารถเหล่านี้โดยใช้ภาษาธรรมชาติหรือ CQL
| ความตั้งใจ | กิจการ | คำอธิบาย |
|---|---|---|
| get-example-echo_message | ข้อความ | เพียงแค่สะท้อนข้อความที่จะไม่ลงรอยกัน |
| get-example-math_calculate | การแสดงออก | ทำการคำนวณโดยใช้นิพจน์ทางคณิตศาสตร์ที่กำหนด |
| get-github-service_recent_activity | service_name, number_of_activity | ดึงกิจกรรมล่าสุดของการซื้อสินค้าของบริการ |
| get-github-service_past_week_team_activity | service_name | รับกิจกรรมของทีมสำหรับบริการที่ระบุภายในสัปดาห์ที่ผ่านมา |
| get-github-service_code_scanning | service_name | รับรายงานการตรวจสอบของการกระทำใหม่ล่าสุดใน repo ของบริการ |
| set-github-issue | service_name, itsue_title, itsue_message | สร้างปัญหาในการซื้อใหม่ของบริการที่มีความเสี่ยงต่อการพึ่งพา |
| get-github-issue_progress_timeline | service_name, number_of_issue | อธิบายความคืบหน้าของปัญหาด้วยไทม์ไลน์ |
| get-github-contribution_of_team_member | service_name | รับการวิเคราะห์ผลงานของสมาชิกในทีม |
| Monitor-Prometheus-Promql_overview | (null) | ตรวจสอบตัวชี้วัดบริการทั้งหมดโดยใช้ PROMQL |
| Monitor-Prometheus-grafana_overview | (null) | ตรวจสอบสถานะโดยรวมของบริการทั้งหมดโดยใช้ส่วนต่อประสานกราฟิกผู้ใช้ (GUI) |
| get-prometheus-alert_rule | (null) | ดูกฎการแจ้งเตือนผ่าน Prometheus UI |
| Monitor-Prometheus-Service_Health | (null) | ตรวจสอบสถานะสุขภาพของบริการทั้งหมด |
| Monitor-Prometheus-all_service_yesterday_status | (null) | ดึงสถานะการปฏิบัติงานของ Microservice เมื่อวานนี้โดยใช้ PROMQL |
| Monitor-Prometheus-Service_Dependency | (null) | ตรวจสอบความสัมพันธ์การพึ่งพาระหว่างไมโครเซิร์ต |
| test-k6-sstress_testing | service_name | ทำการทดสอบความเครียดในบริการเฉพาะ |
| test-k6-smoke_testing_all_service | number_of_virtual_user | ทำการทดสอบควันกับบริการทั้งหมด |
| test-custom_test-smoke_and_repo_all_service | number_of_virtual_user | ทำการทดสอบควันเกี่ยวกับบริการทั้งหมดตรวจสอบสถานะและรับกิจกรรมล่าสุดสำหรับความล้มเหลวของไมโคร |
ด้วยเหตุผลด้านความปลอดภัยความสามารถต่อไปนี้สามารถดำเนินการผ่านคำสั่ง Slash และไม่ผ่านภาษาธรรมชาติ
กรอกนิพจน์ cron ลงในพารามิเตอร์ subscribe ของ CQL ตัวอย่างเช่น:

คุณสามารถใช้คำสั่ง slash /check_all_subscription เพื่อดูการสมัครสมาชิกทั้งหมดเช่น:

และคุณสามารถใช้คำสั่ง slash /unsubscribe_all_capability เพื่อยกเลิกการสมัครจากความสามารถทั้งหมดเช่น:

ลิงค์ YouTube
เราตรวจสอบสุขภาพของบอท Discord เป็นระยะ อย่างไรก็ตามเราไม่มีการรับประกันความพร้อมใช้งานสูงในบริการ อย่าลังเลที่จะเปิดปัญหาหากไม่สามารถใช้งานได้
ลิงค์ความไม่ลงรอยกัน
บัญชีเริ่มต้นสำหรับเครื่องมือ DevOps คือ
adminและรหัสผ่านเริ่มต้นคือsoselab
สร้างแอปพลิเคชัน Discord (Bot):
Supervisor และ Team_Memberลงทะเบียนคำสั่ง Slash (CQL):
git clone https://github.com/sheng-kai-wang/ChatOps4Msa.gitapplication.properties และไฟล์ secret.yml คุณสามารถอ้างอิงถึงเทมเพลตที่ให้ไว้: แอปพลิเคชัน-template.properties และ secret_template.yml ปรับใช้กับเซิร์ฟเวอร์ของคุณโดยใช้ไฟล์สคริปต์ .sh ที่มีให้:
sh run_all.sh เพื่อเริ่มระบบทั้งหมด"Ctrl" + "b", then "d" คุณสามารถป้อนเซสชันอีกครั้งด้วย tmux attachแยกที่เก็บ microservice 4 ต่อไปนี้เพื่อใช้ประโยชน์จากความสามารถที่เกี่ยวข้องกับ GitHub:
<<Reverse proxy domain>>adminsoselabscan_run_id จาก URL อ้างถึง step_for_github_scan_run_idเข้าสู่ระบบ Grafana และกำหนดค่าแหล่งข้อมูล (โพร) ด้วยตนเองเพื่อเปิดใช้งานความสามารถที่เกี่ยวข้องกับ Grafana:
sh run_chatops4msa.sh เพื่อทำเช่นนั้นจำเป็นต้องเขียนไฟล์การกำหนดค่าในรูปแบบรหัสต่ำเท่านั้น
ดู custom_capability.md