Chatops for Microservices Architecture - Chatops4msa
CHATOPS4MSA - это инструмент разговорного помощника, разработанный для разработки и операций микросервисов, используя крупные языковые модели (LLMS). Пользователи могут отслеживать статус обслуживания в реальном времени, выполнять автоматические действия, такие как тесты и сканирование кода, и получать уведомления о предупреждении с использованием разработанного языка запросов под названием CQL (язык запросов Chatops) или естественный язык.
Разработчики могут настраивать желаемые функции, используя файлы конфигурации с низким кодом, которые отличают его от традиционной разработки чат-ботов, которые часто требуют обширных учебных данных. Используя современные крупные языковые модели, CHATOPS4MSA анализирует пользовательские запросы для определения намерений и объектов, обеспечивая соответствующие действия.
Вот сценарий Chatops4msa:

Вот операция концепции Chatops4msa:

Для получения более подробной информации см. Fecate.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-EXAMER-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-Issie | service_name, anguage_title, angue_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. |
| 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 | Выполните тесты на дым на всех услугах, контролируйте статус и получайте недавние действия по сбое микросервисов. |
По соображениям безопасности следующие возможности могут выполняться только с помощью команд SLASH, а не через естественный язык.
Заполните выражение Cron в параметр subscribe CQL, например:

Вы можете использовать команду SLASH /check_all_subscription для просмотра всех подписок, например:

И вы можете использовать команду SLASH /unsubscribe_all_capability чтобы отписаться от всех возможностей, например:

Ссылка на YouTube
Мы периодически проверяем здоровье бота. Тем не менее, у нас нет гарантии высокой доступности на услуге. Не стесняйтесь открывать проблему, если она становится недоступной.
Ссылка на разброс
Аккаунт по умолчанию для DevOps Tools -
admin, а пароль по умолчанию -soselab.
Создайте приложение Discord (BOT):
Supervisor и Team_Member .Зарегистрировать команды SLASH (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 из URL. См. STEP_FOR_GITHUB_SCAN_RUN_ID.Войдите в Grafana и вручную настройте источник данных (Prometheus), чтобы обеспечить возможности, связанные с Графаной:
sh run_chatops4msa.sh для этого.Необходимо написать только файлы конфигурации в формате низкого кода.
См. Custom_capability.md