Microservicesアーキテクチャ用のChatops -chatops4msa
CHATOPSOPS4MSAは、大規模な言語モデル(LLM)を利用して、マイクロサービスの開発と運用向けに設計された会話型アシスタントツールです。ユーザーは、リアルタイムのサービスステータスを監視し、テストやコードスキャンなどの自動アクションを実行し、CQL(Chatops Query Language)または自然言語と呼ばれる設計されたクエリ言語を使用してアラート通知を受信できます。
開発者は、低コード構成ファイルを使用して目的の機能をカスタマイズできます。これは、広範なトレーニングデータが必要な従来のチャットボット開発と区別することができます。最先端の大規模な言語モデルを活用して、CHATOPSOPS4MSAはユーザークエリを分析して意図とエンティティを決定し、対応するアクションを可能にします。
Chatops4msaのシナリオは次のとおりです。

Chatops4msaの操作概念は次のとおりです。

詳細については、feature.mdを参照してください
Chatopsチャンネルでは、 @ChatOps4Msa-Botを使用してchatops4msaに言及し、リクエストを自然言語で入力します。

Chatopsチャンネルでは、 /で始まるスラッシュコマンドを使用してコマンドを直接実行します。

そして、これがCQLの構文です:
/[ACTION] [TOOL] [COMMAND] [SERVICE] [FLAGS]

| パラメーター | 説明 | 必須? |
|---|---|---|
| [アクション] | 情報の取得(取得)、設定の構成(セット)、監視サービス(モニター)、テストサービス(テスト)など、実行されるアクション。 | 必須 |
| [道具] | 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 | この1週間以内に、指定されたサービスのチームのアクティビティを取得します。 |
| get-github-service_code_scanning | service_name | サービスのリポジトリで最新のコミットのチェックレポートを取得します。 |
| set-github-sissue | service_name、ressue_title、rsuce_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) | PROMQLを使用して、昨日のマイクロサービス動作ステータスを取得します。 |
| Monitor-Prometheus-service_dependency | (null) | マイクロサービス間の依存関係を監視します。 |
| test-k6-stress_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 | すべてのサービスで煙検査を実行し、ステータスを監視し、マイクロサービスに障害のある最近のアクティビティを取得します。 |
セキュリティ上の理由から、次の機能は、自然言語ではなく、スラッシュコマンドによってのみ実行できます。
たとえば、CQLのsubscribeパラメーターにCRON式を入力してください。

スラッシュコマンド/check_all_subscriptionを使用して、すべてのサブスクリプションを表示できます。

また、Slashコマンド/unsubscribe_all_capabilityを使用して、すべての機能から登録解除できます。たとえば、:

YouTubeリンク
私たちは定期的に不一致ボットの健康を確認します。それにもかかわらず、サービスには高可用性保証はありません。問題が不可能になった場合は、お気軽に開けてください。
不和リンク
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でセッションを再入力できます。GitHub関連の機能を利用するための次の4つのマイクロサービスリポジトリをフォークします。
<<Reverse proxy domain>>adminsoselabscan_run_id取得するには、ワークフローを1回手動で実行する必要があります。 step_for_github_scan_run_idを参照してください。Grafanaにログインし、Grafana関連の機能を有効にするためにデータソース(Prometheus)を手動で構成します。
sh run_chatops4msa.shを使用して使用してください。低コード形式で構成ファイルを記述する必要があります。
custom_capability.mdを参照してください