投稿

11月, 2014の投稿を表示しています

アライドテレシス AT-TQシリーズの認証ログの統計を取る

なんでアライドテレシスなのか?は聞かないでくれ。
たまたまAT-TQシリーズのログとSplunkがあったからだ。
IEEE802.1x認証を行っていると、認証ログはRadiusかアクセスポイントのどちらかを見ることになる。私はネットワーク屋としてのプライド?があるので、APのログを使うことにした。
jan 1 07:07:10 info: hostapd: wlan1: STA xx:xx:xx:xx:xx:xx IEEE 802.1X: authenticated - identity 'username' EAP type: 25 (PEAP)
jan 1 07:07:11 Warning: hostapd: wlan1: STA xx:xx:xx:xx:xx:xx IEEE 802.1X: authentication failed - identity 'username' EAP type: 25 (PEAP)
IEEE802.1x認証のログは上の2種類だ。成功したか、失敗したかだよね。
通常は成功のログしかないはずなので、抽出したいのは失敗したログ。
ただログを調べるだけだと芸がないので、かっこよく表示したい。
そう、表にするのだ。


ユーザー名authenticatedauthentication failed

username
10
2


username2
1
20



そう、こんな感じだ。
Splunkにはログを解析してフィールドとして抽出してくれる機能が備わっているので、「field=data, field2=data2,」みたいなログだと準備はいらないけど、アライドのログのように自動フィールド抽出が出来なかった場合は、ちょっとした設定が必要になるので、これを超端折って説明するよ。
これを実現するためには、ログからユーザー名ごとのauthenticatedとauthentication failedを抽出しカウントしなければならない。手作業なら絶対にやりたくない作業だね。
まずはフィールド抽出の定義をするよ。
フィールド抽出で2つの正規表現を使う。
ユーザー名の抽出は「identity 'username'」を検索することになる。
正規表現でいうと「identity \'(?<identity>.*)\'」これでide…