• 締切済み

snmp counter64 を計算する方法

いつもお世話になります ちょっとしたNW機器のCPU負荷をMRTGで表示しようとしています。 snmpで得られる値が、実行ステップ数とトータルステップ数を counter64 で返すようになっています。 そのため、シェルスクリプトで計算した結果を mrtgに取り込ますようにしたいと考えています。 64bitの数値をスクリプト内で処理させると、 桁あふれしているようで、単純に値を代入しただけでも、 値が変わってしまうようです。 何かうまい方法をご存知ありませんでしょうか。

みんなの回答

noname#227025
noname#227025
回答No.1

計算に使用しているのは expr コマンドということでしょうか? bc コマンドなら 64bit 以上の数値演算も正確にできますよ。 例) % echo '2^64 + 1' | bc 18446744073709551617

関連するQ&A

  • snmpのカウンタリセットについて

    こんにちは。 MRTGを使用してネットワークトラフィックを調査しようとしているのですが、データが収集できませんでした。 snmpwalkで調べたところ、Counter32 の値が上限である 4294967295 に到達しているため、差分がとれないというのが原因ということが分かりました。 そこで、この Counter32 の値を0にする方法があれば教えて頂きたいと思います。 環境:Redhat 7.3 SNMP: net-snmp-5.0.9-4

  • SNMPのifInOctets

    スイッチの各ポートの帯域使用率を取得したいと思い、 SNMPのifInOctetsの値をsnmpwalkで参照しました。 そこには、インターフェース毎に数値(カウンタ?)が入っていました。 この値は、そのポートが受信したバイト数の累計値か何かなのでしょうか?。 「累計」と考えたのは、その数値がポートの最大スペック(1Gbps=128Mバイト)を 超える値が入っていたためです。 128Mバイト以下のバイト数(snmpwalkで参照時点の使用量)が 入っていると思ったのですが・・ この数値はどういった解釈をするものでしょうか?。 アドバイスを頂けると幸いです。

  • カウンターを使い回路を作成する問題です

    5->6->2->1と表示して5に戻る回路を作成する.ただし,2入力NANDとDフリップフロップのみを使用することとし,Dフリップフロップは正負両方の出力を使用して良い この回路を,2ビットのカウンタとカウンタ値から出力を生成する組み合わせ回路とで実現する.カウンタはいま何桁目を表示しているのかだけを記憶しており,カウンタ値が00,01,10,11のときはそれぞれ一,十,百,千の桁を表すとする.組み合わせ回路はカウンタ値{C1,C0}を入力とし,それが示している桁の値を4ビットの符号なし二進数{O3,O2,O1,O0}で出力する.例えば1234場合は,カウンタが00の時は一の桁の4を,01の時は十の桁の3を,という風に組み合わせ回路が出力する. 以下の問に答えよ. 問1 この組み合わせ回路の論理式を示せ. 問2 このカウンタを設計し,図示せよ. 問3 問2で設計したカウンタの値を問1の組み合わせ回路に入力し,組み合わせ回路の出力をDフリップフロップで保持することにして,全体を完成させて図示せよ. 問4 この回路の最大動作周波数を計算せよ.ただし,Dフリップフロップの遅延時間,セットアップ時間,ホールド時間はそれぞれ10.5ns,3.0ns,1.0nsで,NANDのH→LとL→Hの伝搬遅延時間はそれぞれ6.5ns,5.5nsとする. この問題がわかりません。 よろしくお願いします。

  • 100万以上表示できるフリーカウンター探しています

    自分のHPが現在96万いくらかのアクセス数です。今使っているフリーカウンターは、999999までしかありません。このままだと、カウンターの前に「100万+」と文字でつけなくてはならなくて、なんだかかっこ悪いなあと思っています。 ちょっと探してみたのですが、5ケタまでとか6桁までのが多いようで…。 100万を超えても大丈夫な、7ケタあるフリーアクセスカウンターをご存知の方があれば教えてください。 <条 件> *7ケタ(以上)ある *無料で使える(広告の有無やデザインはとりあえず問いません) *0からではなく、任意の数値から使用し始められる *設置が容易

  • cgiカウンターを探しています。

    カウンターのフリースクリプトを探しています。 設置したいカウンターの機能は優先順に キリ番を設定すればゲットの表示または別ページジャンプができる 二重カウントの防止 合計・本日・昨日のカウント数を表示 できれば画像でカウントしたい、しかも5桁と設定すれば00001と表示できるタイプ 自分で調べた中ではcgibouさんのグラフィカルカウンターがぴったりなんですが、広告バナーを表示したくないしデザインが自分のサイトに合わないので、できればスクリプトをお借りして、自分で設置できたら…と考えています。 もしよろしかったらアドバイスお願いします。

    • ベストアンサー
    • CGI
  • カウンターの数値について

    自分のHPにプロバイダが無料で使用させてくれるカウンターを設置していたのですが、 1日当たりの来訪者を表示したくなったので、 無料のフリーカウンターに変更しようとテスト中です。 ところが最初に数値を合わせて両方のカウンタを動かしたところ、 それぞれのカウント数が微妙に違うのです。 調べたところどちらのカウンターも 2重カウントの防止になっていました。 気になる点はいくつかあります。 1.フレームを使ったHPでカウンターはメニュー部分にある 2.プロバイダのカウンタは<img>タグのもの   後から設置したカウンタは<script type="text/javascript">となっていること 3.私のHPは移転の経歴があり、昔のHPからの移動によってきた場合に、  アドレスが文字化けしている  また、その時新しくつけたカウンタの方が表示されないことがある 以上の3点です。 新しくつけようとするカウンタの数値の方が少なく表示されてしまうので、 どうしよう・・・と悩んでいます。 (実際の訪問者が少なくなって表示されるのはやっぱり嫌かなぁ・・って) 解決方法、もしくはアドバイスをお願いします。

  • Windowsのバッチ処理のループカウンタについて

    Windowsのバッチ処理(パワーシェルだからシェルスクリプト風?) についてお尋ねします。 以下はループ処理です。%%iというところがループカウンタで%%iが整数です。この例では1から10です。 for /L %%i in (1,1,10) do ( ここでいろいろ処理 ) ここで質問ですが、整数とは1,2,3,...10ですが、01,02,03,....10のように2カラムを使うものとして利用することは可能でしょうか。 3桁だったら、001,002,,,100 のように変化していくようなものですが。文字列のような整数のような位置づけはよくわからないのですが。 バッチ内部は変数に型がないようです。フォーマット指定のような印象なのですが。 よろしくお願いします。

  • アクセスカウンターを他のファイルにコピーすることは出来る?。

    ホームページのトップページにアクセスカウンターを設置しています。 今回、トップページを変更したのですが、素材屋さんからダウンロードさせてもらったお試しページの上に、元あった表紙の内容を書き込みました。 JAVAスクリプトと呼ぶのでしょうか??画面の上で画像が動くのが使いたくて、素材屋さんの指示に従ってやったら、それはうまくいったのですが、元々のトップページを壊してしまうのがこわかったので、新しいファイル名にして更新しました。 アクセスカウンターは元あった表紙ファイルのをコピーしました。 そうすると、カウンターの数が0に戻りました。 これを元の値に戻すことは出来ますか?。 カウンターは、プロバイダーから配布されたものを使っていて、自分では一度も触ったことがないので、よく分かりません。 また今回のようにカウンターを他のファイルに付け直す時、その数値ごと変える事はできないのでしょうか。

    • 締切済み
    • CGI
  • LinuxでMRTGとsnmpwakerの使い方に

    LinuxでMRTGとsnmpwakerの使い方について教えて下さい。 http://www.atmarkit.co.jp/flinux/rensai/root08/root08c.html ↑を参照してMRTGを構築しました。 ですがhttpdのプロセスの数が取得できません。 snmpwalkerコマンドをたたくと以下のようになり11で値はとれていそうです。 [root@localhost ~]# snmpwalk -v 1 -c public 192.168.1.50 .1.3.6.1.4.1.2021.2.1.5.1 UCD-SNMP-MIB::prCount.1 = INTEGER: 11 [root@localhost ~]# snmpwalk -v 1 -c public 192.168.1.50 .1.3.6.1.4.1.2021.2.1.5 UCD-SNMP-MIB::prCount.1 = INTEGER: 11 [root@localhost ~]# snmpwalk -v 1 -c public 192.168.1.50 .1.3.6.1.4.1.2021.2.1 UCD-SNMP-MIB::prIndex.1 = INTEGER: 1 UCD-SNMP-MIB::prNames.1 = STRING: httpd UCD-SNMP-MIB::prMin.1 = INTEGER: 1 UCD-SNMP-MIB::prMax.1 = INTEGER: 20 UCD-SNMP-MIB::prCount.1 = INTEGER: 11 UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: 0 UCD-SNMP-MIB::prErrMessage.1 = STRING: UCD-SNMP-MIB::prErrFix.1 = INTEGER: 0 UCD-SNMP-MIB::prErrFixCmd.1 = STRING: [root@localhost ~]# mrtg.confは Target[httpd]: .1.3.6.1.4.1.2021.2.1.5.1&.1.3.6.1.4.1.2021.2.1.5.1:public@192.168.1.50: のようにかいています。 どこか間違っていますでしょうか? また [root@localhost ~]# snmpwalk -v 1 -c public 192.168.1.50 .1.3.6.1.4.1.2021.2.1.5.1 UCD-SNMP-MIB::prCount.1 = INTEGER: 11 [root@localhost ~]# snmpwalk -v 1 -c public 192.168.1.50 .1.3.6.1.4.1.2021.2.1.5 UCD-SNMP-MIB::prCount.1 = INTEGER: 11 で同じ値がかえっていますが、Target[httpd]: .1.3.6.1.4.1.2021.2.1.5.1&.1.3.6.1.4.1.2021.2.1.5.1と指定しなければいけないのでしょうか?

  • ○進数の計算

    直接VisualBasicとは関係ないですが、VBAのプロジェクトで ○進数の考え方で、英字を数値へ 数値を英字へ変換しているのですがどうしても理解できない事があります。 A B C AA AB AC BA ・ ・ ・ 上記のような法則があるとします。 A-Cを数字に置き換えます。 A -> 0 B -> 1 C -> 2 文字→数値の計算式は 1桁目 A-Cの数値×3回毎に繰り上がるので3×1桁目は0乗 2桁目 A-Cの数値×3回毎に繰り上がるので3×2桁目は1乗 Aを数字に置き換えると 1桁目 Aは、0*3の0乗=0です。 期待通りです。 AAを数字に置き換えると 1桁目 Aは、0*3の0乗=0です。 2桁目 Aは、0*3の1乗=0です。 0 + 0 = 0 期待している値は3です。 BCを置き換えると 1桁目 Cは、2*3の0乗=2 2桁目 Bは、1*3の1乗=3 2 + 3 = 4 期待している値は8です。 3を文字に置き換えると 数字÷3回毎に繰り上がるので3 = 商 ・・・余り 余りで、文字列を引いてきます。 3÷3=1 ・・・0 -> A 2桁目は、1回目の商÷3       1÷3=切捨てで0 ・・・1 - > B B + A = BA 期待値はAAです。 これらは、1つずれて期待している値とは違う値が返ってきていると思うのですが、考え方で理解することができません。 どうしてこのようなことになるのでしょうか? 頭が混乱して考えても分かりません。よろしくお願いします。