2.3. 운영 문제 해결
이 섹션에서는 OpenShift에 표시되도록 3scale 감사 로깅과 OpenShift에서 3scale 로그 및 작업 대기열에 액세스하는 방법을 설명합니다.
2.3.1. OpenShift에서 3scale 감사 로깅 구성 링크 복사링크가 클립보드에 복사되었습니다!
이를 통해 Elasticsearch, Fluentd 및 Kibana(EFK) 로깅 툴을 통해 모든 로그를 한 곳에 쿼리할 수 있습니다. 이러한 툴을 사용하면 3scale 구성, 이러한 변경을 수행한 시기 및 시기에 대한 가시성이 향상됩니다. 예를 들어 청구, 애플리케이션 계획, API 구성 등에 대한 변경이 포함됩니다.
사전 요구 사항
- 3scale 2.14 배포.
절차
모든 애플리케이션 로그를 표준 OpenShift Pod 로그로 전달하도록 감사 로깅을 stdout 로 구성합니다.
몇 가지 고려 사항:
-
3scale이 온프레미스에 배포될 때
stdout에 대한 감사 로깅은 기본적으로 비활성화되어 있습니다. 이 기능을 완전히 작동하도록 구성해야 합니다. -
stdout에 대한 감사 로깅은 3scale 호스팅에서 사용할 수 없습니다.
2.3.2. 감사 로깅 활성화 링크 복사링크가 클립보드에 복사되었습니다!
3scale에서는 features.yml 구성 파일을 사용하여 일부 글로벌 기능을 활성화합니다. stdout 에 대한 감사 로깅을 활성화하려면 기본 파일을 교체하려면 ConfigMap 에서 이 파일을 마운트해야 합니다. features.yml 을 사용하는 OpenShift 포드는 system-app 및 system-sidekiq 입니다.
사전 요구 사항
- 3scale 프로젝트에 대한 관리자 액세스 권한이 있어야 합니다.
절차
다음 명령을 입력하여
stdout에 대한 감사 로깅을 활성화합니다.oc patch configmap system -p '{"data": {"features.yml": "features: &default\n logging:\n audits_to_stdout: true\n\nproduction:\n <<: *default\n"}}'oc patch configmap system -p '{"data": {"features.yml": "features: &default\n logging:\n audits_to_stdout: true\n\nproduction:\n <<: *default\n"}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 환경 변수를 내보냅니다.
export PATCH_SYSTEM_VOLUMES='{"spec":{"template":{"spec":{"volumes":[{"emptyDir":{"medium":"Memory"},"name":"system-tmp"},{"configMap":{"items":[{"key":"zync.yml","path":"zync.yml"},{"key":"rolling_updates.yml","path":"rolling_updates.yml"},{"key":"service_discovery.yml","path":"service_discovery.yml"},{"key":"features.yml","path":"features.yml"}],"name":"system"},"name":"system-config"}]}}}}'export PATCH_SYSTEM_VOLUMES='{"spec":{"template":{"spec":{"volumes":[{"emptyDir":{"medium":"Memory"},"name":"system-tmp"},{"configMap":{"items":[{"key":"zync.yml","path":"zync.yml"},{"key":"rolling_updates.yml","path":"rolling_updates.yml"},{"key":"service_discovery.yml","path":"service_discovery.yml"},{"key":"features.yml","path":"features.yml"}],"name":"system"},"name":"system-config"}]}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 업데이트된 배포 구성을 관련 OpenShift 포드에 적용합니다.
oc patch dc system-app -p $PATCH_SYSTEM_VOLUMES oc patch dc system-sidekiq -p $PATCH_SYSTEM_VOLUMES
oc patch dc system-app -p $PATCH_SYSTEM_VOLUMES oc patch dc system-sidekiq -p $PATCH_SYSTEM_VOLUMESCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.3. Red Hat OpenShift의 로깅 구성 링크 복사링크가 클립보드에 복사되었습니다!
감사 로깅을 활성화하여 3scale 애플리케이션 로그를 OpenShift로 전달하면 로깅 툴을 사용하여 3scale 애플리케이션을 모니터링할 수 있습니다.
Red Hat OpenShift에 대한 로깅 구성에 대한 자세한 내용은 다음을 참조하십시오.
2.3.4. 로그에 액세스 링크 복사링크가 클립보드에 복사되었습니다!
각 구성 요소의 배포 구성에는 액세스 및 예외에 대한 로그가 포함되어 있습니다. 배포에 문제가 발생하면 해당 로그를 확인하여 자세한 내용을 확인하십시오.
다음 단계에 따라 3scale의 로그에 액세스합니다.
절차
로그를 원하는 Pod의 ID를 찾습니다.
oc get pods
oc get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc logs및 선택한 Pod의 ID를 입력합니다.oc logs <pod>
oc logs <pod>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 시스템 Pod에는 각각 별도의 로그가 있는 두 개의 컨테이너가 있습니다. 컨테이너의 로그에 액세스하려면
system-provider및system-developerPod를 사용하여--container매개변수를 지정합니다.oc logs <pod> --container=system-provider oc logs <pod> --container=system-developer
oc logs <pod> --container=system-provider oc logs <pod> --container=system-developerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.5. 작업 대기열 확인 링크 복사링크가 클립보드에 복사되었습니다!
작업 대기열에는 system-sidekiq Pod에서 전송된 정보 로그가 포함됩니다. 이러한 로그를 사용하여 클러스터가 데이터 처리 중인지 확인합니다. OpenShift CLI를 사용하여 로그를 쿼리할 수 있습니다.
oc get jobs
oc get jobs
oc logs <job>
oc logs <job>
2.3.6. 단조성 증가 방지 링크 복사링크가 클립보드에 복사되었습니다!
단조성 증가를 방지하기 위해 기본적으로 3scale 일정은 다음 표의 자동 삭제입니다.
- user_sessions - 일주일에 한 번 정리가 트리거되고 2주가 지난 레코드를 삭제합니다.
- 감사 - 정리는 하루에 한 번 트리거되고 3 개월이 지난 레코드를 삭제합니다.
- log_entries - 하루에 한 번 트리거를 정리하고 6개월 이상 오래된 레코드를 삭제합니다.
- event_store_events - 정리는 일주일에 한 번 트리거되고 1주일이 지난 레코드를 삭제합니다.
위의 표를 제외하고 다음 표에서는 데이터베이스 관리자가 수동으로 삭제해야 합니다.
- alerts
| 데이터베이스 유형 | SQL 명령 |
|---|---|
| MySQL |
DELETE FROM alerts WHERE timestamp < NOW() - INTERVAL 14 DAY;
|
| PostgreSQL |
DELETE FROM alerts WHERE timestamp < NOW() - INTERVAL '14 day';
|
| Oracle |
DELETE FROM alerts WHERE timestamp <= TRUNC(SYSDATE) - 14;
|
추가 리소스
- OCP(OpenShift Container Platform)에 대한 자세한 내용은 OCP 설명서를 참조하십시오.
- Pod 자동 스케일링.
- 컴퓨팅 노드 추가.
- 라우팅 최적화.