• /
  • ログイン
  • 無料アカウント

Advanced configuration for Network Performance Monitoring

If you want to explore all the options you can use when configuring the monitoring of your network performance, see the following sections.

SNMP-base YAML sample file

Here's an example of the various configuration options available in the snmp-base.yaml file used by the ktranslate docker image to poll for SNMP and flow data devices.

devices:
deviceOne:
device_name: router123
device_ip: 10.10.0.201
oid: .1.3.6.1.4.1.2636.1.1.1.2.21.0
snmp_comm: public
poll_time_sec: 300
user_tags:
owning_team: net_eng
environment: production
trap:
listen: 127.0.0.1:162
community: public
version: ""
transport: ""
discovery:
cidrs:
- 10.10.0.0/24
- 10.20.0.0/24
- 192.168.0.21/32
debug: false
ports:
- 161
- 1161
default_communities:
- public
default_v3: null
add_devices: true
threads: 4
use_snmp_v1: false
replace_devices: true
global:
poll_time_sec: 60
timeout_ms: 5000
retries: 0
mibs_enabled:
- IF-MIB
drop_if_outside_poll: false
mib_profile_dir: profiles

The flow_only attribute

There are several supported configurations available for running ktranslate against devices for both SNMP and network flow data collection. The flow_only attribute on both a ktranslate docker container level and in the devices section of the snmp-base.yaml file allows you to get different results:

  • If you have multiple containers collecting both SNMP and network flow data with the ktranslate docker image, define your devices in the snmp-base.yaml file, following the standards for SNMP data polling. They will be automatically matched to their respective flows based on their device_ip matching the sampling IP for the flow device.
    • For network flow data devices, run the ktranslate docker image with the -flow_only=true option.
    • snmp-base.yaml file - No setting changes needed
  • If you have multiple containers collecting both SNMP and network flow data with the ktranslate docker image, and you have specific devices where you only want network flow or SNMP data collection and no SNMP or network flow data polling respectively, you can set them up in their respective device configuration section in the snmp-base.yaml file.
    • For network flow data devices, run the ktranslate docker image with the -flow_only=true option.
    • snmp-base.yaml file - Change the flow_only to true:
    flow_only: true

Advanced options for running the ktranslate docker image

In this table you can find additional options you can use with the ktranslate docker image.

Option name

Description

-max_threads

Lets you process higher volumes of flow. We recommend one CPU core available for every 2,000 flows per second (fps) of network flow data sent.

-sample_rate=100

Changes the default sample rate value at which flows are passed to New Relic One Events. It also sets the sample rate value for flow types that don't have a default sample rate value.

-nf.workers=1

Overrides the number of workers used in processing udp packets. Use one worker for every 4,000 of flows per second (fps) of network flow data sent.

-nf.port

Overrides the default 9995 listening port for incoming flow packets.

-listen

Overrides the default 8082 port used by ktranslate to expose health metrics. You must use this option when running multiple ktranslate containers on a single host.

-metalisten

Overrides the default 8083 port used by ktranslate to expose metadata. You must use this option when running multiple ktranslate containers on a single host.

-metrics=jchf

Forwards health metrics from ktranslate into New Relic One.

-log_level

Overrides the default info log level for ktranslate. The available options are debug, info, warn, or error.

-tee_logs

Forwards logs from ktranslate into New Relic One Logs.

HTTPS_PROXY

Environment variable that can be used during Docker runtime to setup ktranslate to ship data to New Relic via proxy. Ex: -e HTTPS_PROXY=https://user:password@hostname:port

You can also run several ktranslate images to monitor different network flow types simultaneously. See the follwing example:

bash
$
docker run -d --name ktranslate-sflow --net=host \
>
-e NEW_RELIC_API_KEY=$INSERT_API_KEY \
>
kentik/ktranslate:v2 \
>
-snmp /snmp-base.yaml \
>
-nr_account_id=$NR_ACCOUNT_ID \
>
-metrics=jchf \
>
-log_level=info \
>
-tee_logs=true \
>
-nf.source=sflow \
>
-nf.port=9996 \
>
-max_threads=1 \
>
-listen 0.0.0.0:8084 \
>
-metalisten 0.0.0.0:8085 \
>
nr1.flow
$
$
$
docker run -d --name ktranslate-netflow9 --net=host \
>
-e NEW_RELIC_API_KEY=$INSERT_API_KEY \
>
kentik/ktranslate:v2 \
>
-snmp /snmp-base.yaml \
>
-nr_account_id=$NR_ACCOUNT_ID \
>
-metrics=jchf \
>
-log_level=info \
>
-tee_logs=true \
>
-nf.source=netflow9 \
>
-nf.port=2055 \
>
-max_threads=2 \
>
-listen 0.0.0.0:8086 \
>
-metalisten 0.0.0.0:8087 \
>
nr1.flow

Logs sent with Network performance monitoring

If you want to check the logs locally, run docker logs ktranslate-snmp.

The -tee_logs=true option sends logs to New Relic One when polling devices. To see them, do the following:

  1. Go to one.newrelic.com > Logs.
  2. In Find logs where enter collector.name:"ktranslate" and click Query logs.

ヒント

If you want to filter out all the information messages, enter collector.name:"ktranslate" message:-*\[Info\]*.

Metrics sent with Network performance monitoring

The -metrics option captures one of the following performance metrics when polling devices:

Metric

Description

baseserver_healthcheck_execution_total

Rate of internal health checks. Shows mostly that things are not deadlocked.

delivery_metrics_nr

Rate of metrics sent to New Relic One.

delivery_logs_nr

Rate of logs sent to New Relic One.

delivery_wins_nr

Rate of 200 HTTP codes received from sending metrics and events to New Relic One.

device_metrics

Rate of SNMP polling of device level metrics.

inputq

Messages per second (msg/sec) recieved over the last 60 seconds from SNMP or network flow devices.

interface_metrics

Rate of SNMP polling of interface level metrics.

jchfq

Gauge rate with number of available pre-allocated buffers. It should be 8,000 aproximately.

To see these metrics in New Relic One:

  1. Go to one.newrelic.com and click Query your data.
  2. Enter the following NRQL query:
    FROM Metric
    SELECT
    latest(kentik.ktranslate.chf.kkc.baseserver_healthcheck_execution_total) AS 'baseserver_healthcheck_execution_total',
    latest(kentik.ktranslate.chf.kkc.delivery_metrics_nr) AS 'delivery_metrics_nr',
    latest(kentik.ktranslate.chf.kkc.delivery_logs_nr) AS 'delivery_logs_nr',
    latest(kentik.ktranslate.chf.kkc.delivery_wins_nr) AS 'delivery_wins_nr',
    latest(kentik.ktranslate.chf.kkc.device_metrics) AS 'device_metrics',
    latest(kentik.ktranslate.chf.kkc.inputq) AS 'inputq',
    latest(kentik.ktranslate.chf.kkc.interface_metrics) AS 'interface_metrics',
    latest(kentik.ktranslate.chf.kkc.jchfq) AS 'jchfq'
    WHERE provider = 'kentik-agent'
    AND instrumentation.name = 'heartbeat'
    LIMIT MAX

その他のヘルプ

さらに支援が必要な場合は、これらのサポートと学習リソースを確認してください:

問題を作成する
Copyright © 2020 New Relic Inc.