마이크로 서비스 아키텍처 용 Chatops -ChatOps4msa
ChatOps4MSA는 대형 언어 모델 (LLM)을 사용하여 마이크로 서비스 개발 및 운영을 위해 설계된 대화 보조 도구입니다. 사용자는 실시간 서비스 상태를 모니터링하고 테스트 및 코드 스캔과 같은 자동화 된 작업을 수행하며 CQL (Chatops Query Language) 또는 자연 언어라는 설계된 쿼리 언어를 사용하여 경고 알림을받을 수 있습니다.
개발자는 저 코드 구성 파일을 사용하여 원하는 기능을 사용자 정의 할 수 있으며,이 파일은 종종 광범위한 교육 데이터가 필요한 기존 챗봇 개발과 구별됩니다. 최첨단 대형 언어 모델을 활용하여 ChatOps4MSA는 사용자 쿼리를 분석하여 의도 및 엔티티를 결정하여 해당 조치를 가능하게합니다.
chatops4msa의 시나리오는 다음과 같습니다.

chatops4msa의 작동 개념은 다음과 같습니다.

자세한 내용은 feature.md를 참조하십시오
Chatops 채널에서 @ChatOps4Msa-Bot 사용하여 chatops4msa를 언급 한 다음 자연어로 요청을 입력하십시오.

Chatops 채널에서 / 로 시작하는 슬래시 명령을 사용하여 명령을 직접 실행하십시오.

그리고 CQL의 구문은 다음과 같습니다.
/[ACTION] [TOOL] [COMMAND] [SERVICE] [FLAGS]

| 매개 변수 | 설명 | 필수의? |
|---|---|---|
| [행동] | 정보 검색 (GET), 설정 구성 (SET), 모니터링 서비스 (모니터), 테스트 서비스 (테스트) 등과 같이 수행 할 작업. | 필수의 |
| [도구] | 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, 숫자 _of_activity | 서비스 리포의 최근 활동을 검색하십시오. |
| get-github-service_past_week_team_activity | Service_name | 지난 주에 지정된 서비스에 대한 팀의 활동을 얻으십시오. |
| get-github-service_code_scanning | Service_name | 서비스 저장소에서 최신 커밋에 대한 확인 보고서를 받으십시오. |
| 세트 github- 문제 | Service_name, issure_title, issure_message | 의존성 위험이있는 서비스의 저장소에서 문제를 만듭니다. |
| get-github-issue_progress_timeline | Service_name, 숫자 _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를 통해 경고 규칙을보십시오. |
| 모니터 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 | 숫자 _of_virtual_user | 모든 서비스에서 연기 테스트를 수행하십시오. |
| test-custom_test-smoke_and_repo_all_service | 숫자 _of_virtual_user | 모든 서비스에서 연기 테스트를 수행하고, 상태를 모니터링하며, 미세 서비스에 실패한 최근 활동을 얻습니다. |
보안상의 이유로, 다음 기능은 자연 언어가 아닌 슬래시 명령을 통해서만 실행할 수 있습니다.
CQL의 subscribe 매개 변수로 CRON 표현식을 채우십시오.

슬래시 명령 /check_all_subscription 사용하여 모든 구독을 볼 수 있습니다.

예를 들어 슬래시 명령 /unsubscribe_all_capability 사용하여 모든 기능에서 구독을 취소 할 수 있습니다.

YouTube 링크
우리는 불화 봇의 건강을 정기적으로 점검합니다. 그럼에도 불구하고, 우리는 서비스에 대한 고 가용성 보증이 없습니다. 문제를 사용할 수 없게되면 자유롭게 문제를여십시오.
불화 링크
DevOps 도구의 기본 계정은
admin이고 기본 비밀번호는soselab입니다.
Discord Application (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 얻으려면 워크 플로를 수동으로 한 번 실행해야합니다. step_for_github_scan_run_id를 참조하십시오.Grafana에 로그인하고 Grafana 관련 기능을 활성화하기 위해 데이터 소스 (Prometheus)를 수동으로 구성하십시오.
sh run_chatops4msa.sh 명령을 사용하십시오.로우 코드 형식의 구성 파일 만 작성하면됩니다.
custom_capability.md를 참조하십시오