Chatops für Microservices Architecture - Chatops4MSA
Chatops4MSA ist ein Gesprächsassistent -Tool für die Entwicklung und den Betrieb von Microservices unter Verwendung von großsprachigen Modellen (LLMs). Benutzer können den Echtzeit-Service-Status überwachen, automatisierte Aktionen wie Tests und Codescrapen ausführen und Warnmeldungen mithilfe einer entworfenen Abfragesprache namens CQL (Chatops Query Language) oder natürlicher Sprache empfangen.
Entwickler können die gewünschten Funktionen mithilfe von Konfigurationsdateien mit niedriger Code anpassen, die sie von der herkömmlichen Chatbot-Entwicklung unterscheiden, die häufig umfangreiche Schulungsdaten erfordert. Durch die Nutzung hochmoderner großer Sprachmodelle analysiert Chatops4MSA Benutzeranfragen, um die Absichten und Entitäten zu bestimmen und entsprechende Aktionen zu aktivieren.
Hier ist das Szenario von Chatops4msa:

Hier ist das Operationskonzept von Chatops4msa:

Weitere Informationen finden Sie unter Feature.md
Verwenden Sie im Chatops-Kanal @ChatOps4Msa-Bot , um Chatops4MSA zu erwähnen, und geben Sie Ihre Anfrage in natürlicher Sprache ein.

Führen Sie im Chatops -Kanal Befehle direkt mithilfe von Slash -Befehlen aus, die mit / beginnen.

Und hier ist die Syntax von CQL:
/[ACTION] [TOOL] [COMMAND] [SERVICE] [FLAGS]

| PARAMETER | BESCHREIBUNG | ERFORDERLICH? |
|---|---|---|
| [AKTION] | Die auszuführenden Aktionen, wie z. B. Abrufen von Informationen (GET), Konfigurieren von Einstellungen (SET), Überwachungsdienste (Monitor), Testdienste (Test) usw. | erforderlich |
| [WERKZEUG] | Die zu verwendenden Werkzeuge wie Github, Prometheus, K6, benutzerdefinierte Module usw. | erforderlich |
| [BEFEHL] | Die Operationen, die ausgeführt werden sollen, wie z. service_recent_activity . | erforderlich |
| [SERVICE] | Der Zieldienst für die Ausführung, der als all_service ausgewählt werden kann, um alle Dienste einzuschließen. | optional |
| [Flaggen] | Zusätzliche Parameteroptionen, die mehrfach sein können; Alle CQL -Befehle enthalten den Parameter subscribe für die Planung periodischer Ausführungen der Funktion, wobei der Parameterwert ein Cron -Ausdruck ist. | optional |
Hier sind mehrere Demonstrationsfunktionen, mit denen die Funktionen von Chatops4MSA vorgestellt werden sollen. Sie können diese Funktionen mit natürlicher Sprache oder CQL ausführen.
| ABSICHT | JURISTISCHE PERSON | BESCHREIBUNG |
|---|---|---|
| Get-Example-Echo_Message | Nachricht | Wiederhole eine Nachricht an Discord. |
| Get-Example-math_calculate | Ausdruck | Führen Sie Berechnungen mit dem gegebenen mathematischen Ausdruck durch. |
| Get-Github-Service_Recent_ACTIVITY | service_name, number_of_activity | Jüngste Aktivitäten des Repo eines Dienstes abrufen. |
| get-Github-service_past_week_team_activity | service_name | Holen Sie sich die Aktivitäten des Teams für den angegebenen Service in der vergangenen Woche. |
| Get-Github-Service_Code_Scanning | service_name | Holen Sie sich den Scheckbericht des neuesten Commits im Repo des Dienstes. |
| Set-Github-Ausgabe | service_name, problem_title, problem_message | Erstellen Sie Probleme im Repo von Diensten mit Abhängigkeitsrisiken. |
| Get-Github-isue_progress_timeline | service_name, number_of_issue | Beschreiben Sie den Fortschritt des Problems mit einer Zeitleiste. |
| Get-Github-Contribution_of_team_Member | service_name | Holen Sie sich die Beitragsanalyse der Teammitglieder. |
| Monitor-Prometheus-Promql_overview | (null) | Überwachen Sie alle Service -Metriken mithilfe von PromQL. |
| Monitor-Prometheus-Grafana_Overview | (null) | Überwachen Sie den Gesamtstatus aller Dienste mithilfe einer grafischen Benutzeroberfläche (GUI). |
| Get-Prometheus-Alert_Rule | (null) | Sehen Sie sich die Alarmregeln über die Prometheus -UI an. |
| Monitor-prometheus-service_health | (null) | Überwachen Sie den Gesundheitszustand aller Dienstleistungen. |
| Monitor-Prometheus-ALL_Service_yesterday_status | (null) | Abrufen Sie den gestrigen Microservice -Betriebsstatus mithilfe von PromQL ab. |
| Monitor-Prometheus-Service_Dependency | (null) | Überwachen Sie die Abhängigkeitsbeziehungen zwischen Mikrodiensten. |
| test-k6-stress_testing | service_name | Führen Sie Stresstests für einen bestimmten Service durch. |
| Test-K6-Smoke_testing_all_Service | number_of_virtual_user | Führen Sie Rauchtests für den gesamten Service durch. |
| Test-Custom_test-Smoke_and_repo_all_service | number_of_virtual_user | Führen Sie Rauchtests zu allen Diensten durch, überwachen Sie den Status und erhalten Sie die aktuelle Aktivitäten für das Ausfall von Mikrodiensten. |
Aus Sicherheitsgründen können die folgenden Funktionen nur über Slash -Befehle und nicht über natürliche Sprache ausgeführt werden.
Füllen Sie den Cron -Ausdruck in den subscribe -Parameter von CQL aus, zum Beispiel:

Sie können den Befehl Slash /check_all_subscription verwenden, um alle Abonnements anzuzeigen, z. B.:

Und Sie können den Slash -Befehl /unsubscribe_all_capability verwenden, um sich von allen Funktionen zu entschreiben, z. B.:

YouTube -Link
Wir überprüfen die Gesundheit des Discord -Bots regelmäßig. Trotzdem haben wir keine hohe Verfügbarkeitsgarantie für den Service. Fühlen Sie sich frei, ein Problem zu eröffnen, wenn es nicht verfügbar ist.
Discord -Link
Das Standardkonto für DevOps -Tools ist
admin. Das Standardkennwort lautetsoselab.
Erstellen Sie eine Discord -Anwendung (Bot):
Supervisor und Team_Member .Registrieren Sie Slash -Befehle (CQL):
git clone https://github.com/sheng-kai-wang/ChatOps4Msa.gitapplication.properties und secret.yml -Dateien, Sie können sich auf die bereitgestellten Vorlagen beziehen: Anwendungs-Template.properties und secry_template.yml. Bereitstellen Sie auf Ihrem Server mit den bereitgestellten .sh -Skriptdateien auf:
sh run_all.sh um das gesamte System zu starten."Ctrl" + "b", then "d" , um die TMUX -Sitzung zu beenden. Sie können die Sitzung mit tmux attach erneut eingeben.Geben Sie die folgenden 4 Microservice-Repositories zur Verwendung von Github-bezogenen Funktionen an:
<<Reverse proxy domain>>adminsoselabscan_run_id aus der URL zu erhalten. Beziehen Sie sich auf die Schritt_FOR_GITHUB_SCAN_RUN_ID.Melden Sie sich bei Grafana an und konfigurieren Sie manuell die Datenquelle (Prometheus), um die Funktionen von Grafana zu ermöglichen:
sh run_chatops4msa.sh um dies zu tun.Ich muss nur Konfigurationsdateien im Niedrigcode-Format schreiben.
Siehe Custom_Capability.md