what i had today


2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|


2007/05/31 Thu ifHCInOctets / ifHCOutOctets [長年日記]

_ [tenki] 天気

曇り一時雨

_

なし

_ [work] MaxClients

Apache のレスポンスが悪いというアラートが届いてログインしてみると,MaxClients に達していた。大きなファイルをダウンロードさせるので,各セッションごとに帯域制限をして,かつトータルの帯域も制限していた自前モジュールが機能していたせい。もちろん,正しい動作。トータルを増やして,一緒に MaxClients も増やそうと思ったら,別の部署で別の問題が出たらしくて対応せずに終了。

各セッションごとの帯域制限って,サーバアプリで対応するしかなさげ。本当は,途中の機器でうまく制限して,送り手側では cache に乗せてとにかくガンガン送り出したい所なんだけど・・・。

_

タイカレー(イエロー),インゲンとチーズの豚肉巻き。

curry

_ [work] ネットワーク設計

最近,やっと要件が見えてきたのでネットワークの設計を開始。偉い人とか営業さんから要件をヒアリングするのは分かるけど,同僚のエンジニアからヒアリングしなきゃいけないのって,どうよ? ま,話をすると見えてくる要件もあるけど,まずは概要を伝えてくれよ。何で一から聞き出さなきゃいけないんだよ・・・。

_ 非常階段

MTに移動して 2週間,やっと非常階段を見つけた。これでエレベータを使わずに自動販売機にたどり着ける。でも,社内の自動販売機はしょぼいので,セブンイレブンまで行くことが多い。

_

キーマカレー(セミホット),ゆで卵,バターライス。次はホットで。

curry

_ ifHCInOctets / ifHCOutOctets

帰る間際に,NKTさんと雑談。「トラフィックが増えると,ifInOctets / ifOutOctets をうまく監視できないよねぇ」って話。何が問題なのかは分かったので,詳細調査は家に帰ってからのお互いの宿題にする。

ifInOctets / ifOutOctets は 32bitカウンタ。2^32[Byte] = 4294967296 [Byte] = 34359738368 [bit]。5[min] = 300[sec] 間隔でカウンタを読みにいく場合,34359738368 / 300 = 114532461[bps] = 114[Mbps] で 5分間通信されてしまうと,監視する間に桁上がりしちゃって値を正しく取得できない。

家でちょいと調べると・・・SNMPv1 は 32bit のみをサポート。64bitをサーポートしているのは,SNMPv2C and SNMPv3。で,HC(High Capacity)がついた MIB が定義されている模様。

ifInOctets	= .1.3.6.1.2.1.2.2.1.10
ifOutOctets	= .1.3.6.1.2.1.2.2.1.16
ifHCInOctets	= .1.3.6.1.2.1.31.1.1.1.6
ifHCOutOctets	= .1.3.6.1.2.1.31.1.1.1.10

実装側も net-snmp で確認。5.2.x だと "configure --enable-mfd-rewrites" で MFD(MIBs For Dummies)が使える。ただし Linuxのみ。5.3.x だと Default で対応。これも Linuxのみ。5.4.x だと,"configure --enable-mfd-rewrites" すれば OpenBSD/FreeBSD/Solaris でも対応。

NW機器だと対応状況も良くて,手元の機器で ifHCIn/OutOctets が取れない機器は FireWall位だった。

[host]$ snmpwalk -On -v 2c -c (community) (IPAddress) .1.3.6.1.2.1.31.1.1.1.6 |head
.1.3.6.1.2.1.31.1.1.1.6.1 = Counter64: 0
.1.3.6.1.2.1.31.1.1.1.6.2 = Counter64: 0
.1.3.6.1.2.1.31.1.1.1.6.3 = Counter64: 0
.1.3.6.1.2.1.31.1.1.1.6.4 = Counter64: 482227651483
.1.3.6.1.2.1.31.1.1.1.6.5 = Counter64: 140346720454
.1.3.6.1.2.1.31.1.1.1.6.6 = Counter64: 2100385903
.1.3.6.1.2.1.31.1.1.1.6.7 = Counter64: 4891098321
.1.3.6.1.2.1.31.1.1.1.6.8 = Counter64: 653615179
.1.3.6.1.2.1.31.1.1.1.6.9 = Counter64: 2365673091
.1.3.6.1.2.1.31.1.1.1.6.10 = Counter64: 202595237
[host]$ snmpwalk -On -v 2c -c (community) (IPAddress) .1.3.6.1.2.1.31.1.1.1.10 |head
.1.3.6.1.2.1.31.1.1.1.10.1 = Counter64: 0
.1.3.6.1.2.1.31.1.1.1.10.2 = Counter64: 0
.1.3.6.1.2.1.31.1.1.1.10.3 = Counter64: 0
.1.3.6.1.2.1.31.1.1.1.10.4 = Counter64: 76642738049
.1.3.6.1.2.1.31.1.1.1.10.5 = Counter64: 2149433755
.1.3.6.1.2.1.31.1.1.1.10.6 = Counter64: 111529354028
.1.3.6.1.2.1.31.1.1.1.10.7 = Counter64: 175078107131
.1.3.6.1.2.1.31.1.1.1.10.8 = Counter64: 96421399025
.1.3.6.1.2.1.31.1.1.1.10.9 = Counter64: 5033896164
.1.3.6.1.2.1.31.1.1.1.10.10 = Counter64: 13383778449

逆に,Linuxサーバなどでは対応は遅くて,ifHCIn/OutOctets を取れるサーバはゼロ。値を取りたいなら,都度対応する必要がありそう。

本日のツッコミ(全1件) [ツッコミを入れる]
_ TrackBack@塵芥空間 (2009/10/17 Sat 06:06)

非常に有用なのでメモとしてblogに載せました:)<br>tDiaryだとTrackBackが使えないのでコメントさせていただきました。http://jinkai.macaro.net/?p=59