Chatops pour l'architecture des microservices - Chatops4msa
Chatops4msa est un outil d'assistant conversationnel conçu pour le développement et les opérations des microservices, en utilisant des modèles de grands langues (LLM). Les utilisateurs peuvent surveiller l'état du service en temps réel, effectuer des actions automatisées telles que les tests et la numérisation de code, et recevoir des notifications d'alerte à l'aide d'un langage de requête conçu appelé CQL (langue de requête Chatops) ou de langage naturel.
Les développeurs peuvent personnaliser les fonctionnalités souhaitées à l'aide de fichiers de configuration à faible code, qui le distingue du développement traditionnel du chatbot qui nécessite souvent des données de formation approfondies. Tirant parti des modèles de langue de pointe de pointe, Chatops4MSA analyse les requêtes utilisateur pour déterminer l'intention et les entités, permettant des actions correspondantes.
Voici le scénario de Chatops4msa:

Voici le concept de fonctionnement de Chatops4msa:

Pour plus de détails, voir la fonctionnalité.md
Dans la chaîne Chatopop, utilisez @ChatOps4Msa-Bot pour mentionner Chatops4msa, puis entrez votre demande en langage naturel.

Dans le canal Chatops, exécutez directement des commandes à l'aide de commandes de slash qui commencent par / .

Et voici la syntaxe de CQL:
/[ACTION] [TOOL] [COMMAND] [SERVICE] [FLAGS]

| PARAMÈTRE | DESCRIPTION | REQUIS? |
|---|---|---|
| [ACTION] | Les actions à effectuer, telles que la récupération d'informations (GET), la configuration des paramètres (SET), les services de surveillance (moniteur), les services de test (test), etc. | requis |
| [OUTIL] | Les outils à utiliser, tels que GitHub, Prometheus, K6, les modules personnalisés, etc. | requis |
| [COMMANDE] | Les opérations à exécuter, telles que service_recent_activity . | requis |
| [SERVICE] | Le service cible pour l'exécution, qui peut être sélectionné comme all_service pour inclure tous les services. | facultatif |
| [Flags] | Options de paramètres supplémentaires, qui peuvent être multiples; Toutes les commandes CQL incluent le paramètre subscribe pour planifier des exécutions périodiques de la fonction, la valeur du paramètre étant une expression cron. | facultatif |
Voici plusieurs capacités de démonstration conçues pour présenter les fonctionnalités de Chatops4msa, vous pouvez effectuer ces capacités en utilisant le langage naturel ou CQL.
| INTENTION | ENTITÉ | DESCRIPTION |
|---|---|---|
| Get-Example-Echo_Message | message | Faites simplement écho à un message à Discord. |
| Get-Example-Math_calculate | expression | Effectuez des calculs en utilisant l'expression mathématique donnée. |
| get-github-service_recent_activité | Service_name, numéro_of_activité | Récupérez les activités récentes du dépôt d'un service. |
| get-github-service_past_week_team_activité | service_name | Obtenez l'activité de l'équipe pour le service spécifié au cours de la semaine dernière. |
| get-github-service_code_scanning | service_name | Obtenez le rapport de chèque du nouveau commit dans le dépôt du service. |
| set-github-issue | Service_name, problème_title, problème_message | Créez des problèmes dans le dépôt des services avec des risques de dépendance. |
| get-github-issue_progress_timeline | Service_name, numéro_of_issue | Décrivez les progrès du problème avec un calendrier. |
| get-github-contribution_of_team_member | service_name | Obtenez l'analyse des contributions des membres de l'équipe. |
| Monitor-Prometheus-promql_overview | (null) | Surveillez toutes les mesures de service à l'aide de PROMQL. |
| Monitor-Promeus-Grafana_overview | (null) | Surveillez l'état global de tous les services à l'aide d'une interface utilisateur graphique (GUI). |
| get-prometheus-alert_rule | (null) | Voir les règles d'alerte à travers l'interface utilisateur de Prometheus. |
| Monitor-Prometheus-Service_Health | (null) | Surveillez l'état de santé de tous les services. |
| Monitor-Promeus-all_Service_yesterday_status | (null) | Récupérez l'état opérationnel du microservice d'hier à l'aide de PROMQL. |
| Monitor-Promeus-Service_Dependance | (null) | Surveillez les relations de dépendance entre les microservices. |
| test-k6-stress_testing | service_name | Effectuez des tests de stress sur un service spécifique. |
| test-k6-smoke_testing_all_service | numéro_of_virtual_user | Effectuez des tests de fumée sur tous les services. |
| test-custom_test-smoke_and_repo_all_service | numéro_of_virtual_user | Effectuer des tests de fumée sur tous les services, surveiller l'état et obtenir une activité récente pour défaut des microservices. |
Pour des raisons de sécurité, les capacités suivantes ne peuvent être exécutées que via des commandes de slash et non par le langage naturel.
Remplissez l'expression cron dans le paramètre subscribe de CQL, par exemple:

Vous pouvez utiliser la commande Slash /check_all_subscription pour afficher tous les abonnements, par exemple:

Et vous pouvez utiliser la commande SLASH /unsubscribe_all_capability pour se désabonner de toutes les capacités, par exemple:

Lien youtube
Nous vérifions périodiquement la santé du bot Discord. Néanmoins, nous n'avons pas de garantie de haute disponibilité sur le service. N'hésitez pas à ouvrir un problème s'il devient indisponible.
Lien de discorde
Le compte par défaut des outils DevOps est
adminet le mot de passe par défaut estsoselab.
Créer une application Discord (BOT):
Supervisor et Team_Member .Enregistrer les commandes de slash (CQL):
git clone https://github.com/sheng-kai-wang/ChatOps4Msa.gitapplication.properties et secret.yml , vous pouvez vous référer aux modèles fournis: application-template.properties et secret_template.yml. Déployer sur votre serveur à l'aide des fichiers de script .sh fournis:
sh run_all.sh pour démarrer l'ensemble du système."Ctrl" + "b", then "d" . Vous pouvez réintégrer la session avec tmux attach .Fourk Les 4 référentiels de microservice suivants suivants pour utiliser les capacités liées à GitHub:
<<Reverse proxy domain>>adminsoselabscan_run_id à partir de l'URL. Reportez-vous à l'étape_for_github_scan_run_id.Connectez-vous à Grafana et configurez manuellement la source de données (Prometheus) pour activer les capacités liées à Grafana:
sh run_chatops4msa.sh pour le faire.Il suffit d'écrire des fichiers de configuration au format à faible code.
Voir custom_capability.md