Chatops for Microservices Architecture - Chatops4msA
ChatOps4MSA adalah alat asisten percakapan yang dirancang untuk pengembangan dan operasi layanan mikro, menggunakan model bahasa besar (LLM). Pengguna dapat memantau status layanan real-time, melakukan tindakan otomatis seperti tes dan pemindaian kode, dan menerima pemberitahuan peringatan menggunakan bahasa kueri yang dirancang yang disebut CQL (Bahasa ChatOps Query) atau bahasa alami.
Pengembang dapat menyesuaikan fungsi yang diinginkan menggunakan file konfigurasi kode rendah, yang membedakannya dari pengembangan chatbot tradisional yang sering membutuhkan data pelatihan yang luas. Memanfaatkan model bahasa besar canggih, ChatOps4MSA menganalisis kueri pengguna untuk menentukan niat dan entitas, memungkinkan tindakan yang sesuai.
Berikut adalah skenario chatops4msa:

Berikut ini konsep operasi chatops4msa:

Untuk detail lebih lanjut, lihat fitur.md
Di saluran chatops, gunakan @ChatOps4Msa-Bot untuk menyebutkan chatops4msa, lalu masukkan permintaan Anda dalam bahasa alami.

Di saluran chatops, langsung menjalankan perintah menggunakan perintah slash yang dimulai dengan / .

Dan inilah sintaks CQL:
/[ACTION] [TOOL] [COMMAND] [SERVICE] [FLAGS]

| PARAMETER | KETERANGAN | DIPERLUKAN? |
|---|---|---|
| [TINDAKAN] | Tindakan yang akan dilakukan, seperti pengambilan informasi (GET), Mengkonfigurasi Pengaturan (Set), Layanan Pemantauan (Monitor), Layanan Pengujian (Tes), dan sebagainya. | diperlukan |
| [ALAT] | Alat yang akan digunakan, seperti GitHub, Prometheus, K6, modul khusus, dan sebagainya. | diperlukan |
| [MEMERINTAH] | Operasi yang akan dieksekusi, seperti service_recent_activity . | diperlukan |
| [MELAYANI] | Layanan target untuk dieksekusi, yang dapat dipilih sebagai all_service untuk memasukkan semua layanan. | opsional |
| [Bendera] | Opsi parameter tambahan, yang bisa berupa banyak; Semua perintah CQL termasuk parameter subscribe untuk menjadwalkan eksekusi periodik fungsi, dengan nilai parameter menjadi ekspresi cron. | opsional |
Berikut adalah beberapa kemampuan demonstrasi yang dirancang untuk menampilkan fitur -fitur chatops4msa, Anda dapat melakukan kemampuan ini menggunakan bahasa alami atau CQL.
| MAKSUD | KESATUAN | KETERANGAN |
|---|---|---|
| get-example-echo_message | pesan | Cukup menggemakan pesan untuk perselisihan. |
| get-example-math_calculate | ekspresi | Lakukan perhitungan menggunakan ekspresi matematika yang diberikan. |
| get-github-service_recent_activity | service_name, number_of_activity | Ambil kegiatan terbaru dari repo layanan. |
| get-github-service_past_week_team_activity | service_name | Dapatkan aktivitas tim untuk layanan yang ditentukan dalam seminggu terakhir. |
| get-github-service_code_scanning | service_name | Dapatkan laporan cek komitmen terbaru dalam repo layanan. |
| Set-github-isu | service_name, edite_title, edsue_message | Buat masalah dalam repo layanan dengan risiko ketergantungan. |
| get-github-issue_progress_timeline | service_name, number_of_issue | Jelaskan kemajuan masalah dengan garis waktu. |
| get-github-contribusi_of_team_member | service_name | Dapatkan analisis kontribusi anggota tim. |
| monitor-prometheus-promql_overview | (null) | Pantau semua metrik layanan menggunakan PromQL. |
| Monitor-Prometheus-grafana_overview | (null) | Pantau status keseluruhan semua layanan menggunakan antarmuka pengguna grafis (GUI). |
| get-prometheus-alert_rule | (null) | Lihat aturan peringatan melalui Prometheus UI. |
| Monitor-Prometheus-Service_Health | (null) | Pantau status kesehatan semua layanan. |
| monitor-prometheus-all_service_yesterday_status | (null) | Ambil status operasional Microservice kemarin menggunakan PromQL. |
| monitor-prometheus-service_dependency | (null) | Pantau hubungan ketergantungan antara layanan mikro. |
| test-k6-stress_testing | service_name | Lakukan pengujian stres pada layanan tertentu. |
| test-k6-smoke_testing_all_service | number_of_virtual_user | Lakukan pengujian asap di semua layanan. |
| Test-Custom_test-smoke_and_repo_all_service | number_of_virtual_user | Lakukan tes asap pada semua layanan, monitor status dan dapatkan aktivitas terbaru untuk gagal microservices. |
Untuk alasan keamanan, kemampuan berikut hanya dapat dieksekusi melalui perintah slash dan tidak melalui bahasa alami.
Isi ekspresi cron ke dalam parameter subscribe CQL, misalnya:

Anda dapat menggunakan perintah slash /check_all_subscription untuk melihat semua langganan, misalnya:

Dan Anda dapat menggunakan perintah slash /unsubscribe_all_capability untuk berhenti berlangganan dari semua kemampuan, misalnya:

Tautan youtube
Kami memeriksa kesehatan Bot Perselisihan secara berkala. Namun demikian, kami tidak memiliki jaminan ketersediaan tinggi pada layanan ini. Jangan ragu untuk membuka masalah jika menjadi tidak tersedia.
Tautan perselisihan
Akun default untuk alat DevOps adalah
admin, dan kata sandi default adalahsoselab.
Buat Aplikasi Perselisihan (bot):
Supervisor , dan Team_Member .Command Slash Register (CQL):
git clone https://github.com/sheng-kai-wang/ChatOps4Msa.gitapplication.properties dan secret.yml , Anda dapat merujuk ke templat yang disediakan: application-template.properties dan Secret_template.yml. Digerikan ke server Anda menggunakan file skrip .sh yang disediakan:
sh run_all.sh untuk memulai seluruh sistem."Ctrl" + "b", then "d" . Anda dapat memasuki kembali sesi dengan tmux attach .FORK 4 repositori layanan mikro berikut untuk memanfaatkan kemampuan terkait github:
<<Reverse proxy domain>>adminsoselabscan_run_id dari URL. Lihat step_for_github_scan_run_id.Masuk ke Grafana dan secara manual mengkonfigurasi sumber data (Prometheus) untuk memungkinkan kemampuan terkait grafana:
sh run_chatops4msa.sh untuk melakukannya.Hanya perlu menulis file konfigurasi dalam format kode rendah.
Lihat custom_capability.md