SNMP로 호스트 모니터링

OpenTelemetry 기여 수집기의 SNMP 수신기는 Instana의 SNMP 사용 호스트에서 메트릭을 모니터링할 수 있도록 지원합니다. SNMP 사용 호스트의 메트릭은 OpenTelemetry 구성 파일에 설정된 구성에 따라 수집됩니다.

OpenTelemetry SNMP 수집기를 설정하려면 다음 단계를 완료합니다:

  1. OpenTelemetry 기여 수집기 릴리즈의 최신 바이너리를 알려진 위치에 다운로드하세요. 바이너리는 운영 체제 및 아키텍처와 호환되어야 합니다.

  2. 다운로드한 아카이브된 릴리스를 폴더에 추출합니다. 폴더에는 일반적으로 다음 파일이 포함됩니다:

    • 실행 파일 "otelcol-contrib"
    • README.md
  3. 예를 들어 구성 파일을 만듭니다: host-snmp.yaml 예제 구성 파일을 사용하여 구성 파일을 만듭니다. 구성 파일 샘플은 구성 파일 샘플을 참조하세요.

  4. 구성 파일에서 다음 옵션 중 하나를 사용하여 Instana 엔드포인트를 설정하십시오.
    • OpenTelemetry 데이터를 Instana 에이전트로 전송: 다음 예시와 같이 Instana 에이전트 호스트 IP 주소를 설정하십시오. 자세한 내용은 Instana 에이전트에 OpenTelemetry 데이터를 전송하는 방법을 참조하십시오.
      exporters:
        debug:
          verbosity: detailed
        otlphttp:
          endpoint: http://x.xxx.252.66:4318 # Instana Agent details.
    • OpenTelemetry 데이터를 Instana 백엔드로 전송: 다음 예시와 같이 Instana 백엔드 엔드포인트를 설정하십시오. 자세한 내용은 Instana 백엔드로 OpenTelemetry 데이터를 전송하는 방법을 참조하십시오.
        exporters:
          debug:
            verbosity: detailed
          otlphttp:
            endpoint: https://otlp-blue-saas.instana.io:4318 # An example for a SaaS environment
            headers:
              x-instana-key: <your_instana_key>
              x-instana-host: ${env:HOSTNAME:-hostname}
    Instana 백엔드 OTLP 수신기 ( SaaS ) 환경 엔드포인트에 대한 자세한 내용은 Instana 백엔드 OTLP 수신기 엔드포인트를 참조하십시오.
  5. 필요에 따라 구성 파일의 프로세서 리소스 속성에서 호스트 이름을 업데이트합니다. 예를 들어 Linux 시스템에서는 다음 명령을 사용하여 호스트 이름을 찾을 수 있습니다:

       hostname -f
     
  6. 구성 파일의 프로세서 리소스 속성에서 호스트 ID를 업데이트합니다. 예를 들어 Linux 시스템에서는 다음 명령을 사용하여 호스트 ID를 찾을 수 있습니다:

       cat /etc/machine-id
     
  7. OpenTelemetry 수집기를 시작하고 다음 예제와 같이 구성 파일을 사용하여 otelcol-contrib 을 실행합니다:

       otelcol-contrib --config host-snmp.yaml 
     

샘플 구성 파일

나열된 예제를 재사용하여 구성 파일을 만들 수 있습니다.

로컬 호스트 모니터링

다음 스니펫에서 Instana의 로컬 호스트 메트릭을 모니터링하는 샘플 구성 파일입니다:

receivers:
  snmp:
    collection_interval: 60s
    endpoint: udp://127.0.0.1:161
    version: v1 # Version of SNMP typically v1, v2c or v3
    security_level: no_auth_no_priv2
    user: # username
    auth_type: "MD5"
    auth_password: #password
    privacy_type: #"DES"
    privacy_password: # password
    attributes:
      cpustate:
        value: state
        enum:
          - user
          - system
          - idle
          - interrupt
          - nice
          - steal
          - softirq
          - wait
      cpu:
        value: cpu
        enum:
          - cpuall
      cpuloadstate:
        value: direction
        enum:
          - Load-1
          - Load-5
          - Load-15
      diskdevice:
        value: device
        oid: ".1.3.6.1.4.1.2021.13.15.1.1.2"
      diskdirection:
        value: direction
        enum:
          - read
          - write
      memstate:
        value: state
        enum:
          - used
          - free
          - buffered
          - cached
          - slab_reclaimable
          - slab_unreclaimable
      filesystemstate:
        value: state
        enum:
          - free
          - used
          - reserved
      filesystemdevice:
        value: device
        oid: ".1.3.6.1.2.1.25.2.3.1.3"
      filesystemmountpoint:
        value: mountpoint
        oid: ".1.3.6.1.2.1.25.2.3.1.3"
      networkdirection:
        value: direction
        enum:
          - transmit
          - receive
      networkdevice:
        value: device
        oid: ".1.3.6.1.2.1.2.2.1.2"

    metrics:
      #cpu
      system.cpu.time:
        description: "CPU Time"
        unit: "s"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: double
        scalar_oids:
          - oid: ".1.3.6.1.4.1.2021.11.9.0"
            attributes:
              - name: cpustate
                value: user
              - name: cpu
                value: cpuall
          - oid: ".1.3.6.1.4.1.2021.11.10.0"
            attributes:
              - name: cpustate
                value: system
              - name: cpu
                value: cpuall
          - oid: ".1.3.6.1.4.1.2021.11.11.0"
            attributes:
              - name: cpustate
                value: idle
              - name: cpu
                value: cpuall
          - oid: ".1.3.6.1.4.1.2021.11.51.0"
            attributes:
              - name: cpustate
                value: nice
              - name: cpu
                value: cpuall
      #cpuload
      system.cpu.load_average.1m:
        description: "CPU load"
        unit: "1"
        gauge:
          value_type: double
        scalar_oids:
          - oid: ".1.3.6.1.4.1.2021.10.1.6.1"
            attributes:
              - name: cpuloadstate
                value: Load-1
      system.cpu.load_average.5m:
        description: "CPU load"
        unit: "1"
        gauge:
          value_type: double
        scalar_oids:
          - oid: ".1.3.6.1.4.1.2021.10.1.6.2"
            attributes:
              - name: cpuloadstate
                value: Load-5
      system.cpu.load_average.15m:
        description: "CPU load"
        unit: "1"
        gauge:
          value_type: double
        scalar_oids:
          - oid: ".1.3.6.1.4.1.2021.10.1.6.3"
            attributes:
              - name: cpuloadstate
                value: Load-15
      #disk
      system.disk.io:
        description: "disk io"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.4.1.2021.13.15.1.1.3"
            attributes:
              - name: diskdevice
              - name: diskdirection
                value: read
          - oid: ".1.3.6.1.4.1.2021.13.15.1.1.4"
            attributes:
              - name: diskdevice
              - name: diskdirection
                value: write
      #mem
      system.memory.usage:
        description: "Memory used"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        scalar_oids:
          - oid: ".1.3.6.1.4.1.2021.4.6.0"
            attributes:
              - name: memstate
                value: used
      #filesystem
      system.filesystem.usage:
        description: "usage"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.25.2.3.1.6"
            attributes:
              - name: filesystemdevice
              - name: filesystemmountpoint
              - name: filesystemstate
                value: used
      #network
      system.network.dropped:
        description: "dropped"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.2.2.1.13"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: receive
          - oid: ".1.3.6.1.2.1.2.2.1.19"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: transmit
      system.network.errors:
        description: "error"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.2.2.1.14"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: receive
          - oid: ".1.3.6.1.2.1.2.2.1.20"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: transmit
      system.network.io:
        description: "io"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.2.2.1.10"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: receive
          - oid: ".1.3.6.1.2.1.2.2.1.16"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: transmit
      system.network.packets:
        description: "packages"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.2.2.1.11"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: receive
          - oid: ".1.3.6.1.2.1.2.2.1.17"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: transmit
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:55677
      http:
        endpoint: 0.0.0.0:55678
        cors:
          allowed_origins:
            - "http://*"
            - "https://*"              
exporters:
  debug:
    verbosity: detailed
  otlphttp:
    endpoint: http://9.112.252.66:4318 # Agent ip with 4318 port.

processors:
  batch:
  resourcedetection:
    detectors: [system]
    timeout: 2s
    override: true
    system:
      hostname_sources: ["dns", "os"]
  resource:
    attributes:
      - key: INSTANA_PLUGIN
        action: upsert
        value: "host"
      - key: host.name
        action: upsert
        value: "HostName" #Host Name
      - key: host.id
        action: upsert
        value: "HostId" #Host ID
      - key: snmp.endpoint
        action: upsert
        value: "127.0.0.1" # Host IP Address

service:
  pipelines:
    metrics:
      receivers: [snmp]
      processors: [batch,resource]
      exporters: [debug, otlphttp]
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [debug, otlphttp]
  telemetry:
    metrics:
      address: localhost:18888
      level: basic
 

원격 호스트 모니터링

원격 호스트(예: IP 9.204.201.18 )를 사용하여 Instana에서 원격 호스트 메트릭을 모니터링하는 샘플 구성 파일은 다음 스니펫에 나와 있습니다:

receivers:
  snmp:
    collection_interval: 60s
    endpoint: udp://9.204.201.18:161 # Remote Host IP
    version: v1 # Version of SNMP typically v1, v2c or v3
    security_level: no_auth_no_priv2
    user: # username
    auth_type: "MD5"
    auth_password: #password
    privacy_type: #"DES"
    privacy_password: # password
    attributes:
      cpustate:
        value: state
        enum:
          - user
          - system
          - idle
          - interrupt
          - nice
          - steal
          - softirq
          - wait
      cpu:
        value: cpu
        enum:
          - cpuall
      cpuloadstate:
        value: direction
        enum:
          - Load-1
          - Load-5
          - Load-15
      diskdevice:
        value: device
        oid: ".1.3.6.1.4.1.2021.13.15.1.1.2"
      diskdirection:
        value: direction
        enum:
          - read
          - write
      memstate:
        value: state
        enum:
          - used
          - free
          - buffered
          - cached
          - slab_reclaimable
          - slab_unreclaimable
      filesystemstate:
        value: state
        enum:
          - free
          - used
          - reserved
      filesystemdevice:
        value: device
        oid: ".1.3.6.1.2.1.25.2.3.1.3"
      filesystemmountpoint:
        value: mountpoint
        oid: ".1.3.6.1.2.1.25.2.3.1.3"
      networkdirection:
        value: direction
        enum:
          - transmit
          - receive
      networkdevice:
        value: device
        oid: ".1.3.6.1.2.1.2.2.1.2"

    metrics:
      #cpu
       system.cpu.time:
        description: "CPU Time"
        unit: "s"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: double
        scalar_oids:
          - oid: ".1.3.6.1.4.1.2021.11.9.0"
            attributes:
              - name: cpustate
                value: user
              - name: cpu
                value: cpuall
          - oid: ".1.3.6.1.4.1.2021.11.10.0"
            attributes:
              - name: cpustate
                value: system
              - name: cpu
                value: cpuall
          - oid: ".1.3.6.1.4.1.2021.11.11.0"
            attributes:
              - name: cpustate
                value: idle
              - name: cpu
                value: cpuall
          - oid: ".1.3.6.1.4.1.2021.11.51.0"
            attributes:
              - name: cpustate
                value: nice
              - name: cpu
                value: cpuall
       #cpuload
       system.cpu.load_average.1m:
        description: "CPU load"
        unit: "1"
        gauge:
          value_type: double
        scalar_oids:
          - oid: ".1.3.6.1.4.1.2021.10.1.6.1"
            attributes:
              - name: cpuloadstate
                value: Load-1
       system.cpu.load_average.5m:
        description: "CPU load"
        unit: "1"
        gauge:
          value_type: double
        scalar_oids:
         - oid: ".1.3.6.1.4.1.2021.10.1.6.2"
           attributes:
              - name: cpuloadstate
                value: Load-5
       system.cpu.load_average.15m:
        description: "CPU load"
        unit: "1"
        gauge:
          value_type: double
        scalar_oids:
         - oid: ".1.3.6.1.4.1.2021.10.1.6.3"
           attributes:
              - name: cpuloadstate
                value: Load-15
       #disk
       system.disk.io:
        description: "disk io"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.4.1.2021.13.15.1.1.3"
            attributes:
              - name: diskdevice
              - name: diskdirection
                value: read
          - oid: ".1.3.6.1.4.1.2021.13.15.1.1.4"
            attributes:
              - name: diskdevice
              - name: diskdirection
                value: write
       #mem
       system.memory.usage:
         description: "Memory used"
         unit: "by"
         sum:
           aggregation: cumulative
           monotonic: true
           value_type: int
         scalar_oids:
           - oid: ".1.3.6.1.4.1.2021.4.6.0"
             attributes:
               - name: memstate
                 value: used
       #filesystem
       system.filesystem.usage:
        description: "usage"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.25.2.3.1.6"
            attributes:
              - name: filesystemdevice
              - name: filesystemmountpoint
              - name: filesystemstate
                value: used
       #network
       system.network.dropped:
        description: "dropped"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.2.2.1.13"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: receive
          - oid: ".1.3.6.1.2.1.2.2.1.19"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: transmit
       system.network.errors:
        description: "error"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.2.2.1.14"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: receive
          - oid: ".1.3.6.1.2.1.2.2.1.20"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: transmit
       system.network.io:
        description: "io"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.2.2.1.10"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: receive
          - oid: ".1.3.6.1.2.1.2.2.1.16"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: transmit
       system.network.packets:
        description: "packages"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.2.2.1.11"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: receive
          - oid: ".1.3.6.1.2.1.2.2.1.17"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: transmit
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:55677
      http:
        endpoint: 0.0.0.0:55678
        cors:
          allowed_origins:
            - "http://*"
            - "https://*"
exporters:
  debug:
    verbosity: detailed
  otlphttp:
    endpoint: http://9.112.252.66:4318 # Instana Agent Information

processors:
  batch:
  resourcedetection:
    detectors: [system]
    timeout: 2s
    override: true
    system:
      hostname_sources: ["dns", "os"]
  resource:
    attributes:
    - key: INSTANA_PLUGIN
      action: upsert
      value: "host"
    - key: host.name
      action: upsert
      value: "HostName" #Host Name
    - key: host.id
      action: upsert
      value: "HostId"  #Host ID
    - key: snmp.endpoint
      action: upsert
      value: "9.204.201.18" #Remote Host IP

service:
  pipelines:
    metrics:
      receivers: [snmp]
      processors: [batch,resource]
      exporters: [debug, otlphttp]
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [debug, otlphttp]
  telemetry:
    metrics:
      address: localhost:18888
      level: basic
 

여러 호스트 모니터링:

Instana에서 여러 호스트의 메트릭을 모니터링하는 샘플 구성 파일은 다음 스니펫에 나와 있습니다. 구성 파일에는 각 호스트에 대해 별도의 파이프라인이 있는 섹션이 만들어집니다.

receivers:
  snmp:
    collection_interval: 60s
    endpoint: udp://127.0.0.1:161 #Host1 - Localhost
    version: v1
    security_level: no_auth_no_priv2
    user: snmpuser
    auth_type: "MD5"
    auth_password: "passw0rd"
    privacy_type: "DES"
    privacy_password: "passw0rd"
    attributes:
      cpustate:
        value: state
        enum:
          - user
          - system
          - idle
          - interrupt
          - nice
          - steal
          - softirq
          - wait
      cpu:
        value: cpu
        enum:
          - cpuall
      cpuloadstate:
        value: direction
        enum:
          - Load-1
          - Load-5
          - Load-15
      diskdevice:
        value: device
        oid: ".1.3.6.1.4.1.2021.13.15.1.1.2"
      diskdirection:
        value: direction
        enum:
          - read
          - write
      memstate:
        value: state
        enum:
          - used
          - free
          - buffered
          - cached
          - slab_reclaimable
          - slab_unreclaimable
      filesystemstate:
        value: state
        enum:
          - free
          - used
          - reserved
      # filesystemdevice:
      #   oid: ".1.3.6.1.2.1.25.2.3.1.3"
      filesystemdevice:
        value: device
        oid: ".1.3.6.1.2.1.25.2.3.1.3"
      filesystemmountpoint:
        value: mountpoint
        oid: ".1.3.6.1.2.1.25.2.3.1.3"
      networkdirection:
        value: direction
        enum:
          - transmit
          - receive
      # networkdevice:
      #   oid: ".1.3.6.1.2.1.2.2.1.2"
      networkdevice:
        value: device
        oid: ".1.3.6.1.2.1.2.2.1.2"

    metrics:
      #cpu
       system.cpu.time:
        description: "CPU Time"
        unit: "s"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: double
        scalar_oids:
          - oid: ".1.3.6.1.4.1.2021.11.9.0"
            attributes:
              - name: cpustate
                value: user
              - name: cpu
                value: cpuall
          - oid: ".1.3.6.1.4.1.2021.11.10.0"
            attributes:
              - name: cpustate
                value: system
              - name: cpu
                value: cpuall
          - oid: ".1.3.6.1.4.1.2021.11.11.0"
            attributes:
              - name: cpustate
                value: idle
              - name: cpu
                value: cpuall
          - oid: ".1.3.6.1.4.1.2021.11.51.0"
            attributes:
              - name: cpustate
                value: nice
              - name: cpu
                value: cpuall
       #cpuload
       system.cpu.load_average.1m:
        description: "CPU load"
        unit: "1"
        gauge:
          value_type: double
        scalar_oids:
          - oid: ".1.3.6.1.4.1.2021.10.1.6.1"
            attributes:
              - name: cpuloadstate
                value: Load-1
       system.cpu.load_average.5m:
        description: "CPU load"
        unit: "1"
        gauge:
          value_type: double
        scalar_oids:
         - oid: ".1.3.6.1.4.1.2021.10.1.6.2"
           attributes:
              - name: cpuloadstate
                value: Load-5
       system.cpu.load_average.15m:
        description: "CPU load"
        unit: "1"
        gauge:
          value_type: double
        scalar_oids:
         - oid: ".1.3.6.1.4.1.2021.10.1.6.3"
           attributes:
              - name: cpuloadstate
                value: Load-15
       #disk
       system.disk.io:
        description: "disk io"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.4.1.2021.13.15.1.1.3"
            attributes:
              - name: diskdevice
              - name: diskdirection
                value: read
          - oid: ".1.3.6.1.4.1.2021.13.15.1.1.4"
            attributes:
              - name: diskdevice
              - name: diskdirection
                value: write
       #mem
       system.memory.usage:
         description: "Memory used"
         unit: "by"
         sum:
           aggregation: cumulative
           monotonic: true
           value_type: int
         scalar_oids:
           - oid: ".1.3.6.1.4.1.2021.4.6.0"
             attributes:
               - name: memstate
                 value: used
       #filesystem
       system.filesystem.usage:
        description: "usage"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.25.2.3.1.6"
            attributes:
              - name: filesystemdevice
              - name: filesystemmountpoint
              # - name: storageType
              - name: filesystemstate
                value: used
       #network
       system.network.dropped:
        description: "dropped"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.2.2.1.13"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: receive
          - oid: ".1.3.6.1.2.1.2.2.1.19"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: transmit
       system.network.errors:
        description: "error"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.2.2.1.14"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: receive
          - oid: ".1.3.6.1.2.1.2.2.1.20"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: transmit
       system.network.io:
        description: "io"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.2.2.1.10"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: receive
          - oid: ".1.3.6.1.2.1.2.2.1.16"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: transmit
       system.network.packets:
        description: "packages"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.2.2.1.11"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: receive
          - oid: ".1.3.6.1.2.1.2.2.1.17"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: transmit
  snmp/2:
    collection_interval: 100s
    endpoint: udp://9.204.201.18:161 #Host 2: Remote Host 
    version: v1
    security_level: no_auth_no_priv2
    user: snmpuser
    auth_type: "MD5"
    auth_password: "passw0rd"
    privacy_type: "DES"
    privacy_password: "passw0rd"
    attributes:
      cpustate:
        value: state
        enum:
          - user
          - system
          - idle
          - interrupt
          - nice
          - steal
          - softirq
          - wait
      cpu:
        value: cpu
        enum:
          - cpuall
      cpuloadstate:
        value: direction
        enum:
          - Load-1
          - Load-5
          - Load-15
      diskdevice:
        value: device
        oid: ".1.3.6.1.4.1.2021.13.15.1.1.2"
      diskdirection:
        value: direction
        enum:
          - read
          - write
      memstate:
        value: state
        enum:
          - used
          - free
          - buffered
          - cached
          - slab_reclaimable
          - slab_unreclaimable
      filesystemstate:
        value: state
        enum:
          - free
          - used
          - reserved
      # filesystemdevice:
      #   oid: ".1.3.6.1.2.1.25.2.3.1.3"
      filesystemdevice:
        value: device
        oid: ".1.3.6.1.2.1.25.2.3.1.3"
      filesystemmountpoint:
        value: mountpoint
        oid: ".1.3.6.1.2.1.25.2.3.1.3"
      networkdirection:
        value: direction
        enum:
          - transmit
          - receive
      # networkdevice:
      #   oid: ".1.3.6.1.2.1.2.2.1.2"
      networkdevice:
        value: device
        oid: ".1.3.6.1.2.1.2.2.1.2"

    metrics:
      #cpu
       system.cpu.time:
        description: "CPU Time"
        unit: "s"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: double
        scalar_oids:
          - oid: ".1.3.6.1.4.1.2021.11.9.0"
            attributes:
              - name: cpustate
                value: user
              - name: cpu
                value: cpuall
          - oid: ".1.3.6.1.4.1.2021.11.10.0"
            attributes:
              - name: cpustate
                value: system
              - name: cpu
                value: cpuall
          - oid: ".1.3.6.1.4.1.2021.11.11.0"
            attributes:
              - name: cpustate
                value: idle
              - name: cpu
                value: cpuall
          - oid: ".1.3.6.1.4.1.2021.11.51.0"
            attributes:
              - name: cpustate
                value: nice
              - name: cpu
                value: cpuall
       #cpuload
       system.cpu.load_average.1m:
        description: "CPU load"
        unit: "1"
        gauge:
          value_type: double
        scalar_oids:
          - oid: ".1.3.6.1.4.1.2021.10.1.6.1"
            attributes:
              - name: cpuloadstate
                value: Load-1
       system.cpu.load_average.5m:
        description: "CPU load"
        unit: "1"
        gauge:
          value_type: double
        scalar_oids:
         - oid: ".1.3.6.1.4.1.2021.10.1.6.2"
           attributes:
              - name: cpuloadstate
                value: Load-5
       system.cpu.load_average.15m:
        description: "CPU load"
        unit: "1"
        gauge:
          value_type: double
        scalar_oids:
         - oid: ".1.3.6.1.4.1.2021.10.1.6.3"
           attributes:
              - name: cpuloadstate
                value: Load-15
       #disk
       system.disk.io:
        description: "disk io"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.4.1.2021.13.15.1.1.3"
            attributes:
              - name: diskdevice
              - name: diskdirection
                value: read
          - oid: ".1.3.6.1.4.1.2021.13.15.1.1.4"
            attributes:
              - name: diskdevice
              - name: diskdirection
                value: write
       #mem
       system.memory.usage:
         description: "Memory used"
         unit: "by"
         sum:
           aggregation: cumulative
           monotonic: true
           value_type: int
         scalar_oids:
           - oid: ".1.3.6.1.4.1.2021.4.6.0"
             attributes:
               - name: memstate
                 value: used
       system.filesystem.usage:
        description: "usage"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.25.2.3.1.6"
            attributes:
              - name: filesystemdevice
              - name: filesystemmountpoint
              # - name: storageType
              - name: filesystemstate
                value: used
       #network
       system.network.dropped:
        description: "dropped"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.2.2.1.13"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: receive
          - oid: ".1.3.6.1.2.1.2.2.1.19"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: transmit
       system.network.errors:
        description: "error"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.2.2.1.14"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: receive
          - oid: ".1.3.6.1.2.1.2.2.1.20"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: transmit
       system.network.io:
        description: "io"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.2.2.1.10"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: receive
          - oid: ".1.3.6.1.2.1.2.2.1.16"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: transmit
       system.network.packets:
        description: "packages"
        unit: "by"
        sum:
          aggregation: cumulative
          monotonic: true
          value_type: int
        column_oids:
          - oid: ".1.3.6.1.2.1.2.2.1.11"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: receive
          - oid: ".1.3.6.1.2.1.2.2.1.17"
            attributes:
              - name: networkdevice
              - name: networkdirection
                value: transmit
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:55677
      http:
        endpoint: 0.0.0.0:55678
        cors:
          allowed_origins:
            - "http://*"
            - "https://*"
exporters:
  debug:
    verbosity: detailed
  otlphttp:
    endpoint: http://9.112.252.66:4318
  otlphttp/2:
    endpoint: http://9.204.201.18:4318

processors:
  batch:
  resourcedetection:
    detectors: [system]
    timeout: 2s
    override: true
    system:
      hostname_sources: ["dns", "os"]
  resource:
    attributes:
    - key: INSTANA_PLUGIN
      action: upsert
      value: "host"
    - key: host.name
      action: upsert
      value: "LocalHost" # Host Name
    - key: host.id
      action: upsert
      value: "LocalHost" # Host ID
    - key: snmp.endpoint
      action: upsert
      value: "127.0.0.1" # Host IP
  resource/2:
    attributes:
    - key: INSTANA_PLUGIN
      action: upsert
      value: "host"
    - key: host.name
      action: upsert
      value: "RemoteHost" #Host Name
    - key: host.id
      action: upsert
      value: "RemoteHost" # Host ID
    - key: snmp.endpoint
      action: upsert
      value: "9.204.201.18" # Host IP

service:
  pipelines:
    metrics:
      receivers: [snmp]
      processors: [batch,resource]
      exporters: [debug, otlphttp]
    metrics/2:
      receivers: [snmp/2]
      processors: [batch, resource/2]
      exporters: [debug, otlphttp]  
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [debug, otlphttp]
  telemetry:
    metrics:
      address: localhost:18888
      level: basic
 

OpenTelemetry 실행 파일을 설치하고 사용하는 다른 대안에 대한 자세한 내용은 수집기 설치를 참조하세요.