###前提条件
1)Apache2をVM上に構築すること
2)ruby,gemなどのインストール
:td agentを使うために必要である!
###手順
#####1.apache2のインストール
$yum -y install httpd
:httpdインストール
$yum -y install php php-mbstring
:php、php-mbstringインストール
ps)PHP は、オープンソースの汎用スクリプト言語です。 特に、サーバサイドで動作する Web アプリケーションの開発に適しています。php-mbstring、mbstringは拡張モジュールを意味する
$vi /etc/httpd/conf/httpd.confでhttpdの基本的な設定をする
主にやったのはCGI,SSIの許可、.htaccessの許可など。
基本的に自分のVMのIP addressを入力すると、apacheのテストページが見れる
だったらWebは構築された。
今から、やることは、このIp-addressに接続して生じるログをYBIへ自動的に入れるようにしたい!
そのとき、そのログをYBIへ運ぶのがtd agent、fluentd
#####2.fluentd(td-agent)をインストールする!
$ curl -L http://toolbelt.treasuredata.com/sh/install-ubuntu-precise.sh | sh
$ sudo td-agent --version
:バージョンの確認
#####3. /etc/td-agent/td-agent.confを編集する
:ここがメイン、生じるログのtailを取ってYBIに送るための設定する
#Tailing the Apache Log
<source>
type tail
path /var/log/httpd/access_log
pos_file /var/log/td-agent/httpd-access.pos
tag td.my_db.my_tbl
format apache2
</source>
#Treasure Data Input and Output
<match td.*.*>
type tdlog
endpoint ybi.jp-east.idcfcloud.com
apikey 自分のAPI KEY
auto_create_table
buffer_type file
buffer_path /var/log/td-agent/buffer/td
use_ssl true
</match>
#####*設定ファイルの説明
source
1)sourceはログが溜まる場所の意味
:ログの置き場所をちゃんとちぇっくして入力すること!
2)typeはtailで取って来ます!一番最新のログを取る
3)pos_fileを入力しないと、、
'pos_file PATH' parameter is not set to a 'tail' source.
this parameter is highly recommended to save the position to resume tailing.
とエラーが出る
4)tag td.my_db(データベース名).my_tbl(テーブル名)
5)format apache2
:apache2形式
match
6)endpointはybi.jp-east.idcfcloud.comを設定する
:YBIのデータはIDCFオブジェクトに保管される
7)apikey 自分のAPI-key
:自分のAPI入力する(自分のアカウントに送るためでしょう)
8)buffer_path
:ログを取って短い間蓄積する場所。その後、ログを送って削除する
9)use_ssl true
:SSL(Secure Sockets Layer)とは、インターネット上で通信を暗号化する技術である
#####4. apache2を起動しよう!
$systemctl start httpd
#####5. td-agentを起動する!起動中なら再起動
$sudo /etc/init.d/td-agent start(restart)
#####6. td-agentの/var/log/httpd/access_logへのアクセス権限を与える
:td-agentはuser権限を持っている
$ls -ld /var/log/httpd
:たぶん、こちから権限がなかった、、ディレクトリから権限あげよう
$ll /var/log/httpd/access_log
:ここにアクセス権限や、読み込み権限がないとだめ!確認するべき
:ファイルにアクセスするためにはX(実行)の権限が必要
$chmod a+rx /var/log/httpd/
:ディレクトリに権限を与える
$chmod a+rx /var/log/httpd/access_log
:ログファイルにアクセスするため全てのユーザに対してこの権限を与える
#####7. 自分のWebにログを残せる
$curl http://localhost
#####8. webログがちゃんと自分のファイルに入っているのか確認しよう、一応確認する
$more /var/log/httpd/access_log
:viよりはmoreで確認するのがいいです。編集したくないなら、、
#####9.YBIのテーブル上にちゃんと入っているのか確認しよう
$td tables
#####10.多分はいっているはずだが、なんか問題があったらtd-agentのログを確認しよう
$more /var/log/td-agent/td-agent.log