콘텐츠로 이동

로그 엔진 전환

개요

이 문서에서는 Guance 로그 엔진 전환 방법을 설명합니다. 6가지 엔진을 지원합니다: 원본 오픈소스 Elasticsearch, 원본 오픈소스 OpenSearch, AWS 클라우드의 관리형 OpenSearch, Huawei Cloud의 관리형 Elasticsearch, Alibaba Cloud의 관리형 Elasticsearch 로그 강화 버전, Alibaba Cloud의 관리형 Elasticsearch. 이 작업은 POC에서 프로덕션 로그 엔진으로 전환할 때 사용됩니다.

전제 조건

  • 로그 엔진 주소, 계정 및 비밀번호 준비
  • analysis-ik가 성공적으로 설치되었는지 확인
  • 인덱스 자동 생성이 비활성화되어 있는지 확인
  • Guance MySQL 주소, df_core 데이터베이스의 계정 및 비밀번호 준비

전환 절차

1단계: kodo-x 서비스 중지

kubectl scale -n forethought-kodo deploy kodo-x --replicas 0

2단계: 구성 새로고침

df_core 데이터베이스에 로그인합니다.

  1. 테이블 백업
SQL> create table df_core.main_es_instance_copy select * from df_core.main_es_instance;
  1. 정보 조회
SQL> select authorization,configJSON,id,host from df_core.main_es_instance;

구조:

mysql> select id,host,authorization,configJSON from df_core.main_es_instance;
+----+----------------------------------------+------------------------------------------------------------------------+-------------------------+
| id | host                                   | authorization                                                          | configJSON              |
+----+----------------------------------------+------------------------------------------------------------------------+-------------------------+
|  1 | http://testing-ft-elastic.cloudcare.cn | {"admin": {"password": "xxxxx", "username": "elastic"}}                | {"provider": "elastic"} |
+----+----------------------------------------+------------------------------------------------------------------------+-------------------------+
1 rows in set (0.01 sec)
  1. 구성 업데이트
SQL> update df_core.main_es_instance a set a.authorization='{"admin": {"password": "xxxxx", "username": "elastic"}}',a.configJSON='{"provider": "elastic"}',a.host='http://elasticsearch-client-headless.middleware:9200' where id =1;

파라미터 설명:

  • authorization은 ES 사용자 이름 및 비밀번호입니다.
  • configJSON은 ES 공급업체입니다.

    가능한 값:

    • elastic (원본 오픈소스 Elasticsearch)
    • opensearch (원본 오픈소스 OpenSearch)
    • aws_opensearch (AWS 클라우드의 관리형 OpenSearch)
    • huawei_opensearch (Huawei Cloud의 관리형 Elasticsearch)
    • aliyun_openstore (Alibaba Cloud의 관리형 Elasticsearch 로그 강화 버전)
    • aliyun_elasticsearch (Alibaba Cloud의 관리형 Elasticsearch)
  • host는 ES 주소입니다.

  • id는 2단계에서 얻은 ES 인스턴스 ID입니다.

3단계: 서비스 재시작

kubectl delete pods --all -n forethought-kodo

4단계: ES 템플릿 초기화

forethought-core inner api 컨테이너에 로그인하여 명령어를 실행합니다:

$ curl 'http://127.0.0.1:5000/api/v1/inner/es/init' -X 'POST'  -H 'Content-Type: application/json'
$ curl 'http://127.0.0.1:5000/api/v1/inner/es/init_subsequent' -X 'POST'  -H 'Content-Type: application/json'

5단계: kodo-x 시작

kubectl scale -n forethought-kodo deploy kodo-x --replicas 3

6단계: Redis 캐시 비우기

Redis 데이터베이스에 로그인합니다:

flushall

7단계: 확인

Guance 콘솔에 로그인하여 인프라 및 로그 기능을 자세히 확인하세요.

FAQ

페이지 쿼리 실패 (query failed)

전제 조건

  • 오류가 발생한 워크스페이스의 워크스페이스 ID 확인
  • OpenSearch에 접근 가능해야 함

오류 인덱스 삭제

curl -XDELETE -u "user:password" http://<OPenSearchHost>:9200/<워크스페이스 ID>*

*는 생략하지 마세요.

문서 평가

이 페이지가 도움이 되었나요?