ChatOps用於微服務架構-ChatOps4MSA
ChatOps4MSA是一種使用大型語言模型(LLMS)的對話助理工具,旨在微服務開發和操作。用戶可以監視實時服務狀態,執行測試和代碼掃描等自動操作,並使用設計的查詢語言(CQL(ChatOps查詢語言)或自然語言)接收警報通知。
開發人員可以使用低編碼配置文件自定義所需的功能,該文件將其與通常需要廣泛培訓數據的傳統聊天機器人開發區分開來。 ChatOps4MSA利用最新的大語言模型,分析用戶查詢以確定意圖和實體,從而實現相應的操作。
這是chatops4msa的場景:

這是chatops4msa的操作概念:

有關更多詳細信息,請參見feature.md
在ChatOps頻道中,使用@ChatOps4Msa-Bot提及chatops4msa,然後以自然語言輸入您的請求。

在ChatOps頻道中,使用以/啟動的slash命令直接執行命令。

這是CQL的語法:
/[ACTION] [TOOL] [COMMAND] [SERVICE] [FLAGS]

| 範圍 | 描述 | 必需的? |
|---|---|---|
| [行動] | 要執行的操作,例如檢索信息(GET),配置設置(設置),監視服務(監視),測試服務(測試)等。 | 必需的 |
| [工具] | 要使用的工具,例如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 | 獲取服務回購中最新提交的檢查報告。 |
| set-github發行 | service_name,esseage_title,esseage_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查看警報規則。 |
| 監視prometheus-service_health | (null) | 監視所有服務的健康狀況。 |
| Monitor-prometheus-all_service_yesterday_status | (null) | 使用Promql檢索昨天的微服務運營狀態。 |
| 監視prometheus-service_依賴性 | (null) | 監視微服務之間的依賴關係。 |
| test-k6-surss_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 | 對所有服務,監視狀態進行煙霧測試,並獲得微服務失敗的最新活動。 |
出於安全原因,以下功能只能通過斜杠命令而不是通過自然語言執行。
例如,將cron表達式填充到CQL的subscribe參數中:

您可以使用slash命令/check_all_subscription查看所有訂閱,例如:

您可以使用slash命令/unsubscribe_all_capability刪除所有功能,例如:

YouTube鏈接
我們確實會定期檢查Discord機器人的健康。儘管如此,我們對服務沒有高可用性保證。如果不可用,請隨時打開問題。
Discord鏈接
DevOps工具的默認帳戶是
admin,默認密碼是soselab。
創建一個Discord應用程序(BOT):
Supervisor和Team_Member 。註冊斜杠命令(CQL):
git clone https://github.com/sheng-kai-wang/ChatOps4Msa.gitapplication.properties和secret.yml文件,您可以參考提供的模板:application-template.properties和secret_template.yml。使用提供的.sh腳本文件部署到服務器:
sh run_all.sh即可啟動整個系統。"Ctrl" + "b", then "d" 。您可以使用tmux attach重新輸入會話。分叉以下4個微服務存儲庫利用與GitHub相關的功能:
<<Reverse proxy domain>>adminsoselabscan_run_id 。請參閱step_for_github_scan_run_id。登錄到Grafana並手動配置數據源(Prometheus)以啟用與Grafana相關的功能:
sh run_chatops4msa.sh這樣做。只需要以低編碼格式編寫配置文件。
請參閱custom_capability.md