ネットワークトラフィックのグラフ化について
いつもお世話になっております。
現在、スイッチのアップリンクポートのネットワークトラフィック量の値を取得して、
グラフ化したいと考えており、設定を行ってみたのですが、意図したデータが取得できず
行き詰っております。
Zabbixのバージョン:2.0.8
-------------------------------------------------------------
タイプ:SNMPv2エージェント
SNMP OID:ifhcInOctets.
単位:bps
乗数を使用:8
保存時の計算:差分/時間
タイプ:SNMPv2エージェント
SNMP OID:ifhcOutOctets.
単位:bps
乗数を使用:8
保存時の計算:差分/時間
--------------------------------------------------------------
上記のアイテムを作成して、トラフィックの値を取得できた事は
確認できたのですが、
今回、アップリンクポートの送受信のトラフィックの値を取得して
グラフ化したいと考えており、計算アイテムである下記のアイテムを
作成したのですが、その値がうまくとれません。
計算アイテムは下記になります。
---------------------------------------------------------------------------------------
タイプ:計算
式:change("ifhcOutOctets.5001")+change("ifhcInOctets.5001")
単位:bps
保存時の計算:差分
---------------------------------------------------------------------------------------
ifhcInOctetsとifhcOutOctetsと計算アイテムの単位をbpsにせず、
オクテット値のまま取得して、計算アイテムの式で正常に値が取得できるか
確認したところ、そこは正常に取得できました。
しかし、取得した値はifhcInOctetsとifhcOutOctetsのbpsの合計値なので、
計算アイテムで合計すると、0bpsや大幅に超えた値になったりします。
ご質問
①トラフィック値を取得する場合は、単純に送信と受信の合計のトラフィックを取得する
事と考えているのですが、みなさんはどの様な取得をされてますでしょうか。
②機器は、ciscoの2960sの値を取得しようと考えているのですが、SNMP OIDは
ifhcInOctetsとifInOctetsifhc、OutOctetsとifOutOctetsのどちらを使用する必要がありますでしょうか。
③更新間隔は、1時間位を考えているのですが、長時間間隔が空くとパフォーマンス的に
あまり良くないという記事をみたのですが、いかがでしょうか。
上記のご質問と正常な値が取得できない点につきまして、
何か原因として考えられる点がございましたら、ご教示頂けませんでしょうか。
以上、何卒よろしくお願い致します。
TNK - 投稿数: 4769
私は、単純に足し合わせたものに意味を感じられません。
私は、InとOutそれぞれの値を取得して、それぞれの状態を把握するようにしています。
方向も把握した上で監視しておくことで、ネットワークインフラとしてのリソース
の利用状況の把握と、異常発生時にどのような通信でトラフィックの増加などの
異常が発生しているかといった問題解決への情報入力として重要になると考えています。
ifHCInOctets、ifHCOutOctetsを利用できるのであれば、ifInOctets、ifOutOctetsを
利用するよりも良いと思います。
というのも、HCのつくカウンタは64bitで、HCのつかないカウンタが32bitだったと
思います。
トラフィックが多いと32bitカウンタはあっというまに桁あふれになってしまうので、
監視間隔ごとにカウンタの値を取得して差分を計算する際に、桁あふれしてしまって
いると差分が計算できないため、より正確なトラフィック量を把握することができ
なくなってしまう可能性が考えられます。
どのような記事であったのか存じ上げませんが、何がどうパフォーマンス的に良くない
のか理解できません。
そのような頻度での監視で十分なシステムやサービスであれば、そのように設定されて
も問題はないでしょう。
ただし、グラフを表示させた場合、デフォルトのスケールでは1時間幅だったと思う
ので、その間に1回しか監視していなければ、折れ線グラフにはならずに、点が打たれる
だけになると思います。
変動を折れ線グラフとして表示させるためには、より長い時間幅にズーミングして表示
させることが必要となるでしょう。
計算アイテムに関しては、書かれている式が何を取得されたいのかが理解できないため
何が正常だと思われているのかも理解できません。
改めて、現在、どのようなアイテムを設定されていて、それらのアイテムの値を元に
どう計算したいのかをお教えください。
aechi0412 - 投稿数: 3
TNKさん
ご回答ありがとうございます。
・質問①のご回答について
>私は、単純に足し合わせたものに意味を感じられません。
>
>私は、InとOutそれぞれの値を取得して、それぞれの状態を把握するようにしています。
>方向も把握した上で監視しておくことで、ネットワークインフラとしてのリソース
>の利用状況の把握と、異常発生時にどのような通信でトラフィックの増加などの
>異常が発生しているかといった問題解決への情報入力として重要になると考えています。
TNKさんのおっしゃる通り、トラフィックの監視を行う上ではInとOutそれぞれの値を取得して
それぞれの状態を把握する必要があると思います。今回、設定を行う目的として、5台のスイッチの
トラフィックの推移に関する資料の提出という目的があり、グラフのシンプルさを求めていた為、
監視における根底にある意味合いを忘れていました。
InとOutのそれぞれの情報を載せた資料を作成しようと思います。
質問②のご回答について
>ifHCInOctets、ifHCOutOctetsを利用できるのであれば、ifInOctets、ifOutOctetsを
>利用するよりも良いと思います。
ご教授頂いた通り、HCのifHCInOctets、ifHCOutOctetsにて設定を行おうと思います。
質問③のご回答について
>どのような記事であったのか存じ上げませんが、何がどうパフォーマンス的に良くない
>のか理解できません。
大変申し訳ありません。私の勘違いでした。
計算アイテムに関して
>計算アイテムに関しては、書かれている式が何を取得されたいのかが理解できないため
>何が正常だと思われているのかも理解できません。
>改めて、現在、どのようなアイテムを設定されていて、それらのアイテムの値を元に
>どう計算したいのかをお教えください。
設定しているアイテムについては、
①スイッチのアップリンクポートのifhcInOctets値を単位bpsで取得
----------------------------------------------------
タイプ:SNMPv2エージェント
SNMP OID:ifhcInOctets.5001
単位:bps
乗数を使用:8
保存時の計算:差分/時間
----------------------------------------------------
②スイッチのアップリンクポートのifhcOutOctets値を単位bpsで取得
----------------------------------------------------
タイプ:SNMPv2エージェント
SNMP OID:ifhcOutOctets.5001
単位:bps
乗数を使用:8
保存時の計算:差分/時間
---------------------------------------------------
③計算アイテムにて①と②で取得した値の合計値を取得
※大変申し訳ありません。最初に投稿した計算アイテムの内容に記載ミスがありました。
設定しているのは、
---------------------------------------------------------------------------------------
タイプ:計算
式:last("ifhcInOctets.5001")+last("ifhcOutOctets.5001")
単位:bps
保存時の計算:差分
---------------------------------------------------------------------------------------
という設定内容にになります。
上記の3つのアイテムを使用して、
スイッチのアップリンクポートの送信と受信のトラフィックの合計値を取得したいと考えておりました。
私としては、
計算アイテムで取得できるbps値= ifhcInOctets.5001で取得したbps値 + ifhcOutOctets.5001で取得したbps値
になると単純に踏んでいたのですが、[監視]→[最新データ]で確認すると、計算アイテムが取得する値が0kbpsになったりして、
必ずしも、ifhcInOctets.5001で取得したbps値 + ifhcOutOctets.5001で取得したbps値 にはなりませんでした。
そこで、今回の質問をさせて頂いた次第ですが、質問①についてご回答頂いた様に送信と受信それぞれのトラフィック状況を把握する事が
最も重要な事であると思いますので、わざわざ合計値にする必要はないのかなと現在では思っております。
しかし、今後対象のスイッチが増えていく事も想定される為、資料を簡潔に短く作成する為に送信と受信の合計値を取得する方法も知っておきたいと
考えております。
以上、何卒よろしくお願い致します。
TNK - 投稿数: 4769
保存時の計算の「差分」が不要です。
単純に合計値が欲しいだけなら、各アイテムのlast()を足し合わせるだけで
求められるでしょう。
差分というのは、前回の測定値と今回の測定値でどれだけ差があったか、
つまりどれだけ変動があったかを把握するために利用するものです。
トラフィックの急激な変化が発生していないかを追われたいのであれば、
bpsで求められた値の差分をとっても意味があるとは思いますが、今回の
単純な合計値を取得するという目的には合致しません。
aechi0412 - 投稿数: 3
TNKさん
>保存時の計算の「差分」が不要です。
>単純に合計値が欲しいだけなら、各アイテムのlast()を足し合わせるだけで
>求められるでしょう。
>差分というのは、前回の測定値と今回の測定値でどれだけ差があったか、
>つまりどれだけ変動があったかを把握するために利用するものです。
>トラフィックの急激な変化が発生していないかを追われたいのであれば、
>bpsで求められた値の差分をとっても意味があるとは思いますが、今回の
>単純な合計値を取得するという目的には合致しません。
早々のご回答ありがとうございました。
TNKさんが最初におっしゃられていた様に
ifhcInOctets.とifhcOutOctets.の値をそれぞれ所得して、
それぞれのグラフを作成する方法が一番最適だと思いますので、
その設定を行っていこうと思います。
色々とご教授頂きましてありがとうございました。