問題
ktranslate
ネットワーク モニタリング エージェントによって計算されたさまざまな結果について質問があります。
背景
ktranslate
は、ほぼすべてのインスタンスで SNMP ポーリングによって収集された生データを返しますが、次の注意事項があります。
- CPU使用率%
- メモリ使用率 %
- インターフェース使用率 %
- インターフェースエラー%
- 構成に
enum
またはconversion
関数が適用されたさまざまな指標
解決
メトリクス名: kentik.snmp.CPU
CPU は通常、使用率を表す整数または浮動小数点値を提供する直接 OID で返されます。まれに、CPU アイドルの結果のみが表示されます。これは、次の式を使用してCPU に変換されます。
CPU = 100 - CPU Idle
メトリクス名: kentik.snmp.MemoryUtilization
CPU とは異なり、メモリ使用率が直接 OID 値として表示されることはほとんどありません。使用率を計算するために、 ktranslate は次のロジックを使用します。
If Memory Used and Memory Free are available: Memory Utilization = ( Memory Used / (Memory Free + Memory Used) ) * 100
If Memory Total and Memory Free are available: Memory Utilization = ( (Memory Total - Memory Free) / Memory Total ) * 100
If Memory Total and Memory Used are available: Memory Utilization = ( Memory Used / Memory Total ) * 100
If Memory Total, Memory Buffer, and Memory Cache are available: Memory Utilization = ( ( Memory Total - (Memory Buffer + Memory Cache ) ) / Memory Total ) * 100
メトリック名: kentik.snmp.IfInUtilization
| kentik.snmp.IfOutUtilization
インターフェイスの使用率は、バイト単位でデルタを計算し、インターフェイスの設定された速度と最後の収集が行われてからの時間デルタの積で割るという業界標準のアプローチに従います。
たとえば、1 が前のデータ ポイント、2 が最新のデータ ポイントであると仮定します。
( ( ifInOctets_2 - ifInOctets_1 ) * 8 * 100 ) / ( (sysUptime_2 - sysUptime_1) * ifSpeed )
Ktranslateは、 ifHCInOctets (受信) またはifHCInOctets (送信) の値を使用します。必要に応じて、分母のifSpeed
ifHighSpeedの値に置き換えます。
( inBytes * 8 * 100 ) / ( uptime * ( ifSpeed * 10000 ) )or( outBytes * 8 * 100 ) / ( uptime * ( ifSpeed * 10000 ) )
ヒント
不正確なインターフェイス使用率が表示される一般的な理由は、デバイスに設定されているインターフェイス速度が実際のインターフェイス速度を反映していないことです。たとえば、10Gb インターフェイス上の 1Gb MPLS 回線では、実際の使用率のわずか 10% の割合が表示されます。これを解決するには、インターフェイス帯域幅の設定に関するベンダーのドキュメントを参照してください。
メトリック名: kentik.snmp.ifInErrorPercent
| kentik.snmp.ifOutErrorPercent
インターフェイス エラーの割合には、 ifInErrors (受信) またはifOutErrors (送信) の値を、 ifHCInUcastPkts (受信) またはifHCOutUcastPkts (送信) で割った値が使用されます。ktranslate では、式は次のようになります。
( ifInErrors / ifHCInUcastPkts ) * 100or( ifOutErrors / ifHCOutUcastPkts ) * 100
メトリック名: さまざまな
他の SNMP メトリクスは、それぞれのSNMP プロファイル内のenum
関数とconversion
関数の存在に基づいて変換されます。
プロファイル設定 | 使用方法 |
---|---|
|
|
| ディメンション メトリックの整数値を、(同じメトリック名のサフィックスを使用して) ディメンション メトリックで装飾された属性の列挙値に変換する SNMP 列挙を処理するために使用されます。一般的な例は、 kentik.snmp.if_AdminStatusを、 if_AdminStatusの列挙値 ( |
| 16 進値を整数形式に変換するために使用されます。現在のオプション: |
| 16 進値を 4 オクテットの IPv4 文字列に変換するために使用されます。 |
| 16 進値を MAC アドレス文字列に変換するために使用されます。 |
|
|
| OID 出力に正規表現一致を配置して部分文字列をキャプチャします。引用符で囲み、バックスラッシュをエスケープする必要があります。 |
| 列挙オプションのない非数値スカラー OID をポーリングするために、値が |