모니터링 백엔드

설치 확인

디렉터리 구조

HyperFrame이 정상적으로 설치되면 monitoring 디렉터리 하위에 다음과 같은 디렉터리 구조가 생성됩니다.

monitoring
|-- bin
|-- config
|-- config-examples
|-- licenses
|-- logs
|-- oap-libs
|-- tools
bin

실행 스크립트가 위치합니다.

config

설정 파일이 위치합니다.

config-examples

설정 파일의 예시가 위치합니다.

licenses

라이선스가 위치합니다.

logs

로그 파일이 위치합니다.

oap-libs

실행 파일이 위치합니다.

tools

data-generator, profile-exporter 등의 툴이 위치합니다.

실행

모니터링 백엔드 설치 경로의 bin 디렉터리로 이동한 후 startup.sh를 실행하면 백엔드 서버가 기동됩니다. 단, 모니터링 백엔드 실행 전 반드시 Elasticsearch가 실행 중인 상태여야 합니다.

./startup.sh

종료

모니터링 백엔드 설치 경로의 bin 디렉터리로 이동한 후 kill.sh를 수행하면 백엔드 서버가 종료됩니다.

./kill.sh

환경 설정

백엔드 서버 설정

백엔드 서버의 설정 파일은 다음과 같습니다.

설정 파일 설명

application.yaml

수집하는 마스터의 전체 설정 파일입니다.

alarm-settings.yaml

메트릭 기반의 단순 알람 설정 파일입니다.

tomcat_business.yaml

업무 단위의 Tomcat 메트릭 설정 파일입니다.

tomcat_instance.yaml

인스턴스 단위의 Tomcat 메트릭 설정 파일입니다.

wildfly_business.yaml

업무 단위의 WildFly 메트릭 설정 파일입니다.

wildfly_instance.yaml

인스턴스 단위의 WildFly 메트릭 설정 파일입니다.

apache_business.yaml

업무 단위의 Apache 서버 메트릭 설정 파일입니다.

apache_instance.yaml

인스턴스 단위의 Apache 서버 메트릭 설정 파일입니다.

nginx_business.yaml

업무 단위의 Nginx 서버 메트릭 설정 파일입니다.

nginx_instance.yaml

인스턴스 단위의 Nginx 서버 메트릭 설정 파일입니다.

log4j2.xml

로그 관련 설정 파일입니다.

application.yaml 파일

application.yaml 파일은 수집하는 마스터의 전체 설정 파일로 각 모듈(cluster, core, storage, etc 등)의 selector에 원하는 옵션으로 설정합니다.

이때 selector에 설정된 값 중 왼쪽은 환경 변수이고, 오른쪽은 기본값입니다. 만약 기본값을 따르지 않고 임의로 설정되어 있다면 주석에 기본값이 명시됩니다.

  • cluster

    단일 노드에서 실행하는 경우 cluster의 selector에 standalone을 설정합니다.

    cluster:
      selector: ${SW_CLUSTER:standalone}
      standalone:
  • core

    백엔드 서버 노드를 실행하는 방법에 대해 정의합니다.

    core:
      selector: ${SW_CORE:default}
      default:
        role: ${SW_CORE_ROLE:Mixed}
        restHost: ${SW_CORE_REST_HOST:0.0.0.0}
        restPort: ${SW_CORE_REST_PORT:12800}
        restContextPath: ${SW_CORE_REST_CONTEXT_PATH:/api/monitoring}
        restMaxThreads: ${SW_CORE_REST_MAX_THREADS:200}
        restIdleTimeOut: ${SW_CORE_REST_IDLE_TIMEOUT:30000}
        restAcceptQueueSize: ${SW_CORE_REST_QUEUE_SIZE:0}
        httpMaxRequestHeaderSize: ${SW_CORE_HTTP_MAX_REQUEST_HEADER_SIZE:8192}
        gRPCHost: ${SW_CORE_GRPC_HOST:0.0.0.0}
        gRPCPort: ${SW_CORE_GRPC_PORT:11800}
        maxConcurrentCallsPerConnection: ${SW_CORE_GRPC_MAX_CONCURRENT_CALL:0}
        maxMessageSize: ${SW_CORE_GRPC_MAX_MESSAGE_SIZE:0}
        gRPCThreadPoolSize: ${SW_CORE_GRPC_THREAD_POOL_SIZE:48}
        gRPCSslEnabled: ${SW_CORE_GRPC_SSL_ENABLED:false}
        gRPCSslKeyPath: ${SW_CORE_GRPC_SSL_KEY_PATH:""}
        gRPCSslCertChainPath: ${SW_CORE_GRPC_SSL_CERT_CHAIN_PATH:""}
        gRPCSslTrustedCAPath: ${SW_CORE_GRPC_SSL_TRUSTED_CA_PATH:""}
        downsampling: ${SW_CORE_DOWNSAMPLING:Minute,Hour,Day}
        tenSecondMetricsTTL: ${SW_CORE_TEN_SECOND_METRICS_TTL:30}
        minuteMetricsTTL: ${SW_CORE_MINUTE_METRICS_TTL:3}
        tenMinuteMetricsTTL: ${SW_CORE_TEN_MINUTE_METRICS_TTL:6}
        hourMetricsTTL: ${SW_CORE_HOUR_METRICS_TTL:1}
        dayMetricsTTL: ${SW_CORE_DAY_METRICS_TTL:10}
        enableDataKeeperExecutor: ${SW_CORE_ENABLE_DATA_KEEPER_EXECUTOR:true}
        dataKeeperExecutePeriod: ${SW_CORE_DATA_KEEPER_EXECUTE_PERIOD:5}
        recordDataTTL: ${SW_CORE_RECORD_DATA_TTL:3}
        l1FlushPeriod: ${SW_CORE_L1_AGGREGATION_FLUSH_PERIOD:500}
        storageSessionTimeout: ${SW_CORE_STORAGE_SESSION_TIMEOUT:70000}
        persistentPeriod: ${SW_CORE_PERSISTENT_PERIOD:10}
        serviceNameMaxLength: ${SW_SERVICE_NAME_MAX_LENGTH:70}
        instanceNameMaxLength: ${SW_INSTANCE_NAME_MAX_LENGTH:70}
        endpointNameMaxLength: ${SW_ENDPOINT_NAME_MAX_LENGTH:150}
        searchableTracesTags: ${SW_SEARCHABLE_TAG_KEYS:http.method,http.status_code, rpc.status_code,db.type,db.instance,mq.queue,mq.topic,mq.broker}
        searchableAlarmTags: ${SW_SEARCHABLE_ALARM_TAG_KEYS:level}
        autocompleteTagKeysQueryMaxSize: ${SW_AUTOCOMPLETE_TAG_KEYS_QUERY_MAX_ SIZE:100}
        autocompleteTagValuesQueryMaxSize: ${SW_AUTOCOMPLETE_TAG_VALUES_QUERY_MAX _SIZE:100}
        prepareThreads: ${SW_CORE_PREPARE_THREADS:2}
        activeSpanThreshold: ${SW_ACTIVE_SPAN_THRESHOLD:1000}
        activeSpanSize: ${SW_ACTIVE_SPAN_SIZE:10}
    파라미터 설명

    role

    백엔드 서버의 역할입니다. (현재 Mixed만 지원)

    restHost

    GrapQL 쿼리 또는 HTTP 데이터 요청을 보낼 IP 주소입니다.

    [참고] 역할이 'Mixed’인 경우에는 0.0.0.0으로 설정합니다.

    restPort

    UI 또는 외부에서 모니터링 마스터에 데이터를 요청할 때 사용하는 포트 번호입니다.

    restContextPath

    REST API의 웹 콘텍스트 경로입니다.

    restMaxThreads

    REST API를 처리하는 최대 스레드 개수입니다.

    restIdleTimeOut

    REST API 타임아웃 시간입니다. (단위: milliseconds)

    restAcceptQueueSize

    REST API 대기 큐 크기입니다.

    httpMaxRequestHeaderSize

    HTTP 요청 헤더의 최대 크기입니다.

    gRPCHost

    gRPC 서비스의 바인딩 IP 주소입니다. (예: 수집할 에이전트의 마스터 IP 주소)

    gRPCPort

    gRPC 서비스의 바인딩 포트 번호입니다.

    maxConcurrentCallsPerConnection

    최대 동시 호출 허용 수입니다. (기본값 제한은 없음)

    maxMessageSize

    서버에서 받을 수 있는 메시지의 최대 크기입니다.

    [참고] 설정되어 있지 않은 경우 4MiB가 사용됩니다.

    RPCThreadPoolSize

    gRPC 서버의 풀 크기입니다.

    gRPCSslEnabled

    gRPC 서비스의 SSL 활성화 여부입니다.

    gRPCSslKeyPath

    gRPC SSL 키 파일의 경로입니다.

    gRPCSslCertChainPath

    gRPC SSL 인증서 체인 파일 경로입니다.

    gRPCSslTrustedCAPath

    gRPC trusted CA 파일 경로입니다.

    downsampling

    다운샘플링의 집계 수준입니다. (수집 단위: 10초)

    • 분(Minute)

    • 10분(TenMinute)

    • 시간(Hour)

    • 일(Day)

    tenSecondMetricsTTL

    10초 단위 메트릭의 라이프 사이클입니다. (단위: days)

    minuteMetricsTTL

    분 단위 메트릭의 라이프 사이클입니다. (단위: months)

    tenMinuteMetricsTTL

    10분 단위 메트릭의 라이프 사이클입니다. (단위: months)

    hourMetricsTTL

    시간 단위 메트릭의 라이프 사이클입니다. (단위: years)

    dayMetricsTTL

    일 단위 메트릭의 라이프 사이클입니다. (단위: years)

    enableDataKeeperExecutor

    메트릭 데이터를 자동 삭제하는 스케줄러의 실행 여부입니다.

    dataKeeperExecutePeriod

    TTL 스케줄러의 실행 주기입니다. (단위: minutes)

    recordDataTTL

    트레이스 데이터의 라이프 사이클입니다. (단위: days)

    l1FlushPeriod

    L1 집계에서 L2 집계로 보내는 주기입니다. (단위: milliseconds)

    • L1 집계: 수집할 때 메모리에서 임시적으로 집계하는 역할

    • L2 집계: L1에서 값을 DB로 전송하기 전에 다운샘플링 기준으로 재집계하는 역할

    storageSessionTimeout

    세션 타임아웃의 임계값입니다. (단위: milliseconds)

    persistentPeriod

    데이터의 영속성 주기입니다. (단위: seconds)

    serviceNameMaxLength

    서비스 이름의 최대 길이입니다.

    instanceNameMaxLength

    인스턴스 이름의 최대 길이입니다.

    [주의] 서비스 이름 길이와 인스턴스 이름 길이의 합이 최대 200을 초과할 수 없습니다.

    endpointNameMaxLength

    엔드포인트 이름의 최대 길이입니다.

    [주의] 서비스 이름 길이와 인스턴스 이름 길이의 합이 최대 240을 초과할 수 없습니다.

    searchableTracesTags

    검색 조건에 사용할 트레이스 태그입니다. (해당 파라미터에 설정된 태그만 검색이 가능)

    searchableAlarmTags

    검색 조건에 사용할 알람 태그입니다. (해당 파라미터에 설정된 태그만 검색이 가능)

    WebAdmin의 알람 내역 화면에서 태그로 검색 시 사용할 키 값을 설정합니다. (예: level, example)

    autocompleteTagKeysQuery MaxSize

    자동 완성으로 선택할 수 있는 최대 태그 키 크기입니다.

    autocompleteTagValuesQuery MaxSize

    자동 완성으로 선택할 수 있는 최대 태그 값 크기입니다.

    prepareThreads

    메트릭 데이터 저장에 사용하는 스레드 크기입니다.

    activeSpanThreshold

    액티브 스팬의 임계 시간 값입니다.

    [참고] 설정된 시간 이상으로 실행 중인 트레이스를 표시합니다.

    activeSpanSize

    액티브 스팬의 임계 개수입니다.

    [참고] 설정된 수만큼의 실행 중인 트레이스를 표시합니다.

  • storage

    storage:
      selector: ${SW_STORAGE:otel-elasticsearch}
      otel-elasticsearch:
        namespace: ${SW_NAMESPACE:""}
        clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:${ELASTICSEARCH_IP}:9200}
        protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
        connectTimeout: ${SW_STORAGE_ES_CONNECT_TIMEOUT:3000}
        socketTimeout: ${SW_STORAGE_ES_SOCKET_TIMEOUT:30000}
        responseTimeout: ${SW_STORAGE_ES_RESPONSE_TIMEOUT:15000}
        numHttpClientThread: ${SW_STORAGE_ES_NUM_HTTP_CLIENT_THREAD:0}
        user: ${SW_ES_USER:""}
        password: ${SW_ES_PASSWORD:""}
        trustStorePath: ${SW_STORAGE_ES_SSL_JKS_PATH:""}
        trustStorePass: ${SW_STORAGE_ES_SSL_JKS_PASS:""}
        secretsManagementFile: ${SW_ES_SECRETS_MANAGEMENT_FILE:""}
        dayStep: ${SW_STORAGE_DAY_STEP:1}
        indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:1}
        indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:1}
        superDatasetDayStep: ${SW_SUPERDATASET_STORAGE_DAY_STEP:-1}
        superDatasetIndexShardsFactor: ${SW_STORAGE_ES_SUPER_DATASET_INDEX_SHARDS_FACTOR:5}
        superDatasetIndexReplicasNumber: ${SW_STORAGE_ES_SUPER_DATASET_INDEX_REPLICAS_NUMBER:0}
        indexTemplateOrder: ${SW_STORAGE_ES_INDEX_TEMPLATE_ORDER:0}
        bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:5000}
        batchOfBytes: ${SW_STORAGE_ES_BATCH_OF_BYTES:10485760}
        flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:5}
        concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2}
        resultWindowMaxSize: ${SW_STORAGE_ES_QUERY_MAX_WINDOW_SIZE:10000}
        metadataQueryMaxSize: ${SW_STORAGE_ES_QUERY_MAX_SIZE:10000}
        scrollingBatchSize: ${SW_STORAGE_ES_SCROLLING_BATCH_SIZE:5000}
        segmentQueryMaxSize: ${SW_STORAGE_ES_QUERY_SEGMENT_SIZE:200}
    파라미터 설명

    namespace

    ElasticSearch에 사용할 인덱스의 접두사(prefix)입니다. (기본값: sw)

    clusterNodes

    ElasticSearch의 클러스터 노드 클라이언트에 연결하는 IP 주소입니다.

    protocol

    사용할 프로토콜의 종류입니다.

    • http

    • https

    connectTimeout

    ElasticSearch의 클라이언트 연결 타임아웃입니다. (단위: milliseconds)

    socketTimeout

    ElasticSearch의 클라이언트 소켓 타임아웃입니다. (단위: milliseconds)

    responseTimeout

    ElasticSearch의 클라이언트 응답 타임아웃입니다. (단위: milliseconds)

    [참고] 0으로 설정하면 해당 기능은 사용되지 않습니다.

    numHttpClientThread

    소켓 I/O를 사용하는 HTTP 클라이언트 스레드 개수입니다.

    [참고] 0 이하면 서버의 프로세스 수로 지정합니다.

    user

    ElasticSearch 클러스터의 사용자 이름입니다.

    password

    ElasticSearch 클러스터의 비밀번호입니다.

    trustStorePath

    JKS 파일 경로 입니다.

    [참고] 사용자 이름과 비밀번호가 활성화되어 있는 경우에만 작동합니다.

    trustStorePass

    JKS 파일 비밀번호입니다.

    [참고] 사용자 이름과 비밀번호가 활성화되어 있는 경우에만 작동합니다.

    secretsManagementFile

    프로퍼티 형식의 비밀번호 관리 파일입니다.

    해당 파일에는 서드파티 도구에서 관리하는 사용자 이름과 비밀번호가 포함됩니다.

    dayStep

    분/시간/일 간격의 인덱스의 날짜 수입니다.

    indexShardsNumber

    새로운 인덱스의 샤드 수입니다.

    indexReplicasNumber

    새로운 인덱스의 복제 수입니다.

    superDatasetDayStep

    레코드(trace) 인덱스에 대한 Day Step입니다. (내부적으로 사용됨)

    superDatasetIndexShardsFactor

    레코드(trace) 인덱스에 대한 샤드 수입니다.

    [참고] shards number = indexShardsNumber × superDatasetIndexShardsFactor

    superDatasetIndexReplicas Number

    레코드(trace) 인덱스에 대한 복제 수입니다.

    indexTemplateOrder

    인덱스 템플릿 순서입니다.

    bulkActions

    레코드 데이터에 대한 bulk action 수입니다.

    batchOfBytes

    bulk action 시 body의 최대 크기입니다. (단위: bytes)

    flushInterval

    flush 주기입니다. (단위: seconds)

    [참고] bulk 작업과는 무관하게 동작하며, 인덱스의 새로고침 주기는 INT(flushInterval × 2/3)로 설정됩니다.

    concurrentRequests

    동시 요청 허용 수입니다.

    resultWindowMaxSize

    캐시로 로드할 수 있는 최대 데이터셋 크기입니다.

    metadataQueryMaxSize

    쿼리 메타데이터의 최대 크기입니다.

    scrollingBatchSize

    단일 쿼리로 일괄 검색 시 결과가 metadataQueryMaxSize 또는 resultWindowMaxSize를 초과하면 요청을 나눌 배치 크기입니다.

    segmentQueryMaxSize

    하나의 쿼리로 요청할 수 있는 스팬의 최대 크기입니다.

  • receiver-otel

    OpenTelemetrty 메트릭 리시버를 설정합니다.

    receiver-otel:
      selector: ${SW_OTEL_RECEIVER:default}
      default:
        enabledHandlers: ${SW_OTEL_RECEIVER_ENABLED_HANDLERS:"otel"}
        enabledOtelRules: ${SW_OTEL_RECEIVER_ENABLED_OTEL_RULES:" apache_business, apache_instance, nginx_business, nginx_instance, wildfly_business, wildfly_instance, tomcat_business, tomcat_instance, vm"}
    파라미터 설명

    enabledHandlers

    otel에 사용할 수 있는 핸들러입니다.

    enabledOtelRules

    데이터 수집 및 분석에 사용할 OpenTelemetry 룰입니다.

    설정된 이름과 동일한 yaml을 config/otel-oc-rules에 생성하고 메트릭 수집 규약을 내부에 작성합니다.

  • receiver-otel-trace

    OpenTelemetry 트레이스 리시버를 설정합니다.

    receiver-otel-trace:
      selector: ${SW_OTEL_RECEIVER:default}
      default:
        searchableTracesTags: ${SW_SEARCHABLE_TAG_KEYS:http.method,http.status_code,http.url, db.type,db.instance,mq.queue,mq.topic,mq.broker}
    파라미터 설명

    searchableTracesTags

    검색 조건에 사용할 트레이스 태그입니다. (해당 파라미터에 설정된 태그만 검색이 가능)

  • query

    query:
      selector: ${SW_QUERY:restapi}
      restapi:
  • alarm

    알람을 사용하는 설정입니다.

    alarm:
      selector: ${SW_ALARM:default}
      default:
  • configuration

    알람 설정을 가져오는 방법을 설정합니다. 현재는 selector로 remote-tmax, local, none만 사용 가능합니다.

    • remote-tmax

      HyperFrame Manager(HFM)로부터 주기적으로 알람 설정을 받아옵니다.

      configuration:
        selector: ${SW_CONFIGURATION:remote-tmax}
        none:
        remote-tmax:
          host: ${SW_HFM_SERVER_HOST:"http://localhost:9736"}
          path: ${SW_HJFM_SERVER_CONTEXT_PATH:"/api/monitoring/alarm/rule/yaml"}
          period: ${SW_HFM_PERIOD:60}
      파라미터 설명

      host

      HFM 서버의 호스트 주소입니다.

      path

      HFM 알람 룰 주소입니다.

      period

      알람 설정 업데이트 주기입니다.

    • local

      alarm-setting.yaml에 정의된 알람 설정을 받아옵니다.

      configuration:
        selector: ${SW_CONFIGURATION:local}
        none:
        remote-tmax:
          period: ${SW_LOCAL_PERIOD:60}
      파라미터 설명

      period

      알람 설정 업데이트 주기입니다.

    • none

      알람 설정을 사용하지 않습니다.

      configuration:
        selector: ${SW_CONFIGURATION:none}
        none:

본 안내서에 설명되지 않은 옵션은 현재 지원되지 않습니다. 임의로 수정하면 서버가 정상적으로 기동되지 않을 수 있습니다.

alarm-settings.yaml 파일

alarm-settings.yaml 파일은 메트릭 기반의 단순 알람 설정 파일입니다.

alarm-settings.yaml 파일의 설정은 application.yaml 파일의 configuration.selectorlocal로 설정한 경우에만 반영됩니다.

rules:
  service_resp_time_rule:  # rule-name
    metrics-name: service_resp_time
    threshold: 1000
    op: ">"
    period: 10
    count: 1
    silence-period: 5
    tags:
      level: WARNING
파라미터 설명

rule-name

알람 규칙의 이름입니다.

[주의] _rule로 끝나는 고유한 이름이어야 합니다. (예: service_resp_time_rule)

metrics-name

메트릭 이름입니다.

threshold

알람 발생의 기준인 임계값입니다.

op

알람을 발생하기 위해 임계값과 비교하는 데 사용할 비교 연산자(>, >=, <, <=, ==)입니다.

period

알람 발생 여부를 확인할 구간입니다.

count

period에 설정된 시간 동안 임계값의 초과 횟수입니다. (op 기준)

silence-period

알람을 중지할 기간입니다.

tags

사용자가 지정한 태그입니다. (알람의 구별 속성을 지정하는 데 사용)

tomcat_business.yaml 파일

tomcat_business.yaml 파일은 otel-oc-rules 하위에 위치하며, 업무 단위의 Tomcat 메트릭 설정 파일입니다.

메트릭 이름 설명

tomcat_business_http_server_request_count

HTTP 서버 요청의 전체 수입니다.

tomcat_business_http_server_error_count

HTTP 서버 오류 응답의 전체 수입니다.

tomcat_business_average_http_latency

HTTP 평균 대기 시간입니다.

tomcat_business_http_histogram

HTTP 대기 시간의 히스토그램입니다.

tomcat_business_active_requests

HTTP 활성 요청 수입니다.

tomcat_instance.yaml 파일

tomcat_instance.yaml 파일은 otel-oc-rules 하위에 위치하며, 인스턴스 단위의 Tomcat 메트릭 설정 파일입니다.

메트릭 이름 설명

tomcat_instance_http_server_request_count

HTTP 서버 요청의 전체 수입니다.

tomcat_instance_http_server_error_count

HTTP 서버 오류 응답의 전체 수입니다.

tomcat_instance_average_http_latency

HTTP 평균 대기 시간입니다.

tomcat_instance_http_histogram

HTTP 대기 시간의 히스토그램입니다.

tomcat_instance_active_requests

HTTP 활성 요청 수입니다.

tomcat_instance_instance_jvm_memory_usage

JVM 메모리 사용량입니다. (label: type)

tomcat_instance_instance_jvm_memory_commited

할당된 JVM 메모리 크기입니다. (label: type)

tomcat_instance_instance_jvm_threads_count

스레드 수입니다.

tomcat_instance_instance_jvm_system_cpu_utilization

시스템 CPU 사용률입니다.

wildfly_business.yaml 파일

wildfly_business.yaml 파일은 otel-oc-rules 하위에 위치하며, 업무 단위의 WildFly 메트릭 설정 파일입니다.

메트릭 이름 설명

wildfly_business_http_server_request_count

HTTP 서버 요청의 전체 수입니다.

wildfly_business_http_server_error_count

HTTP 서버 오류 응답의 전체 수입니다.

wildfly_business_average_http_latency

HTTP 평균 대기 시간입니다.

wildfly_business_http_histogram

HTTP 대기 시간의 히스토그램입니다.

wildfly_business_active_requests

HTTP 활성 요청 수입니다.

wildfly_instance.yaml 파일

wildfly_instance.yaml 파일은 otel-oc-rules 하위에 위치하며, 인스턴스 단위의 WildFly 메트릭 설정 파일입니다.

메트릭 이름 설명

wildfly_instance_http_server_request_count

HTTP 서버 요청의 전체 수입니다.

wildfly_instance_http_server_error_count

HTTP 서버 오류 응답의 전체 수입니다.

wildfly_instance_average_http_latency

HTTP 평균 대기 시간입니다.

wildfly_instance_http_histogram

HTTP 대기 시간의 히스토그램입니다.

wildfly_instance_active_requests

HTTP 활성 요청 수입니다.

wildfly_instance_instance_jvm_memory_usage

JVM 메모리 사용량입니다. (label: type)

wildfly_instance_instance_jvm_memory_commited

할당된 JVM 메모리 크기입니다. (label: type)

wildfly_instance_instance_jvm_threads_count

스레드 수입니다.

wildfly_instance_instance_jvm_system_cpu_utilization

시스템 CPU 사용률입니다.

apache_business.yaml 파일

apache_business.yaml 파일은 otel-oc-rules 하위에 위치하며, 업무 단위의 Apache 서버 메트릭 설정 파일입니다.

메트릭 이름 설명

apache_business_connections

전체 연결 수입니다. (label: state)

apache_business_up

실행 중인 Apache 업무 수입니다.

apache_business_load

Apache 서버의 로드 상태입니다. (label: interval)

apache_business_processes

Apache 프로세스 수입니다.

apache_business_scoreboard

Apache 스코어보드의 상태입니다. (label: state)

apache_business_sent_kilobytes_total

Apache 서버에서 전송된 업무 단위의 총 데이터 양입니다. (단위: kilobytes)

apache_business_workers

Apache 워커의 상태입니다. (label: state)

apache_instance.yaml 파일

apache_instance.yaml 파일은 otel-oc-rules 하위에 위치하며, 인스턴스 단위의 Apache 서버 메트릭 설정 파일입니다.

메트릭 이름 설명

apache_instance_connections

전체 연결 수입니다. (label: state)

apache_instance_up

실행 중인 Apache 인스턴스 수입니다.

apache_instance_load

Apache 서버의 로드 상태입니다. (label: interval)

apache_instance_processes

Apache 프로세스 수입니다.

apache_instance_scoreboard

Apache 스코어보드의 상태입니다. (label: state)

apache_instance_sent_kilobytes_total

Apache 서버에서 전송된 인스턴스 단위의 총 데이터 양입니다. (단위: kilobytes)

apache_instance_workers

Apache 워커의 상태입니다. (label: state)

nginx_business.yaml 파일

nginx_business.yaml 파일은 otel-oc-rules 하위에 위치하며, 업무 단위의 Nginx 서버 메트릭 설정 파일입니다.

메트릭 이름 설명

nginx_business_http_request_total

전체 HTTP 요청 수입니다.

nginx_business_connections_writing

Nginx가 클라이언트로 응답을 전송하는 커넥션 수입니다.

nginx_business_connections_reading

Nginx가 요청 헤더를 읽고 있는 커넥션 수입니다.

nginx_business_up

실행 중인 Nginx 인스턴스 수입니다.

nginx_business_connections_handled

처리한 클라이언트 커넥션 수입니다.

nginx_business_connections_active

현재 활성화된 클라이언트 커넥션 수입니다.

nginx_business_connections_accepted

수신한 클라이언트 커넥션 수입니다.

nginx_instance.yaml 파일

nginx_instance.yaml 파일은 otel-oc-rules 하위에 위치하며, 인스턴스 단위의 Nginx 서버 메트릭 설정 파일입니다.

메트릭 이름 설명

nginx_instance_http_request_total

전체 HTTP 요청 수입니다.

nginx_instance_connections_writing

Nginx가 클라이언트로 응답을 전송하는 커넥션 수입니다.

nginx_instance_connections_reading

Nginx가 요청 헤더를 읽는 커넥션 수입니다.

nginx_instance_up

실행 중인 Nginx 인스턴스의 수입니다.

nginx_instance_connections_handled

처리한 클라이언트 커넥션 수입니다.

nginx_instance_connections_active

현재 활성화된 클라이언트 커넥션 수입니다.

nginx_instance_connections_accepted

수신한 클라이언트 커넥션 수입니다.