トラフィックが多い環境でネットワーク監視が取得不可になる

はじめまして、
いつもフォーラム参考にさせていただいております。

表題の通り、
ネットワークトラフィックが多い環境のネットワーク監視時に
Outgoing traffic on interface ethX
Incoming traffic on interface ethX
が取得不可になります。

具体的には1TB/day ほどのトラフィックがあります。

おそらく原因は以下の通りです。
Outgoing traffic on interface ethX
Incoming traffic on interface ethX
のデータ型がデフォルトで
数値 (浮動少数) です。
トラフィックが多すぎるとデータ型の範囲を超えてしまうため。

これを解決する方法として、
データ型を
数値 (整数) に変更しました。
この設定は問題ないでしょうか?

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー kodai の写真

こんにちは。

上記のアイテム設定ですが、「乗数を使用」と「保存時の計算」の設定はどのようになっているでしょうか?

収集した値は整数値であっても、もし「乗数を使用」に少数値が設定されていたり、「保存時の計算」に「差分/時間」が設定されている場合はデータベースに保存される値は少数値になる場合があるため、データ型を「数値(浮動小数)」に設定する必要があります。

ユーザー takjoe の写真

kodai さま
返信ありがとうございます。

>収集した値は整数値であっても、もし「乗数を使用」に少数値が設定されていたり、「保存時の計算」に「差分/時間」が設定されている場合はデータベースに保存される値は少数値になる場合があるため、データ型を「数値(浮動小数)」に設定する必要があります。

乗数は使用していないので問題ないのですが、
「保存時の計算」に「差分/時間」が設定されています。
差分 / 時間 は
前回計測値と現在計測値の差分を時間で割るわけですよね。

確かに、少数値になりそうです。

ですが、整数値の場合は小数切捨てとかの処理になるのでしょうか?

ユーザー takjoe の写真

少し調べてみたところ、

アイテムのデータ型で整数値を選択すると
history_uint テーブルに
データが保存されるようです。

history_uint のデータ格納フィールドの
データ型は BIGINT でした。

ここに、差分 / 時間 で少数が発生したときの挙動を
当てはめて考えますと

BIGINT型に小数値をinsertするということになりますが、
上記を実行した場合、
小数点以下は四捨五入されるようです。

また、アイテムのデータ型で小数値を選択すると、
history テーブルに
データが保存されるようです。
history のデータ格納フィールドの
データ型は double(16,4) でした。

トラフィックが多いと、16桁を超えてしまうため、
mysqlがエラーを吐き、
トラフィックが取得不可になってしまっていたようです。

history テーブルの桁数を増やせば解決しそうなのですが、
果たしていじっていいものか・・・