2011-06-12 〜続〜 ログ調査時に役立つであろうコマンド達の組み合わせ

前回に引き続きログ調査時に役立つ合わせ技を少々
$ grep hoge /usr/local/apache/log/access_log -C 2
$ grep hoge /usr/local/apache/log/access_log -A 2
$ grep hoge /usr/local/apache/log/access_log -B 2
$ grep hoge /usr/local/apache/log/access_log -B 2 -A 2
$ grep hoge /usr/local/apache/log/access_log -c
4 ← 行数
hoge および fuga が含む行を表示 -E で拡張正規表現
$ grep -E 'hoge|fuga' /usr/local/apache/log/access_log
or
$ egrep 'hoge|fuga' /usr/local/apache/log/access_log
こっちの方がいいかもという噂が
$ egrep 'hoge|fuga' /usr/local/apache/log/access_log -C 3 | awk '{print $1}' > egrep_ip.txt
文字列 "hoge" か "fuga" が含む行の前後3行の第一フィールドを egrep_ip.txt に吐き出しています。
実際にこのような事はあまりしないと思いますが。。
2011-06-10 tail コマンドによる ログ調査 + awk

「ログ調査するときによく使うコマンド組み合わせ」(tail, awk)
> tail -s 0 -f /apache/log/access_log(error_log)
-f オプション --follow ファイルが大きくなるたびに追加されたデータを出力
-s オプション --sleep-interval リアルタイム表示しているファイルのチェックを指定した秒数間隔でチェックします。
リアルタイムにファイル更新をチェックしながら最終行のデータを表示。。でしょうか
例えば下記の様なログの場合
111.1.111.11 - - [10/Jun/2011:10:00:00 +0900] "GET /hoge/fuga? HTTP/1.1" 200 14204
> tail -s 0 -f /apache/log/access_log | awk {'print $6'}
awk によって6 フィールド目のみを抜粋しています。
"GET
"GET
"GET
"GET
"POST
アクセスが大量のログを表示する時など、「更新が早すぎて目が追いつかない」ので、こうやう技は便利です。
次もまた書きます。
2011-06-08 〜 VLAN 基本設定 〜

前回に引き続きスイッチを触った際の主に VLAN 周りの事を書きます。
今回は実際に VLAN を作成する所まで行います。 ・・・眠い
> screen /dev/tty.usbserial-* 9600
> enable ※enと省略してもOK
console# enable
console# config ※coと省略してもOK
console(config)# vlan database
console(config-vlan)# vlan 2
console(config-vlan)# vlan 3
console(config-vlan)# vlan 4
console(config-vlan)# vlan 5
console(config-vlan)# end
Vlan Name Ports Type Authorization
- ----------------- --------------------------- ------------ -------------
1 1 g(1-48),ch(1-8) other Required
2 2 Permanent Required
3 3 permanent Required
4 4 permanent Required
5 5 permanent Required
VLAN が作成されています。
console# config
console(config)# interface ethernet g1
console(config-if)#
console(config-if)# switchport mode trunk
console(config-if)# switchport trunk
console(config-if)# switchport trunk allowed vlan add 3
console(config-if)# switchport trunk allowed vlan add 5
元々属していた VLAN1 に加えて VLAN3,5 を トランクポートで送受信するVLANとして追加しています。
console(config-vlan)# end
console# show vlan
Vlan Name Ports Type Authorization
---- ----------------- --------------------------- ------------ -------------
1 1 g(1-48),ch(1-8) other Required
2 2 permanent Required
3 3 g1 permanent Required
4 4 permanent Required
5 5 g1 permanent Required
VLAN3,5 に g1 が追加されています。
console(config-if)# switchport access vlan 2
console(config-if)# interface ethernet g10
console(config-if)# switchport access vlan 2
console(config-if)# interface ethernet g11
ポート10、11へ VLAN2 を割り当て。
まとめて行いたい場合は
console(config)# interface range ethernet g12-20
console(config-if)# switchport access vlan 4
ポート12から20へ VLAN4 を割り当て。
console(config-vlan)# end
console# show vlan
Vlan Name Ports Type Authorization
---- ----------------- --------------------------- ------------ -------------
1 1 g(1-9,21-48),ch(1-8) other Required
2 2 g(10-11) permanent Required
3 3 g1 permanent Required
4 4 g(12-20) permanent Required
5 5 g1 permanent Required
ポートが VLAN ごとに分けられてます。
まだこのシリーズは続きます、show running-config での内容をもう少し詰めれたらと。。
2011-06-07 スイッチ show vlan、 show running-config

Dell スイッチを少し触ったのでメモしようと思いました。
> enable ※enと省略してもOK
console# enable
console# show vlan (※下記は例)
-------- --------------- ------ ----- --------------
1 default 1/g1-1/g2 Other Required
2/g1-1/g4
10 VLAN0010 1/g3-1/g4 dynamic Required
11 VLAN0011 1/g1-1/g2 static Required
20 VLAN0020 1/g3-1/g4 static Required
21 VLAN0021 static Required
30 VLAN0030 static Required
31 VLAN0031 static Required
91 VLAN0011 1/g1-1/g2 static Not Required
3964 Guest VLAN 1/g17 Guest - g47 permanent Required
console# show running-config
... 省略(幾つか抜粋します。)
no spanning-tree
「スパニング・ツリー機能は多くのLANスイッチが装備しており,標準で有効になっている製品も多い。
スパニング・ツリー機能が有効になっていると,ネットワークがループ構成になっている部分があっても,実際には通信を受け付けないようにLANスイッチがポート設定を変更する。
そうして,論理的にはループしない構成にしてくれるのである。上記の場合 no spanning-tree なのでそのような事は行わない。」
flowcontrol on
no mdix
「自動的に必要なケーブル接続タイプ(ストレートまたはクロス ケーブル)を検出し、適切に設定してくれる。
上記の場合 no mdix なのでそのような事は行わない。」
interface ethernet g(ポート番号)</em
switchport mode trunk
「トランク モードでは、複数の VLAN ID で物理ネットワーク アダプタと物理ネットワークの間の接続を共有できるようになる。
複数の VLAN の仮想ネットワークに仮想マシンから外部アクセスできるようにするには、物理ネットワーク上のポートがトランク モードになるように構成する必要があります。使用している VLAN を特定し、仮想ネットワークがサポートする仮想マシンが使用しているすべての VLAN ID を把握することも必要。」
・他のスイッチで使用しているネットワークのセグメントを自分にも与える設定の許可。
・一本の線に複数のVLANを付与できる。配線をまとめることができる。
・複数のVLANに属する事ができる。
console# ex
> Ctl + a - Ctl + k
kill this window ? (y / n) y
次回は実際に VLAN の設定を編集追加等を行います。また上記は本当に一部です。
2011-02-20
iPhone アプリ UITableViewの かゆい所 その1
iPhone アプリでよく使われる cocoa の UI のひとつに UITableView が含まれていると思います。
といいますか、私自体、動的な UI、GPS、加速度センサーだったりを使用したことがないので悪しからず。。。
ということで、私が知ってる限りの知識の中で UITableView のマニュアルから調べるとちょっと時間が
かかりそうな 簡単そうなんだけど記述方が分からない機能を記述していこうと思います。
ー(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSUInteger row = [indexPath row];
if (row == 0 || row == 1)
return nil;
return indexPath;
}
上記の場合、一番最初のセルとその次のセルは、タップしても反応しませんよ。
という感じです。よく一行目とかには、画像とか、広告とかを独自で表示することがあると思いますのでよく使うかと思います。
※コピペしても動きません。 なぜなら ー(NSIndexPath *) の ー が全角だからです。 小文字で入力したらはてな記法?に引っかかって別の文字になっちゃいました。 ほんとすみません。
では第二回を乞うご期待!