トラフィックが多い環境でネットワーク監視が取得不可になる
はじめまして、
いつもフォーラム参考にさせていただいております。
表題の通り、
ネットワークトラフィックが多い環境のネットワーク監視時に
Outgoing traffic on interface ethX
Incoming traffic on interface ethX
が取得不可になります。
具体的には1TB/day ほどのトラフィックがあります。
おそらく原因は以下の通りです。
Outgoing traffic on interface ethX
Incoming traffic on interface ethX
のデータ型がデフォルトで
数値 (浮動少数) です。
トラフィックが多すぎるとデータ型の範囲を超えてしまうため。
これを解決する方法として、
データ型を
数値 (整数) に変更しました。
この設定は問題ないでしょうか?
kodai - 投稿数: 1341
こんにちは。
上記のアイテム設定ですが、「乗数を使用」と「保存時の計算」の設定はどのようになっているでしょうか?
収集した値は整数値であっても、もし「乗数を使用」に少数値が設定されていたり、「保存時の計算」に「差分/時間」が設定されている場合はデータベースに保存される値は少数値になる場合があるため、データ型を「数値(浮動小数)」に設定する必要があります。
takjoe - 投稿数: 3
kodai さま
返信ありがとうございます。
>収集した値は整数値であっても、もし「乗数を使用」に少数値が設定されていたり、「保存時の計算」に「差分/時間」が設定されている場合はデータベースに保存される値は少数値になる場合があるため、データ型を「数値(浮動小数)」に設定する必要があります。
乗数は使用していないので問題ないのですが、
「保存時の計算」に「差分/時間」が設定されています。
差分 / 時間 は
前回計測値と現在計測値の差分を時間で割るわけですよね。
確かに、少数値になりそうです。
ですが、整数値の場合は小数切捨てとかの処理になるのでしょうか?
takjoe - 投稿数: 3
少し調べてみたところ、
アイテムのデータ型で整数値を選択すると
history_uint テーブルに
データが保存されるようです。
history_uint のデータ格納フィールドの
データ型は BIGINT でした。
ここに、差分 / 時間 で少数が発生したときの挙動を
当てはめて考えますと
BIGINT型に小数値をinsertするということになりますが、
上記を実行した場合、
小数点以下は四捨五入されるようです。
また、アイテムのデータ型で小数値を選択すると、
history テーブルに
データが保存されるようです。
history のデータ格納フィールドの
データ型は double(16,4) でした。
トラフィックが多いと、16桁を超えてしまうため、
mysqlがエラーを吐き、
トラフィックが取得不可になってしまっていたようです。
history テーブルの桁数を増やせば解決しそうなのですが、
果たしていじっていいものか・・・