Chatops for Microservices Architecture - Chatops4MSA
Chatops4MSA é uma ferramenta de assistente de conversação projetada para o desenvolvimento e operações dos microsserviços, utilizando grandes modelos de idiomas (LLMS). Os usuários podem monitorar o status de serviço em tempo real, executar ações automatizadas como testes e digitalização de código e receber notificações de alerta usando uma linguagem de consulta projetada chamada CQL (idioma de consulta Chatops) ou linguagem natural.
Os desenvolvedores podem personalizar as funcionalidades desejadas usando arquivos de configuração de baixo código, que o distinguem do desenvolvimento tradicional de chatbot que geralmente requer dados de treinamento extensos. Aproveitando os modelos de idiomas grandes de ponta, o ChatOps4MSA analisa as consultas do usuário para determinar intenções e entidades, permitindo ações correspondentes.
Aqui está o cenário de Chatops4MSA:

Aqui está o conceito de operação de chatops4msa:

Para mais detalhes, consulte o Feature.md
No canal Chatops, use @ChatOps4Msa-Bot para mencionar o ChatOps4msa e insira sua solicitação no idioma natural.

No canal Chatops, execute diretamente os comandos usando comandos SLASH que começam com / .

E aqui está a sintaxe do CQL:
/[ACTION] [TOOL] [COMMAND] [SERVICE] [FLAGS]

| PARÂMETRO | DESCRIÇÃO | OBRIGATÓRIO? |
|---|---|---|
| [AÇÃO] | As ações a serem executadas, como recuperar informações (GET), definir configurações (SET), Monitoring Services (Monitor), Testing Services (Test) e assim por diante. | obrigatório |
| [FERRAMENTA] | As ferramentas a serem usadas, como Github, Prometheus, K6, módulos personalizados e assim por diante. | obrigatório |
| [COMANDO] | As operações a serem executadas, como service_recent_activity . | obrigatório |
| [SERVIÇO] | O serviço de destino para execução, que pode ser selecionado como all_service para incluir todos os serviços. | opcional |
| [Flags] | Opções de parâmetros adicionais, que podem ser múltiplas; Todos os comandos CQL incluem o parâmetro subscribe para agendar execuções periódicas da função, com o valor do parâmetro sendo uma expressão de CRON. | opcional |
Aqui estão vários recursos de demonstração projetados para mostrar os recursos do ChatOps4MSA, você pode executar esses recursos usando linguagem natural ou CQL.
| INTENÇÃO | ENTIDADE | DESCRIÇÃO |
|---|---|---|
| Get-Exemplo-ECHO_MESSAGE | mensagem | Basta ecoar uma mensagem para discórdia. |
| Get-Exemplo-Math_Calculate | expressão | Realize cálculos usando a expressão matemática dada. |
| get-github-service_recent_activity | Service_name, número_of_activity | Recuperar atividades recentes do repositório de um serviço. |
| get-github-service_past_week_team_activity | Service_name | Obtenha a atividade da equipe para o serviço especificado na semana passada. |
| get-github-service_code_scanning | Service_name | Obtenha o relatório de cheque da mais nova confirmação no repositório do serviço. |
| Set-Github-Issue | Service_name, Issue_title, Issue_message | Crie problemas no repositório de serviços com riscos de dependência. |
| get-github-issue_progress_timeline | Service_name, número_of_issue | Descreva o progresso da questão com uma linha do tempo. |
| get-github-contrribution_of_team_member | Service_name | Obtenha a análise de contribuição dos membros da equipe. |
| monitor-prometheus-promql_overview | (null) | Monitore todas as métricas de serviço usando o PROMQL. |
| Monitor-Prometheus-Grafana_overview | (null) | Monitore o status geral de todos os serviços usando uma interface gráfica do usuário (GUI). |
| Get-Prometheus-alert_rule | (null) | Veja os alertas governam através da interface do usuário do Prometheus. |
| Monitor-PROMETEUS-Service_Health | (null) | Monitore o estado de saúde de todos os serviços. |
| monitor-prometheus-ll_service_yesterday_status | (null) | Recupere o status operacional de microsserviço de ontem usando o PROMQL. |
| Monitor-PROMETEUS-Service_dependência | (null) | Monitore as relações de dependência entre os microsserviços. |
| Test-k6-sfort_testing | Service_name | Executar testes de estresse em um serviço específico. |
| test-k6-smoke_testing_all_service | número_of_virtual_user | Realize testes de fumaça em todos os serviços. |
| teste-custom_test-smoke_and_repo_all_service | número_of_virtual_user | Realize testes de fumaça em todos os serviços, monitore o status e obtenha atividades recentes para falhar em microsserviços. |
Por razões de segurança, os seguintes recursos só podem ser executados por comandos Slash e não através da linguagem natural.
Preencha a expressão de Cron no parâmetro subscribe do CQL, por exemplo:

Você pode usar o comando slash /check_all_subscription para visualizar todas as assinaturas, por exemplo:

E você pode usar o Slash Command /unsubscribe_all_capability para cancelar a inscrição de todos os recursos, por exemplo:

Link do YouTube
Verificamos a saúde do Bot Discord periodicamente. No entanto, não temos alta garantia de disponibilidade no serviço. Sinta -se à vontade para abrir um problema se ficar indisponível.
Link de discórdia
A conta padrão das ferramentas do DevOps é
admine a senha padrão ésoselab.
Crie um aplicativo Discord (BOT):
Supervisor e Team_Member .Registre comandos Slash (CQL):
git clone https://github.com/sheng-kai-wang/ChatOps4Msa.gitapplication.properties e secret.yml Arquivos, você pode consultar os modelos fornecidos: Application-template.properties e secret_template.yml. Implante no seu servidor usando os arquivos de script .sh fornecidos:
sh run_all.sh para iniciar todo o sistema."Ctrl" + "b", then "d" . Você pode entrar novamente na sessão com tmux attach .Fork os 4 repositórios de microsserviço a seguir para utilizar recursos relacionados ao GitHub:
<<Reverse proxy domain>>adminsoselabscan_run_id do URL. Consulte o step_for_github_scan_run_id.Faça login no Grafana e configure manualmente a fonte de dados (Prometheus) para permitir recursos relacionados a Grafana:
sh run_chatops4msa.sh para fazê -lo.Precisa escrever apenas arquivos de configuração no formato de baixo código.
Consulte Custom_capability.md