LoginSignup
1

More than 5 years have passed since last update.

YBIのTD agent、fluentdを使ったデータインポート

Last updated at Posted at 2015-07-14

前提条件

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1