Salesforce.comとかクラウド関連のアレコレ


by fuzzio

<   2013年 12月 ( 1 )   > この月の画像一覧

2013年もいよいよ年末。今年もクリスマスのリレーブログ、 AWS Advent Calendarの時期がやってきました。昨年はPerfumeの曲をクラウドにバックアップする方法を書きました。その後CDを売ってしまったけど大事なアーチスト曲はアマゾンクラウドのクラウドストレージ、S3にバックアップとっていますが、なんと現在でも月1円しか使ってないです。今年はLTE回線も来たので、さらに他のアーチストもバックアップしようと思ってます。

さて、アマゾンクラウドのクラウドストレージS3は静的なホームページが簡単に公開できます。これも僕のお気に入りです。イベント告知ページもエディタとブラウザだけで簡単に、安全に公開できちゃいます。こんな感じ。
http://fujiosplunkdemo.s3-website-ap-northeast-1.amazonaws.com/

さて、このS3で作ったホームページはログオプションを選ぶと、S3上にアクセスログを追加できます。膨大なサーバログの保存先としてS3を使えます。昔CDR,DVDにログを転送、保管していた暗黒時代が嘘のよう。便利ですね。

そんなログデータは単なる文字の羅列です。そこで活躍するのがイケテルエンジニアの解析エンジン「Splunk」です。通常のログ解析は「ログ転送」、「ログ収集」、「ログ分析」、「ログ保管」、「ログ可視化」、「アラート」とそれぞれのステップで各種アプリを連携させる事になります。しかし大規模になるとその分システムの運用が増えてしまいます。Splunkはそういった運用者の悩みを解消するツールです。ログの統合運用が1アプリで実現できちゃうツールです。インストールは5分で終わっちゃうのです!!

●Splunkをダウンロード!

1.Splunkインストール後、まずAWSの管理画面をブラウザで開き、S3の管理画面でログの保管場所を指定します。公開されたS3のサイトにアクセスするとログファイルがたまりはじめます。
d0056815_047461.png左側にプレフィックス(ファイル名がログとわかるようにつけた先頭文字)のついたログがズラズラならんでます。でも、これいちいちダウンロードして、テキスト処理やCSV変形なんて、、、してられませんね。

2.次にこのS3のログデータをSplunkに転送する便利なS3用テンプレートをSplunkサーバのsplunk/etc/appsにSCPでコピーしてtgzを解凍しますとS3ディレクトリが出来上がります。確認しましたら、Splunkを再起動。ブラウザの管理画面から再起動か、splunk/bin/splunk restart <Enter>で再起動させます。
●splunk S3用app
http://apps.splunk.com/app/1137/

3.S3のBukets(バケツ)のIDと認証キーを用意します。
d0056815_01001794.png


●IDを用意します。
d0056815_01160992.png




●シークレットアクセスキーを用意します。
後ろに人がいない事を確認して(笑)上図のシークレットアクセスキーの「表示」を押します。
d0056815_01161403.png








4. Splunkの管理画面から「管理>データ入力>S3」を選択するとログを収集するS3の設定画面が出ますので、ID、シークレットアクセスキーを設定します。
まず、Splunkのメニューから「データ入力」を選択
d0056815_01232368.png











5. 下の方にS3の設定メニューが増えてます。S3のデータ入力の設定でS3のログが保管されているバケツ名、上で出てきたアクセスID、シークレットアクセスキーを設定します。末尾スペースに気を付けて下さい。Resource name(リソース名)はバケツの名前で,「buckets/ログの保管先ディレクトリ名/」と末尾にスラッシュが必要です。
d0056815_01293324.png




6. 設定が終わりますと、S3ログ一覧に名前が出てきます。

d0056815_01293357.png7.Splunk > サーチの検索窓から「S3 *」と打ってみてください。
ログ解析は始まっています。(S3が遅いと15分位まつと良いかも)
d0056815_01420600.png



8.必要な文字列の抽出
上記の画像左下にあるのがSplunkが自動的に抽出した「フィールド」。なかなか賢いです。しかし取りこぼし、指定文字列をとりたい場合がありますが、Splunkはここも良くできてます。事後に指定ができます。上の図の真ん中あたり。日付のとなりの三角形をクリックします。

d0056815_01483657.png







9.「フィールドの抽出」をクリックします。
左側のボックスに文字列を数行入れて生成ボタンを押すと正規表現によるパターン検索を行い、精度が高まります。テストボタンを押すとサンプルでログを切り始めます。

d0056815_01483669.png










これで取り込んだデータに対して抽出、結果をレポートしてダッシュボードに張り付けできます。海外企業ではこのダッシュボードを社内公開するのが大流行。
d0056815_02015708.png


さて、S3はHTMLのログだけでなく、Cloudfrontというキャッシュサーバのログも保管できます。これはW3Cの拡張ログフォーマットに似ていますが、そのログも同じ方法でバケツ指定をすれば解析ができます。AWS上のビデオ配信会社さんが利用しています。ビデオタイトル名、ビデオ送信状況、キャッシュサーバの地域名ごとの状況がわかります。S3のストレージは無限大(SplunkでEC2のストレージ見ると256TBがアサインされている)膨大なサービスログも貯めれます。
                         # # #
 
以上で2013年のAWS Advent Calendarの最後を飾りたい?と思います。みなさんSplunkで遊んでみてくださいね。業務で使う場合はC1.xlargeがおすすめらしいです。

さて、昨年の暮れのJAWS-UGでは2013年は「Year of the VPC」というメッセージを出しましたが、すごい速度でVPCが採用されていきました。AWSで社内ファイルサーバとか、驚きました(笑)

来年2014年は「Year of the Bigdata」にしたいと思います。Hadoopに加えRedshiftなどの強力なDWHが簡単に試せる時代、導入も増えていくと思います。経営ダッシュボードを2004年から担当している僕としては、DWHなんて何をいまさら?感がありますが、コンピューターパワーやストレージコストがクラウドによって変革しています。ビッグデータを解析するにはその基盤、特に大型ストレージが必要ですが、そんな巨大ストレージ、運用も工事も大企業とSIerさんセットでないとできなかったと思います。それがちょっとお試しできる。配線とかしなくていいし、AWSのコストで見ると短時間解析ならかなりコストメリットがあると思います。

では、ビッグデータを解析すると何が便利なの?という疑問に関しては、2月20日品川でのSplunk Solution Dayの日産様の電気自動車の解析事例を楽しみに待ちたいと思います。

●Splunk Solution Day 2014

d0056815_02305177.jpg
それではここで筆をおいて、今日の東京ドーム、Perfume LEVEL3 ライブでかしゆか様にお会いしたいと思います。大切な思い出はクラウドへ♪

また来年もJAWS-UGでいろんな人にお会いして次世代のコンピューティングにワクワクしたいと思います。

JAWS-UG 湘南 鈴木富士雄 @fujiosuzuki

[PR]
by fuzzio | 2013-12-25 02:57