普段使っているカバンのジッパーが壊れた。ちなみに、吉田の LAGGAGE LABEL ZONE シリーズのコレ(画像ひとつ間違ってるけど)。しばらく前に持ち手の1個が欠けてしまったのだけれど、今度はもう1個が。。。持ちにくいだけで、開け閉めの機構は無事なんで使えると言えば使えるんだけど。。。いよいよ田中かばん店へ行かねばならぬか。
「Tech Style ニュースレター」で XEmacs 21.4.10 がリリースされたことを知ってソースをゲット。とりあえず必要最小限なオプションでコンパイルが通るところまでは確認。適当に RPM を作って現在の 21.1.14 と入れ替えてみたいところだけど、仕事中にやってハマると危険なので辞めておこう。。。
ふと思いついて見に行ったら、VineSeed Plus には XEmacs 21.4.10 が既に存在していた。こいつを修正して rebuild させて頂こうか。
あー、rebuild するには、まず sumo パッケージも新しくしなきゃダメなのか。。。いま使っているバージョンと入れ替えるのは、ちょっと怖いな。やっぱり時間があるときにやろう。
菅野美穂好きとしては、リカルデントの「いいこと2倍!キャンペーン」は見逃せませんな。トップの菅野美穂画像は怖いけど(笑)
「キス★キス★バン★バン」が気になる。
なんとなくカシオって好きになれないんだけど、EXILIM はいいなぁ。って、ほんとはこの記事にある古奈屋のカレーうどんにひかれただけなんだけど(笑)
メニューを見たら、値下げしてるじゃないか! しかも、バナナカレーうどんとかって新メニューが!
当初は原作との違いが気になったけど、今じゃアニメ版も原作とは別物として同等に評価している。原作にしろアニメにしろ、どうもプラネテスは僕の何かに働きかけるようで、読んでいて/観ていて心地いい。
アニメ版、レンタルせずに買い続けて良かった(って、まだ終わりじゃないが)
こないだ「西部警察2004」(だっけ?)を見た時の我が家の感想は「やっぱり攻殻機動隊の脚本って凄いんだね」だった(笑)
あぁ、そういえば、2nd GIG の2巻の DVD が中身だけ自宅内行方不明になってしまった。おっかしーな、どこいったんだろ。。。
最近、さっぱり更新しなくなってしまった関心空間の、週刊関心空間に僕が書いた ARTISAN&ARTIST が紹介されてた!
しかし、約3年前に書いたキーワードなのか、これ。まーそれは良いとしても、、、オレ、最近 A&A のバッグは使ってないんだよなぁ(笑)
自宅だと気が散って、本を読み進められないので、読書目的の散歩に出た。歩いたのは、自宅〜目黒〜五反田〜品川。読書ポイントは、シャノアール、ドトール、ルノアール、、みんな最後に「ル」が付いてるな。と、これで昨日買ったビジネスブログ三部作(?)を読み切った。
写真は品川駅周辺で見つけた消火栓のマンホール。このくらい分かりやすいと周囲にモノが置かれたりしないだろう、きっと。
あえてリンクは張らんが。
と、楽しく生きているようで。
大好きな書店「ジュンク堂」の名前の由来。人名から来てたんだねぇ。
ということで、昨日、地下鉄の車内広告でサントリーの「 大紅袍(だいこうほう)」を知った。その時は「1本1200円の烏龍茶なんてすげーな」と思っただけだったのだが、徐々に気になり度が大きくなってきてしまって、、、サントリーのオンラインショップから注文してしまった。
まぁ、あれだ、日本酒好きな人が大吟醸がどうだの、ワイン好きな人がボジョレーがどうだのと一緒で、居酒屋では烏龍茶係(?)なオレとしては、この位のコダワリを持ってもいいだろう。たぶん、続かないコダワリだけど(笑)
ひさびさに鼻血。しかも、会議中にいきなり。
頭が微妙に重くて、首筋がこってた感じなので、首をグリグリやってたら鼻からツツーっと。。。まぁ、たいした量は出なくて、すぐに止まったから良いんだけど、首のコリは相変わらず。また鼻血になるとイヤなので、あんまりグリグリできないのがなんとも。
忘念のザムドのレンタルのために PlaystationStore に行ったら、WipEout HD という文字を発見。さっそくダウンロードして、ちょっと遊んでみた。
相変わらずの浮遊感と気持ちいい音楽にシビレル。これ、サントラ出ないのかなぁ。
カードやらケータイやら、いろいろな請求書が届くと「後で見るかも」と思って、とりあえず残しておくようにしてた。ごく最近のは ScanSnap でスキャンして捨ててたんだけど、過去のものが大量に残っていて、これをさっさと処分したかった。
まとめて一気に捨てちゃえば良いんだけど、住所やら名前やら明細やらが記載されてる書類をそのまま捨てるのもなーという個人情報保護脳が働いてしまって、なかなか手をつけられずにいた。
で、今日、ようやく処分に動いたのは、昨日の「既存のモノを処分するライフハック発動」によるもの。ハガキはそのままシュレッダーへ、封書は住所・氏名が書かれている書類だけをシュレッダーへ入れて細断。溜めに溜めてたものは、ほぼ処分できた。
ここから先は溜めないような生活にしないとなー。
昨日の「Fluentd + Elasticsearch + Kibana での解析用に Kibana を仕込む」の続き。
今日は Kibana を設定して、元々やりたかった「DoS アクセス元の特定をブラウザベースで行える環境作り」を実施していく。
いろいろがんばってたらキャプチャだらけの長いページになってしまったのだけど、せっかく作ったのでちょっとうざいけど掲載してしまう。
キャプチャによって、表示されている集計数が違っているのは、数日間に渡ってキャプチャの取得を行なっていたから。「数日間に渡って」という時点で、この文章が「日記」なのかどうか微妙に気になるけど、まぁ、仕込みに時間がかかってたということで。
Kibana のトップ画面から「Blank Dashboard」を選択して、何もないダッシュボードを開く。
ダッシュボードの右上にあるギアマーク(Configure Dashboard)をクリックする。
ダッシュボード名称を記入する。ここでは「第三tDiary.Net アクセスログ」とした。これで一度保存(Save)しておく。
設定画面の「Rows」のメニューで行(Row)を作成する。ここでは安易に「グラフ」という名称にした。作成するには「Create Row」をクリック。
「グラフ」の行(Row)の追加が確認できたら、保存(Save)しておく。
行(Row)が追加されると、画面の左側にアイコンが増える。ここで設定アイコン(Configure row)をクリックする。
設定画面に入ったら「Add Panel」のメニューへ移動し、「Select Panel Type」から今回は「terms」を選択する。
terms 用の設定メニューが表示されたら、次のように入力していく。デフォルトからの変更点のみ記述しておく。
これらを入力したら保存する。
これで日記別アクセス数のグラフが表示された。
この状態になったら、ここでも念のため画面右上のアイコンから保存しておこう。
日記別アクセス数と同じ行に、もうひとつパネルを追加する。行のメニューから「Add Panel」をクリックする。先ほどは「Configure Row → Add Panel」とメニューを移動してきたけど、パネルを追加するだけなら、この「Add Panel」がショートカットになる。
先ほどと同じように「terms」を選択して、各種項目を入力していく。
これを保存すると、IP別アクセス数のグラフが追加される。
画面右下にある「ADD A ROW」から行を追加する。行の名前は「リスト」にした。「Create Row」で作成する。
そしてパネルを追加。今度は「table」のパネルを選択する。タイトルに「アクセスログ」、Span に「12(width: 100%)を入力する。キャプチャでは見えてないけど、下の方に Save ボタンがあるので保存する。
すると、検索結果のリスト表示のパネルが追加される。一覧に表示したい項目をチェックすると、その項目だけリストに出てくる。何もチェックしない場合は、検索結果の JSON データがそのまま表示される。
ここでまた保存しておく。こまめな保存が Kibana の基本。なぜなら、保存するのを忘れてブラウザをリロードしてしまうと、、、設定してきたものが消えてしまう。無かったことになってしまい悲しいことになる。
これでアクセスの傾向が見える最低限のダッシュボードが追加できたんじゃないかと思う。
ここまでは「全データ」の表示でしかなかったのだけど、クエリを入れていくことにより、データの絞り込みを行なってみる。
「QUERY」の欄にはデフォルトで「*」が入っている。これはまぁワイルドカードのようなものと思えば良いようだ。この「QUERY」に「server:suzuki.tdiary.net」を入力する。見れば分かるように「server」というフィールドが「suzuki.tdiary.net」のレコードを指定している。
これを入力すると、日記別アクセス数とIP別アクセス数のグラフの表示対象が suzuki.tdiary.net に限定される。
次はこのクエリに対して、さらにフィルタを入れて絞り込んでみる。
条件として「method:POST」を入れてみる。「must」になっているので、この条件にマッチするものに限定される。
フィルタを「Apply」すると、グラフの結果が変わる。POST メソッドのアクセスに限定すると、数字がガッツリ下がるのが分かる。
クエリをいったん「*」に戻して、今度はグラフのクリックによるフィルタ追加を試してみる。日記別アクセス数の「suzuki.tdiary.net」のグラフをクリックしてみる。
すると、フィルタに「server:suzuki.tdiary.net」が条件として追加された。クリック操作でドリルダウンできるのは良いね。
フィルタは複数同時に設定できる。今度は手動で「method:POST」の条件を追加してみる。
すると「server:suzuki.tdairy.net」と「method:POST」の AND 条件の結果が表示される。
これでも先ほどの「クエリに server:suzuki.tdiary.net、フィルタに method:POST」を設定した場合と同じ結果になった。
クエリとフィルタ、使いようによってどちらでも同じ結果が出せるなら、どのように使っていくべきなのか迷ってしまうけど、クエリで大きな絞り込みをして、フィルタでドリルダウンするってのが Elasticsearch の思想に近いのかなぁ。
この辺は経験値が足りないので、まだよく分からない。
Kibana では時間に関するフィルタのショートカットが用意されている。画面上部にそのまま「Time Filter」と書いてあるメニューがそれ。
例えば、ここで「Last 24h」を選択してみる。
すると「FILTERING」の欄に時間のフィルタが追加される。これで単位時間あたりの状況を簡単に把握できるようになる。指定を外したければ、フィルタの「✕」マークで解除すれば良い。
「Time Filter」のメニューの「Auto-Refresh」を使えば、勝手に結果をリロードしてくれるので、リアルタイム監視にはこれが便利っぽいね。
今までこまめに保存してきたダッシュボードをどうやって再利用するのかというと、Kibana の画面右上に「Load」というメニューがあるので、それを使う。
保存したダッシュボードの一覧が表示されるので、見たいダッシュボードをクリックする。
Kibana の思想としては、クエリ内容やグラフ内容別に複数のダッシュボードを作成して、切り替えて使うということなのかな。
これで分析基盤みたいなものができたので、いろいろなクエリやパネルの追加などをして試行錯誤していこう。
やっぱり「一部の日記への継続的大量アクセス」は続いているようだ。既にほぼ更新が止まっている日記なのに、この継続的アクセスはちょっと怪しい。クローラーだとしてもセンスないね。
そういう内容がブラウザで視覚的に確認できるようになったので、DoS から始まる開発 DDD(DoS Driven Development)(開発というかセットアップだったけど)は、これでいったん区切ることにする。
PHPカンファレンスも終わったので、Crowi の資料作成から Crowi いじりに戻っている。
Mongoose のスキーマに「ObjectId
と共に ref
にモデル名」を付けておくと、populate()
メソッドで、そのモデルから ObjectId
のデータを自動で読み込んでくれるので便利で、Crowi の各モデルでは、ちょいちょい使われている。
いま作っている機能では「ObjectId
を保存するが、その対象となるモデルを動的に変えたい」場合が出て来た。その場合は ref
が使えないので、populate()
も使えないなーと思って、スキーマにモデル名を保存する項目を追加して、自前でそのモデルを読み込む処理を書かないとダメかなぁと思っていたのだけど、Mongoose のマニュアルを眺めていたら答えが載っていた。
refPath
を使うと、その path で保存されているデータ内容を元に populate()
してくれる。マニュアルに載っている下の例だと、connections.kind
に保存されるモデル名に対してデータ読み込みの処理を自動実行してくれるようだ。
var userSchema = new Schema({
name: String,
connections: [{
kind: String,
item: { type: ObjectId, refPath: 'connections.kind' }
}]
});
上記の例だと、connections
が配列になっているけど、特に配列である必要はなかった。同じレコードの中に保存されていれば問題ない様子。
「モデル名を保存しておく」という方法は変わらないけど、自前の population 実装が不要になったので良かった。マニュアルはちゃんと読んでおくべきだなぁ。
Before...
▽ ウラウラ [バナナ〜!?木になる。。。ごめん]
▽ ただただし [今月のすーさんには本気を感じる……]
▽ CLIEなよきゅん [た、たださん!]
▽ cocoon [バナナカレーうどん食べたよ。まー。。。味は、そんなもん(周りの人に、あの人アレ食べてるわよーって、ささやかれる)]
▽ mu [http://www.alloha.info InsuRancE http://www.devonanal.com ..]