Oracle NoSQL Database Cloud Service 모니터링

Oracle Cloud Infrastructure Monitoring 서비스를 사용하면 척도 및 경보 기능을 사용하여 클라우드 리소스를 적극적이고 수동적으로 모니터링할 수 있습니다. Monitoring 서비스는 측정항목을 사용하여 리소스 및 알람을 모니터하여 해당 측정항목이 알람 지정 트리거를 충족할 때 통지합니다.

측정항목은 제공된 리소스의 건전성, 용량 또는 성능과 관련된 측정입니다. 알람은 트리거 규칙 및 질의입니다. 알람은 측정항목을 사용하여 클라우드 리소스를 수동으로 모니터링합니다. 알람을 생성할 때 통지 설정을 구성할 수 있습니다.

측정항목은 차원(측정항목 정의에 제공된 리소스 식별자) 및 메타데이터와 함께 원시 데이터 포인트(지정된 측정항목에 대한 시간 기록-값 쌍)로 모니터링 서비스에 내보냅니다. 모니터링 서비스는 통지 서비스에서 관리하는 구성된 대상에 알람 메시지를 게시합니다.

측정 단위를 질의할 때 모니터링 서비스는 지정된 매개변수에 따라 집계된 데이터를 반환합니다. 범위(예: 최근 24시간), 통계 및 간격을 지정할 수 있습니다. 통계는 원시 데이터 포인트에 적용된 집계 함수입니다. SUM 집계 함수는 통계의 예입니다. 간격은 지정된 원시 데이터 포인트 집합을 변환하는 데 사용되는 시간 창입니다. 예를 들어, 5분입니다.

콘솔에는 선택한 리소스에 대한 측정항목당 하나의 모니터링 차트가 표시됩니다. 각 차트의 집계 데이터는 선택한 통계 및 간격을 반영합니다. API 요청은 선택적으로 차원별로 필터링하고 해결 방법을 지정할 수 있습니다. API 응답에는 소스 구획 및 측정항목 네임스페이스와 함께 측정항목 이름이 포함됩니다(측정항목을 내보내는 리소스, 서비스 또는 애플리케이션을 나타냅니다). 네임스페이스는 측정항목 정의에 제공됩니다. 예를 들어, Oracle Cloud에서 내보낸 CpuUtilization 측정항목 정의는 oci_computeagent 측정항목 네임스페이스를 측정항목 소스로 나열합니다.

콘솔, CLI 및 API를 통해 측정항목 및 알람 데이터에 액세스할 수 있습니다. OCI 모니터링 서비스 개념에 대한 자세한 내용은 모니터링 개념을 참조하십시오.

이 문서에는 다음 항목이 있습니다.

Oracle NoSQL Database Cloud Service 측정지표

Oracle NoSQL Database Cloud Service는 측정항목 네임스페이스 oci_nosql를 사용하여 측정항목을 내보냅니다.

Oracle NoSQL Database Cloud Service의 측정항목에는 다음 차원이 포함됩니다.
  • RESOURCEID
    Oracle NoSQL Database Cloud Service에 있는 NoSQL 테이블의 OCID입니다.

    주:

    OCID는 콘솔 및 API에 리소스 정보의 일부로 포함된 Oracle에서 할당한 고유 ID입니다.
  • TABLENAME

    Oracle NoSQL Database Cloud Service에서 NoSQL 테이블의 이름입니다.

  • REPLICA

    다른 영역에서 테이블 업데이트를 수신하는 영역의 이름입니다.

Oracle NoSQL Database Cloud Service는 Oracle Cloud Infrastructure Monitoring Service로 측정지표를 보냅니다. Oracle Cloud Infrastructure 콘솔 SDK 또는 CLI를 사용하여 이러한 측정지표에서 알람을 보거나 생성할 수 있습니다.

표 - Oracle NoSQL Database Cloud Service 측정항목

측정항목 메트릭 표시 이름 단위 설명 차원
ReadUnits 읽기 단위 단위 이 기간 동안 소비된 읽기 단위 수입니다. resourceId tableName
WriteUnits 쓰기 단위 단위 이 기간 동안 소비된 쓰기 단위 수입니다. resourceId tableName
StorageGB 스토리지 크기 GB 테이블에서 소비된 최대 스토리지 양입니다. 이 정보는 매시간 생성되므로 새로 고침 지점 사이에 오래된 값이 표시될 수 있습니다. resourceId tableName
ReadThrottleCount 읽기 스로틀 개수 해당 기간 동안 이 테이블에 대한 읽기 스로틀 예외사항 수입니다. resourceId tableName
WriteThrottleCount 쓰기 스로틀 개수 해당 기간 동안 이 테이블에 대한 쓰기 스로틀 예외사항 수입니다. resourceId tableName
StorageThrottleCount 스토리지 스로틀 개수 해당 기간 동안 이 테이블에 대한 스토리지 스로틀 예외사항 수입니다. resourceId tableName
MaxShardSizeUsagePercent 최대 샤드 크기 사용량 백분율 샤드에 할당된 총 공간에 대한 샤드에서 사용된 공간의 비율입니다. 이것은 테이블에만 적용되며 모든 샤드에서 가장 높은 값이 됩니다. resourceId tableName
Replica Lag 복제본 지연 밀리초 발신자 영역에서 수신자 영역으로 전역 활성 테이블의 데이터 변경사항을 복제하는 데 걸리는 시간 지연입니다.
resourceId
tableName
replica

또한 요구사항에 따라 사용자정의 척도를 게시할 수 있습니다. 예를 들어 애플리케이션 트랜잭션 대기 시간(완료된 트랜잭션당 소요 시간)을 캡처한 다음 해당 데이터를 모니터링 서비스에 게시하도록 측정항목을 설정할 수 있습니다.

NDCS 측정항목 설명

Oracle NoSQL Database Cloud Service는 Oracle Cloud Infrastructure Monitoring Service로 측정지표를 보냅니다.

읽기 단위:

이 기간 동안 소비된 읽기 단위 수입니다. 최종적으로 일관된 읽기 작업에 대한 초당 최대 1KB의 데이터 처리량입니다. 데이터가 1KB보다 크면 읽기 단위가 여러 개 필요합니다. 테이블의 읽기 단위 측정항목 차트는 다음과 같습니다. 측정 단위는 1분마다 수행되며 측정 단위 차트는 기본적으로 5분 간격으로 표시됩니다.


쓰기 단위:

이 기간 동안 소비된 쓰기 단위 수입니다. 쓰기 작업에 대한 초당 최대 1KB의 데이터 처리량입니다. 쓰기 작업은 삽입, 갱신 및 삭제 작업 중에 트리거됩니다. 데이터가 1KB보다 크면 데이터를 쓰려면 여러 읽기 단위가 필요합니다. 테이블에 대한 쓰기 단위 측정항목 차트는 다음과 같습니다. 측정 단위는 1분마다 수행되며 측정 단위 차트는 기본적으로 5분 간격으로 표시됩니다.


StorageGB:

테이블에서 소비된 최대 스토리지 양입니다. 테이블의 Storage metric 차트는 다음과 같습니다. 측정 단위는 1분마다 수행되며 측정 단위 차트는 기본적으로 5분 간격으로 표시됩니다.

주:

스토리지 크기 추적의 시작을 초기 설정하려면 테이블 생성 후 1시간이 걸립니다. 초기 시간이 지나면 저장 영역 통계는 5분마다 갱신됩니다.


주:

저장 영역 GB 측정항목이 잘립니다. 따라서 1GB 미만의 스토리지 사용량은 0으로 표시됩니다. 사용량이 1GB를 초과하면 차트에 스토리지가 표시되기 시작합니다.

ReadThrottleCount:

지정된 기간 동안 제공된 테이블에 대한 읽기 스로틀 예외사항 수가 제공됩니다. 스로틀 예외는 일반적으로 프로비저닝된 읽기 처리량이 초과되었음을 나타냅니다. 이러한 항목이 자주 나타나면 테이블에서 읽기 단위를 늘리는 것을 고려해야 합니다. 테이블에 대한 읽기 스로틀 수 측정항목 차트는 다음과 같습니다. 측정 단위는 1분마다 수행되며 측정 단위 차트는 기본적으로 5분 간격으로 표시됩니다.


WriteThrottleCount:

해당 기간 동안 제공된 테이블에 대한 쓰기 제한 예외사항 수가 제공됩니다. 스로틀 예외는 일반적으로 프로비저닝된 쓰기 처리량이 초과되었음을 나타냅니다. 이런 경우가 자주 발생하면 테이블에서 쓰기 단위를 늘리는 것을 고려해야 합니다. 테이블에 대한 쓰기 스로틀 수 측정항목 차트는 다음과 같습니다. 측정 단위는 1분마다 수행되며 측정 단위 차트는 기본적으로 5분 간격으로 표시됩니다.


StorageThrottleCount:

지정된 기간 동안 제공된 테이블에 대한 스토리지 제한 예외사항 수가 제공됩니다. 스로틀 예외는 일반적으로 프로비저닝된 스토리지 용량이 초과되었음을 나타냅니다. 자주 사용하는 경우 테이블의 저장 영역 용량 증가를 고려해야 합니다. 테이블에 대한 스토리지 스로틀 수 측정항목 차트는 다음과 같습니다. 측정 단위는 1분마다 수행되며 측정 단위 차트는 기본적으로 5분 간격으로 표시됩니다.


MaxShardSizeUsagePercent

특정 테이블에 대한 샤드의 공간 사용량이 가장 높으며 해당 샤드에서 사용된 공간의 백분율입니다.

주:

Oracle NoSQL Database Cloud Service는 샤드로 키를 해시하여 테이블 스토리지를 제공하는 스토리지 노드 모음에 배포합니다. Oracle NoSQL Database Cloud Service 테이블은 직접 표시되지는 않지만 가용성 및 성능을 위해 샤딩되고 복제됩니다. 샤드 키는 100%가 기본 키와 일치하거나 기본 키의 부분 집합입니다. 샤드 키를 공유하는 모든 레코드는 데이터 지역성을 달성하기 위해 함께 배치됩니다.

maxShardSizeUsagepercent가 100에 도달하면 더 이상 테이블에서 쓰기 작업을 수행할 수 없습니다. 테이블에 쓰기 작업을 수행하려면 스토리지 용량을 늘려야 합니다. 이 측정항목은 NoSQL 테이블에 대한 저장 영역 핫스팟이 존재하는지 여부를 확인하는 데 도움이 됩니다.

이 시나리오는 샤드 간에 테이블 데이터가 저장되는 방식의 불균형으로 인해 발생합니다. 대부분의 테이블 데이터가 샤드의 하위 세트에 저장될 때 불균형이 발생할 수 있습니다. NoSQL 데이터베이스의 저장소는 샤딩되며 샤드 키는 테이블 정의의 일부입니다. 계층 테이블에서 상위 테이블과 하위 테이블은 동일한 샤드 키를 공유합니다. 하위 테이블이 있는 상위 테이블이 있는 경우 모든 레코드가 동일한 샤드 키를 공유합니다. 이 모든 데이터가 함께 저장됩니다. 상위 테이블에 하위 테이블이 적을 경우 단일 샤드에서 저장 공간이 줄어듭니다. 이러한 불균형으로 인해 특정 샤드는 다른 샤드보다 훨씬 많은 데이터를 포함할 수 있습니다.

특정 시점에서는 하나의 샤드가 특정 테이블에 대해 가장 높은 공간 사용량을 가지며 해당 샤드에서 사용된 백분율은 MaxShardSizeUsagePercent입니다. 테이블의 maxShardSizeUsagepercent 측정항목 차트는 다음과 같습니다. 측정 단위는 1분마다 수행되며 측정 단위 차트는 기본적으로 5분 간격으로 표시됩니다.


측정 단위에 대한 차트를 보는 것 외에도 다음과 같은 옵션이 있습니다.


테이블 뷰를 통해 지정된 Point-in-time의 Metric 값을 확인할 수 있습니다.


MaxShardSizeUsagePercent 측정항목 모니터링

maxShardSizeUsagepercent에 도달했는지 여부를 확인하려면 이 차트를 주기적으로 모니터해야 합니다. 이 측정항목에 대한 알람을 미리 생성할 수 있습니다.


즉, metric이 특정 값(예: 90%)에 도달할 때 알람을 트리거해야 합니다.


OCI 알람은 OCI 통지 서비스를 사용하여 통지를 전송합니다. 일반적으로 구성된 전자메일을 통해 통지를 전송하도록 알람이 구성됩니다. maxShardSizeUsagepercent가 90%에 도달하면 전자메일 통지가 전송됩니다.


자세한 내용은 알람 및 통지 관리를 참조하십시오.

테이블 데이터가 샤드 간에 분산되는 방식에 불균형이 있는 경우 테이블에 할당된 스토리지 용량을 최대값으로 활용할 수 없습니다. 이 시나리오에서 maxShardSizeUsagepercent는 테이블에 할당된 전체 스토리지를 활용하지 않고도 100 값에 도달합니다. 이제 테이블에 계속 쓰려면 저장 영역을 더 추가해야 합니다. 테이블을 설계할 때 몇 가지 지침을 따르면 이 시나리오를 피할 수 있습니다.
  • 테이블에 대해 올바른 샤드 키를 결정합니다. 카디널리티가 높은 속성은 샤드 키에 적합합니다.
  • 잠재적 샤드 스토리지 불균형 상황을 방지하려면 하위 테이블 수를 제한하십시오.

복제본 지연

Global Active Table의 데이터 변경 사항(INSERT/UPDATE 또는 DELETE)을 발신자 영역에서 수신자 영역으로 복제하는 데 걸리는 시간 지연입니다. 글로벌 활성 테이블의 발신자 영역에서 발생한 쓰기 작업은 시간 지연 후 수신자 영역에 반영됩니다. 시간 지연에 대한 정보는 복제본 지연이라는 측정항목으로 표현됩니다. 복제본 지연은 발신자 영역의 테이블에 있는 데이터를 기준으로 수신자 복제 영역의 테이블 데이터가 현재 상태인 방식을 측정한 것입니다. 복제본 지연은 수신자 영역의 테이블이 지연 기간 동안 발생한 발신자 영역으로부터 아직 업데이트를 받지 않았음을 나타냅니다. 발신자 영역에 테이블에 대한 응용 프로그램 쓰기가 없는 경우 서비스는 핑 방식을 사용하여 지연의 근사값을 계산하며 지연 통계는 수신자 영역에서 계속 사용할 수 있습니다.

복제본 지연에 대한 정보 얻기:

수신자 영역에서 글로벌 활성 테이블을 누르고 테이블 정보를 확인합니다. 리소스에서 측정 단위를 누릅니다. 복제 지연을 밀리초 단위로 표시하는 복제본 지연 측정항목이 표시됩니다. 아래 예제 차트에서 Replica Lag metric이 receiver region인 Canada Southeast(Toronto) 영역에서 가져온 것을 확인할 수 있습니다. 이 글로벌 활성 테이블에는 각각 캐나다 남동부(몬트리올) 및 미국 동부(애슈번) 지역에 두 개의 지역 테이블 복제본이 있습니다. 차트에는 몬트리올 및 애슈번의 지역 테이블 복제본에 대해 각각 두 개의 선이 있습니다.

아래 차트에서 간격은 차트를 그리는 데 사용되는 시간 창을 나타냅니다. 다양한 간격 옵션은 1분, 5분, 1시간, 1일입니다. 기본적으로 복제본 지연은 1분마다 모니터링되며 차트는 5분마다 표시됩니다. 복제본 지연 측정항목에 대해 다른 통계를 선택할 수 있습니다.

예 1: 수신기 지역으로 캐나다 남동부(토론토) 및 캐나다 남동부(몬트리올) 및 미국 동부(애슈번)를 발신자 지역으로 사용하는 복제본 지연

아래 차트는 평균 통계에 대해 5분 간격으로 표시됩니다.


이 예에서 몬트리올과 애슈번은 두 개의 발신자 지역이고 토론토는 척도가 캡처되는 수신자 지역입니다. 몬트리올의 경우 12:25 UTC의 Replica Lag 값을 고려하십시오. 2020 밀리초입니다. 즉, 수신기 지역 캐나다 남동부(토론토)는 지난 2020밀리초 동안 발신자 지역 캐나다 남동부(몬트리올)에서 발생한 업데이트를 받지 못했습니다. 마찬가지로 애슈번의 경우 12:25 UTC에서 복제본 지연 값을 고려합니다. 2954 밀리초입니다. 즉, 수신기 지역 캐나다 남동부(토론토)는 지난 2954밀리초 동안 발신자 지역 미국 동부(애슈번)에서 발생한 업데이트를 받지 못했습니다.

예제 2: 수신자 지역인 미국 동부(애슈번)와 송신자 지역인 캐나다 남동부(몬트리올) 및 캐나다 남동부 토론토가 있는 복제본 지연입니다.

이 예에서 몬트리올과 토론토는 두 개의 발신자 지역이고 애슈번은 측정항목이 캡처되는 수신자 지역입니다.


예 3: 캐나다 남동부(몬트리올)를 수신자 지역으로, 미국 동부(애슈번) 및 캐나다 남동부 토론토를 발신자 지역으로 복제본 지연

이 예에서 Ashburn 및 Toronto는 두 개의 발신자 지역이며 Montreal은 측정항목이 캡처되는 수신자 지역입니다.


Replica 지연에 대한 차트를 보는 것 외에도 다음과 같은 옵션이 있습니다.


테이블 뷰를 통해 지정된 시점의 복제본 지연 값을 확인할 수 있습니다.


Oracle NoSQL Database Cloud Service 측정 단위 보기 또는 나열

콘솔에서 Oracle NoSQL Database Cloud Service에 사용 가능한 측정항목을 볼 수 있습니다. 또한 OCI CLI 명령을 사용하여 Oracle NoSQL Database Cloud Service에 사용할 수 있는 측정지표 목록을 가져올 수 있습니다.

  1. 탐색 메뉴를 열고 관찰성 및 관리를 누릅니다. Monitoring 아래에서 Service Metrics를 누릅니다.
  2. 구획측정 단위 이름 공간(oci_nosql)을 선택합니다.

Cloud Shell에서 다음 명령을 실행합니다. 요청에 지정된 조건과 일치하는 측정항목 정의를 반환합니다. 구획 OCID가 필요합니다. list 명령에 사용 가능한 OPTIONS에 대한 자세한 내용은 List Metrics를 참조하십시오.

oci monitoring metric list --compartment-id <Compartment_OCID> --namespace oci_nosql

예:
oci monitoring metric list --compartment-id ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya --namespace oci_nosql
응답 예:
{
  "data": [
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "ReadThrottleCount",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "ReadUnits",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "StorageGB",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "StorageThrottleCount",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "WriteThrottleCount",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "WriteUnits",
      "namespace": "oci_nosql",
      "resource-group": null
    }
  ]
}

Oracle NoSQL Database Cloud Service 측정지표를 수집하는 방법

특정 측정항목 집합(집계된 데이터)을 수집하기 위한 측정항목 질의를 작성할 수 있습니다. 측정항목 질의는 집계된 데이터 반환을 위해 평가할 MQL(모니터링 질의 언어) 표현식을 포함합니다. Query는 Metric, 통계 및 간격을 지정해야 합니다.

측정항목 질의를 사용하여 클라우드 리소스를 능동적이고 수동적으로 모니터할 수 있습니다. 자발적으로 온디맨드로 생성하는 측정지표 쿼리를 사용하여 적극적으로 모니터링합니다. 콘솔에서 차트를 업데이트하여 여러 쿼리의 데이터를 표시합니다. 재사용할 질의를 저장합니다. 측정항목 질의에 조건을 추가하거나 규칙을 트리거하는 알람으로 수동 모니터합니다.

측정항목 질의 구문(굵은체 요소가 필요함):
metric[interval] {dimensionname=dimensionvalue}.groupingfunction.statistic
임계값 알람 질의 구문(boldface 요소가 필요함):
metric[interval]{dimensionname=dimensionvalue}.groupingfunction.statistic alarmoperator alarmvalue

지원되는 매개변수 값은 Monitoring Query Language (MQL) Reference를 참조하십시오.

예제 질의

단순 측정항목 질의

1분 간격으로 구획의 모든 테이블에 대한 스토리지 스로틀 수의 합계입니다.

측정항목 차트(콘솔): 테이블당 1개에 표시되는 행 수입니다.

StorageThrottleCount[1m].sum()
필터링된 측정항목 질의

단일 테이블로 필터링된 1분 간격으로 구획의 스토리지 스로틀 수 합계입니다.

측정항목 차트(콘솔)에 표시되는 행 수: 1.

StorageThrottleCount[1m]{tableName = "demoKeyVal"}.sum()
집계된 측정항목 질의

평균으로 집계된, 60분 간격으로 집계된, 구획으로 필터링된 읽기 작업의 집계 평균입니다.

측정항목 차트(콘솔): 테이블당 1개에 표시되는 행 수입니다.

ReadUnits[60m]{compartmentId="ocid1.compartment.oc1.phx..exampleuniqueID"}.grouping().mean()
그룹 집계 Metric Query

60분 간격으로 읽기 단위별 읽기 스로틀 수의 집계 평균으로, 구획의 단일 테이블로 필터링됩니다.

측정항목 차트(콘솔): 읽기 단위당 1개에 표시되는 선 수입니다.

ReadThrottleCount[60m]{tableName = "demoKeyVal"}.groupBy(ReadUnits).mean()

측정항목 질의 생성

metric query를 생성하는 방법에는 두 가지가 있습니다. 콘솔 또는 OCI CLI 명령을 사용하여 질의를 생성할 수 있습니다.

  1. 탐색 메뉴를 열고 관찰성 및 관리를 누릅니다. 모니터링에서 측정항목 탐색기를 누릅니다.

    측정항목 탐색기 페이지에는 질의 작성 필드가 포함된 빈 차트가 표시됩니다.

  2. 새 조회에 대한 필드를 채웁니다.
    • 구획: 모니터링할 Oracle NoSQL Database Cloud Service 테이블이 포함된 구획입니다. 기본적으로 첫번째 액세스 가능한 구획이 선택됩니다.
    • 측정항목 네임스페이스: 모니터링할 테이블의 측정항목을 내보내는 Oracle NoSQL Database Cloud Service입니다. 예: oci_nosql.
    • 리소스 그룹(선택사항): 측정항목이 속한 그룹입니다. 리소스 그룹은 사용자정의 측정항목과 함께 제공된 사용자정의 문자열입니다. 서비스 측정항목에 적용할 수 없습니다.
    • 측정항목 이름: 측정항목 이름입니다. 하나의 측정항목만 지정할 수 있습니다. 측정항목 선택은 선택한 구획 및 측정항목 네임스페이스에 따라 다릅니다. 예: ReadUnits
    • 간격: 집계 창입니다.
    • 통계: 합계 함수입니다.
    • 측정항목 차원: 평가된 측정항목 데이터의 범위를 좁히기 위한 선택적 필터입니다.
      • 차원 필드: Oracle NoSQL Database Cloud Service 측정항목의 경우 resourceId 또는 tableName를 차원 이름 및 차원 값 쌍으로 선택할 수 있습니다.
    • 측정 단위 스트림 집계: 측정 단위 차트에 단일 행을 플롯하여 선택한 통계에 대한 모든 측정 단위 스트림의 결합된 값을 나타냅니다.
  3. 차트 업데이트를 누릅니다.

    이 차트는 새 query의 결과를 보여줍니다. 매우 작거나 큰 값은 M for mega (10 to the sixth power)와 같은 SI 단위(International System of Units)로 표시됩니다. 단위는 선택한 측정항목에 해당하며 통계에 따라 변경되지 않습니다.

  4. 질의를 MQL(모니터링 질의 언어) 표현식으로 보려면 고급 모드를 선택합니다.
    • 고급 모드는 차트 오른쪽에 있습니다.

      고급 모드를 사용하여 그룹별로 결과를 집계하기 위해 MQL 구문을 사용하여 질의를 편집합니다. MQL 구문은 추가 매개변수 값도 지원합니다. 기본 및 고급 모드의 질의 매개변수에 대한 자세한 내용은 MQL(Monitoring Query Language) 참조를 참조하십시오.

Cloud Shell에서 다음 명령을 실행합니다. 요청에 지정된 조건과 일치하는 집계된 데이터를 반환합니다. 구획 OCID가 필요합니다.

oci monitoring metric-data summarize-metrics-data --compartment-id<Compartment_OCID> --namespace oci_nosql --query-text [text]

--query-text는 집계할 측정항목 데이터 포인트를 검색할 때 사용할 MQL(모니터링 질의 언어) 표현식입니다. Query는 Metric, 통계 및 간격을 지정해야 합니다. 간격에 대해 지원되는 값: 1m-60m(1h) 선택적으로 차원 및 그룹화 함수를 지정할 수 있습니다. 지원되는 그룹화 함수: grouping(), groupBy() summarize-metrics-data 명령과 함께 사용할 수 있는 OPTIONS에 대한 자세한 내용은 측정항목 데이터 요약을 참조하십시오. 아래 예제에서는 단일 테이블로 필터링된 1분 간격으로 구획의 읽기 단위 합계를 가져오는 필터링된 측정항목 질의를 생성합니다.

예:
oci monitoring metric-data summarize-metrics-data --compartment-id ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya 
--namespace oci_nosql --query-text 'ReadUnits[1m]{tableName="articles"}.sum()'
응답 예:
{
  "data": [
    {
      "aggregated-datapoints": [
        {
          "timestamp": "2022-02-17T11:03:00+00:00",
          "value": 0.0
        },
        {
          "timestamp": "2022-02-17T11:04:00+00:00",
          "value": 0.0
        },
        {
          "timestamp": "2022-02-17T11:05:00+00:00",
          "value": 0.0
        },

        ...
        ...
        ...

        {
          "timestamp": "2022-02-17T13:59:00+00:00",
         "value": 0.0
        },
        {
          "timestamp": "2022-02-17T14:00:00+00:00",
          "value": 0.0
        },
        {
          "timestamp": "2022-02-17T14:01:00+00:00",
          "value": 0.0
        }
      ],
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyav7f67yuj3t2q6rk7lp2a2obfdxa6hg2ho2ea7qabin4q",
        "tableName": "demo"
      },
      "metadata": {},
      "name": "ReadUnits",
      "namespace": "oci_nosql",
      "resolution": null,
      "resource-group": null
    }
  ]
}

알람 생성

알람이 실행 중 상태일 때 다른 알람 등록 정보와 함께 알람 질의를 평가하고 통지를 전송하는 알람을 생성할 수 있습니다. 알람이 트리거되면 구성된 토픽(통지)으로 알람 메시지가 전송되고, 이 메시지는 토픽의 모든 구독에 전송됩니다. Slack, Email, SMS 및 PagerDuty는 통지에서 구성된 항목의 몇 가지 예입니다.

구성된 경우 반복 통지는 구성된 반복 간격의 계속 실행 상태를 알려줍니다. 알람이 다시 OK 상태로 전환되거나 알람이 재설정될 때도 알립니다.

알람 질의는 집계된 데이터 반환을 위해 평가할 MQL(모니터링 질의 언어) 표현식을 포함합니다. Query는 Metric, 통계 및 간격을 지정해야 합니다.

알람을 만드는 방법에는 두 가지가 있습니다. 콘솔 또는 OCI CLI를 사용하여 쿼리를 생성할 수 있습니다.

  1. 탐색 메뉴를 열고 관찰성 및 관리를 누릅니다. 모니터링에서 알람 정의를 누릅니다.
  2. 알람 생성을 누릅니다.

    주:

    Service Metrics 페이지의 미리 정의된 query에서 알람을 생성할 수도 있습니다. Options를 확장하고 Create an Alarm on this Query를 누릅니다. 서비스 측정항목에 대한 자세한 내용은 Oracle NoSQL Database Cloud Service 측정항목 보기 또는 나열을 참조하십시오.
  3. 알람 생성 페이지의 알람 정의에서 알람 설정을 채우거나 업데이트합니다.

    주:

    기본 모드와 고급 모드 간에 토글하려면 고급 모드로 전환 또는 기본 모드로 전환(알람 정의 오른쪽)을 누릅니다.
    • 알람 이름: 새 알람에 대한 사용자 친화적 이름입니다. 이 이름은 이 알람과 관련된 통지의 제목으로 전송됩니다. 기밀 정보를 입력하지 마십시오.
    • 알람 심각도: 알람이 실행 중 상태일 때 필요한 감지된 응답 유형입니다.
    • 알람 본문: 전달된 통지의 사람이 읽을 수 있는 콘텐츠입니다. Oracle은 운영자에게 알람 조건 해결 지침을 제공할 것을 권장합니다. 예: "High Read Throttle Count"
    • 태그(선택 사항): 리소스를 만들 수 있는 권한이 있는 경우 해당 리소스에 자유 형식의 태그를 적용할 수 있는 권한도 있습니다. 정의된 태그를 적용하려면 태그 이름 공간을 사용할 권한이 있어야 합니다. 태그 지정에 대한 자세한 내용은 자원 태그를 참조하십시오. 태그를 적용할지 여부가 확실하지 않으면 이 옵션을 생략하거나(나중에 태그를 적용할 수 있음) 관리자에게 문의하십시오.
    • 측정항목 설명: 알람 조건에 대해 평가할 측정항목입니다.
      • 구획: 모니터링할 Oracle NoSQL Database Cloud Service 테이블이 포함된 구획입니다. 기본적으로 첫번째 액세스 가능한 구획이 선택됩니다.
      • 측정항목 네임스페이스: Oracle NoSQL Database Cloud Service에서 모니터할 테이블의 측정항목을 내보냅니다. 예: oci_nosql.
      • 리소스 그룹(선택사항): 측정항목이 속한 그룹입니다. 리소스 그룹은 사용자정의 측정항목과 함께 제공된 사용자정의 문자열입니다. 서비스 측정항목에 적용할 수 없습니다.
      • 측정항목 이름: 측정항목 이름입니다. 하나의 측정항목만 지정할 수 있습니다. 측정항목 선택은 선택한 구획 및 측정항목 네임스페이스에 따라 다릅니다. 예: ReadUnits
      • 간격: 집계 창입니다.
      • 통계: 합계 함수입니다.
    • 측정항목 차원: 평가된 측정항목 데이터의 범위를 좁히기 위한 선택적 필터입니다.
      • 차원 필드: Oracle NoSQL Database Cloud Service 측정항목의 경우 resourceId 또는 tableName를 차원 이름 및 차원 값 쌍으로 선택할 수 있습니다.
    • 측정 단위 스트림 집계: 측정 단위 차트에 단일 행을 플롯하여 선택한 통계에 대한 모든 측정 단위 스트림의 결합된 값을 나타냅니다.
    • 트리거 규칙: 알람이 실행 중 상태가 되도록 충족되어야 하는 조건입니다. 조건은 임계값(예: StorageGB의 경우 90%)을 지정할 수 있습니다.
      • 연산자: 조건 임계값에 사용되는 연산자입니다.
      • 값: 조건 임계값에 사용할 값입니다.
      • 트리거 지연 시간(분): 경보가 실행 중 상태가 되기 전에 조건이 유지되어야 할 시간(분)입니다.
  4. query 결과 뷰를 변경하려면 오른쪽에서 결과 위에 있는 해당 옵션을 누릅니다.
    • 데이터 테이블 표시: 각각에 대한 시간 기록 및 바이트를 나타내는 데이터 포인트를 나열합니다.
    • 그래프 표시(기본값): 그래프에 데이터 포인트를 플로팅합니다.
  5. 통지 설정: [통지]에서 필드에 정보를 입력합니다.
    • 대상: 통지에 사용할 항목입니다.
    • 통지를 반복하겠습니까?: 알람이 실행 중 상태일 때 지정된 간격에 통지를 다시 보냅니다.
    • 통지 빈도: 통지를 재전송하기 전 대기하는 기간입니다.
    • 통지 숨기기: 평가 및 통지를 일시 중지할 숨김 시간 창을 설정합니다. 시스템 유지 관리 기간 중 알람 통지를 피하는 데 유용합니다.
  6. 새 알람을 사용 안함으로 설정하려면 이 알람 사용을 선택 해제합니다.
  7. 알람 저장을 누릅니다.

Cloud Shell에서 다음 명령을 실행하여 지정된 구획에 새 알람을 생성합니다. 구획 OCID가 필요합니다.

oci monitoring alarm create --compartment-id <Compartment_OCID> --namespace oci_nosql --query-text [text] --destinations [complex type] --display-name [text] --is-enabled [boolean] --metric-compartment-id [text] --severity [text]

--query-text는 집계할 측정항목 데이터 포인트를 검색할 때 사용할 MQL(모니터링 질의 언어) 표현식입니다. Query는 Metric, 통계 및 간격을 지정해야 합니다. 간격에 대해 지원되는 값: 1m-60m(1h) 선택적으로 차원 및 그룹화 함수를 지정할 수 있습니다. 지원되는 그룹화 함수: grouping(), groupBy() 알람 생성 명령에 사용 가능한 OPTIONS에 대한 자세한 내용은 create - alarm을 참조하십시오. 아래 예제에서는 1분 간격으로 구획에서 90의 StorageGB 백분위수가 85보다 큰 경우 단일 테이블로 필터링된 알람 질의를 사용하여 알람을 생성합니다.

임계값 알람의 예:
oci monitoring alarm create --compartment-id ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya 
--namespace oci_nosql --query-text 'StorageGB[1m]{tableName="demo"}.groupBy(WriteUnits).percentile(0.9) > 85' 
--display-name HighStorageConsumption --metric-compartment-id demonosql --severity Critical --is-enabled true

알람 관리

알람 관리 방법에 대한 다음 지침을 따를 수 있습니다.

  • 각 측정항목에 대한 알람 집합을 생성합니다.
    Oracle NoSQL Database Cloud Service 테이블에서 내보낸 각 측정항목에 대해 다음 리소스 동작을 정의하는 알람을 생성합니다.
    • 위험 - Oracle NoSQL Database Cloud Service는 측정지표 값으로 표시된 대로 운용 불가능해질 위험이 있습니다. 예를 들어, 테이블의 저장 영역 크기는 활용률이 높을 위험이 있습니다.
    • 비최적 - Oracle NoSQL Database Cloud Service가 측정항목 값으로 표시된 대로 비최적 레벨에서 성능을 발휘합니다. 예를 들어, ReadUnits 또는 쓰기 단위의 대기 시간이 높습니다.
    • 리소스 작동 또는 작동 중지 - Oracle NoSQL Database Cloud Service에 연결할 수 없거나 작동하지 않습니다. 예를 들어, ReadThrottleCount 또는 WriteThrottleCount에 대한 상수입니다.
  • 알람에 응답하기 위한 프로세스를 설정합니다.
    알람 심각도에 따라 다음과 같은 다양한 방법으로 알람에 응답하도록 선택할 수 있습니다.
    • 위험에서 위험으로 알람의 경우 인스턴스를 최적 운영 레벨로 되돌리는 데 복구가 필요하므로 운영 팀에 즉시 통지하도록 결정할 수 있습니다. PagerDuty 및 전자메일을 통해 담당 팀에 알람 통지를 구성하여 인스턴스가 작동 불가능 상태로 전환되기 전에 조사 및 적절한 수정을 요청합니다. 매분마다 반복 통지를 설정합니다. 누군가 알람 알림에 응답하면 알람을 억제하여 알림을 일시적으로 중지합니다. 측정항목이 최적 값으로 반환되면 숨김을 제거합니다.
    • 경고 또는 비최적 알람의 경우 적절한 개인 또는 팀에 Oracle NoSQL Database Cloud Service 테이블이 평소보다 많은 스토리지 크기를 사용하고 있음을 알릴 수 있습니다. 스토리지 크기를 조사하고 줄이는 데 즉각적인 조치가 필요하지 않으므로 임계값 알람을 구성하여 적절한 연락처에 알립니다. 전자 메일 알림 소음을 줄이기 위해 24시간마다 반복 알림을 사용하여 적절한 개발자 또는 팀에게 보내는 전자 메일 전용으로 알림을 설정합니다.