New Relic 네트워크 모니터링을 위해 KTranslate Docker 컨테이너를 실행하는 동안 잠재적인 문제를 사전에 감지하기 위해 컨테이너의 상태를 모니터링할 수 있습니다.
KTranslate 컨테이너 이미지에는 런타임 중에 사용할 수 있는 -tee_logs=true 및 -metrics=jchf 설정이 있어 상태 측정항목을 New Relic에 직접 보낼 수 있습니다. New Relic 안내 설치를 통해 네트워크 모니터링을 설치할 때 기본적으로 활성화됩니다. 네트워크 모니터링을 수동으로 설치할 때 설정하는 것이 좋습니다.
KTranslate의 로그  팁 Docker 호스트에서 로컬로 로그를 확인하려면 docker logs $CONTAINER_NAME 을 실행합니다. 예: docker logs ktranslate-snmp .
팁 Linux 패키지에서 로컬로 로그를 확인하려면 journalctl -u ktranslate 실행하세요.
-tee_logs=true 옵션은 기기를 폴링할 때 New Relic에 로그를 보냅니다. 그것들을 보려면 다음을 수행하십시오.
one.newrelic.com > All capabilities  > Logs  으)로 이동합니다.Find logs where  에 collector.name:"ktranslate" 입력하고 Query logs  클릭합니다.일반적인 로그 검색  다음은 문제 해결 중에 지원을 위해 데이터를 수집하는 데 사용할 수 있는 몇 가지 일반적인 검색입니다.
어떤 버전의 KTranslate를 실행하고 있습니까? 로그 UI:
$ collector.name: "ktranslate"  message: "*KTranslate Running -- Version*" 
NRQL:
FROM  Log  SELECT   *   WHERE   ` collector.name `   =   'ktranslate'   AND   ` message `   LIKE   '%KTranslate Running -- Version%' 
예상 결과:
$ KTranslate Running -- Version kt-2021-12-06-1546870234 ;  Build Mon Dec   6   22 :22:56 UTC  2021 
런타임에 Docker에 어떤 인수가 전달되었습니까? 로그 UI:
$ collector.name: "ktranslate"  message: "*KTranslate CLI:*" 
NRQL:
FROM  Log  SELECT   *   WHERE   ` collector.name `   =   'ktranslate'   AND   ` message `   LIKE   '%KTranslate CLI:%' 
예상 결과:
$ KTranslate CLI:  [ ktranslate  -listen  off  -mapping  /etc/ktranslate/config.json  -geo  /etc/ktranslate/GeoLite2-Country.mmdb  -udrs  /etc/ktranslate/udr.csv  -api_devices  /etc/ktranslate/devices.json  -asn  /etc/ktranslate/GeoLite2-ASN.mmdb  -log_level  info  -snmp  /snmp-base.yaml  -nr_account_id = 2583772   -log_level = info  -metrics = jchf  -tee_logs = true  -service_name = snmp nr1.snmp ] 
어떤 오류가 발생합니까? 로그에 구문 분석 규칙이 적용되지 않은 경우
로그 UI:
$ collector.name: "ktranslate"  message:-* \ [ Info \ ] * 
NRQL:
FROM  Log  SELECT   *   WHERE   ` collector.name `   =   'ktranslate'   AND   ` message `   NOT   LIKE   '%[Info]%' 
로그에 파싱 규칙이 적용된 경우
로그 UI:
$ collector.name: "ktranslate"  severity:- "Info" 
NRQL:
FROM  Log  SELECT   *   WHERE   ` collector.name `   =   'ktranslate'   AND   ` severity `   !=   'Info' 
예상 결과:
$ KTranslate > cisco-7513 There was an SNMP polling error with the CustomDeviceMetrics walking OID .1.3.6.1.2.1.4.31.1.1.21 after  0  retries: request  timeout   ( after  0  retries ) . 
팁 KTranslate에는 다음과 같은 로그 심각도 수준이 있습니다: Info, Warn, Error.
내 match_attributes 필터가 내 기기에서 작동합니까? 로그 UI:
$ collector.name: "ktranslate"  message: "*Match Attribute*" 
NRQL:
FROM  Log  SELECT   *   WHERE   ` collector.name `   =   'ktranslate'   AND   ` message `   LIKE   '%Match Attribute%' 
예상 결과:
$ KTranslate > cisco-7513 Added  1  Match Attribute ( s ) 
모든 기기에는 기본 monitor_admin_shut: true 구성에서 상속된 일치 속성이 1개 이상 있어야 합니다. 단일 일치 속성을 추가한 기기에 대해 2 값이 표시될 것으로 예상해야 합니다.
팁 기기 이름을 쿼리에 추가하여 이러한 결과를 추가로 필터링할 수 있습니다. collector.name:"ktranslate" message:"*$DEVICE_NAME*Match Attribute*" .
KTranslate의 지표  -metrics 옵션은 기기를 폴링할 때 다음 성능 측정항목을 캡처합니다.
미터법
세분성
설명
baseserver_healthcheck_execution_total
최상위 레벨
내부 상태 확인 비율입니다. 대부분 사물이 교착 상태가 아니며 항상 0보다 커야 함을 나타냅니다.
inputq
최상위 레벨
모든 SNMP, Flow 및 VPC 입력에서 지난 60초 동안 수신된 초당 메시지(msg/sec)입니다.
jchfq
최상위 레벨
사용 가능한 사전 할당된 버퍼 수로 속도를 측정합니다. 약 8,000개 정도는 되어야 합니다.
delivery_metrics_nr
New Relic로 배달
모든 지표에 대해 지난 60초 동안 New Relic에 보낸 초당 배치(배치/초)입니다.
delivery_logs_nr
New Relic로 배달
New Relic에 대한 모든 로그에 대해 지난 60초 동안 전송된 초당 로그(logs/sec)입니다.
delivery_wins_nr
New Relic로 배달
지난 60초 동안 New Relic에 메트릭 및 이벤트를 전송하여 수신한 HTTP 코드 200개의 초당 승수(초당 승수)입니다.
device_metrics
SNMP
장치 수준 메트릭에 대한 지난 60초 동안의 SNMP 폴링 초당 폴링(폴링/초)입니다.
interface_metrics
SNMP
인터페이스 수준 메트릭에 대한 지난 60초 동안 SNMP 폴링의 초당 폴링(폴링/초)입니다.
snmp_fail
SNMP
SNMP 폴링이 device_name 패싯으로 작동하는지 모니터링하는 게이지입니다. 여기서 1은 양호, 2는 실패를 의미합니다.
netflow.flows
넷플로우
모든 장치 흐름 데이터(IPFIX, NetFlow 또는 sFlow)에 대해 지난 60초 동안 수신된 초당 흐름(fps)입니다.
syslog_queue
시스템 로그
처리 대기 중인 syslog 메시지의 게이지입니다.
syslog_errors
시스템 로그
syslog 메시지를 처리하는 동안 지난 60초 동안의 초당 오류(오류/초)입니다.
syslog_messages
시스템 로그
모든 syslog 데이터에 대해 지난 60초 동안 수신된 초당 메시지(msg/sec)입니다.
일반적인 측정항목 검색  New Relic에서 이러한 측정항목을 보려면:
one.newrelic.com > All capabilities  > Query your data  으)로 이동합니다.다음 NRQL 쿼리 중 하나를 입력합니다. 내 KTranslate 애플리케이션의 현재 버전은 무엇입니까? latest ( ver )   AS   'image_version' 
FACET host  AS   'docker_host' ,  svc  AS   'container_service' 
WHERE  provider  =   'kentik-agent' 
AND  instrumentation . name  =   'heartbeat' 
내 KTranslate 애플리케이션의 상태는 어떻습니까? latest ( kentik . ktranslate . chf . kkc . baseserver_healthcheck_execution_total )   AS   'healthcheck_total' , 
latest ( kentik . ktranslate . chf . kkc . inputq )   AS   'input_per_second' , 
latest ( kentik . ktranslate . chf . kkc . jchfq )   AS   'buffer' 
FACET host  AS   'docker_host' ,  svc  AS   'container_service' 
WHERE  provider  =   'kentik-agent' 
AND  instrumentation . name  =   'heartbeat' 
New Relic으로 배송된 상품의 상태는 어떻습니까? latest ( kentik . ktranslate . chf . kkc . delivery_metrics_nr )   AS   'delivery_metric_batches_per_second' , 
latest ( kentik . ktranslate . chf . kkc . delivery_logs_nr )   AS   'delivery_logs_per_second' , 
latest ( kentik . ktranslate . chf . kkc . delivery_wins_nr )   AS   'delivery_wins_per_second' 
FACET host  AS   'docker_host' ,  svc  AS   'container_service' 
WHERE  provider  =   'kentik-agent' 
AND  instrumentation . name  =   'heartbeat' 
내 SNMP 컬렉션의 전반적인 상태는 어떻습니까? latest ( kentik . ktranslate . chf . kkc . device_metrics )   AS   'device_polls_per_second' , 
latest ( kentik . ktranslate . chf . kkc . interface_metrics )   AS   'interface_polls_per_second' 
FACET host  AS   'docker_host' ,  svc  AS   'container_service' 
WHERE  provider  =   'kentik-agent' 
AND  instrumentation . name  =   'heartbeat' 
SNMP 수집에 실패한 장치는 무엇입니까?   latest ( kentik . ktranslate . chf . kkc . snmp_fail )   AS   'snmp_fail' 
  FACET host  AS   'docker_host' ,  svc  AS   'container_service' ,  device_name  AS   'snmp_device' 
   WHERE  provider  =   'kentik-agent' 
   AND  instrumentation . name  =   'heartbeat' 
FACET docker_host ,  container_service ,  snmp_device 
내 흐름 데이터 수집의 상태는 어떻습니까? max ( kentik . ktranslate . chf . kkc . netflow )   AS   'flows_per_second' 
FACET host  AS   'docker_host' ,  svc  AS   'container_service' ,  device_name  AS   'flow_device' 
WHERE  provider  =   'kentik-agent' 
AND  instrumentation . name  =   'heartbeat' 
내 syslog 컬렉션의 상태는 어떻습니까? latest ( kentik . ktranslate . chf . kkc . syslog_queue )   AS   'syslog_queue_total' , 
latest ( kentik . ktranslate . chf . kkc . syslog_errors )   AS   'syslog_errors_per_second' , 
latest ( kentik . ktranslate . chf . kkc . syslog_messages )   AS   'syslog_messages_per_second' 
FACET host  AS   'docker_host' ,  svc  AS   'container_service' 
WHERE  provider  =   'kentik-agent' 
AND  instrumentation . name  =   'heartbeat'