joppot

コピペで絶対動く。説明を妥協しない

サーバ

awsのec2にtd-agentの環境を構築する

投稿日:2017年3月4日 更新日:

Pocket


概要

みなさんこんにちはcandleです。
今回はec2にtd-agentの環境を構築したいと思います。
基本的には前回のCentOS6.5に構築するのと同じになります。

前提

適当なEC2がある

SPONSORED LINK


基本のライブラリをインストールする

td-agentサーバで使うライブラリをインストールします。

sudo yum install -y git openssl openssl-devel readline readline-devel gcc

最低限必要なライブラリはこれだけです。


rubyについて

td-agentはrubyで動いています。
そこで、どのrubyのバージョンを使うかが気になります。

ec2には初期からrubyがインストールされています。なので、td-agentを簡単に動かす場合はそちらを使うと良いでしょう。
ただ、railsと一緒に使ったり、バージョンを最新にしたい場合は以下の手順でrubyをインストールすることをおすすめします。

簡単にやりたい場合は「td-agentをインストールする」まで章を飛ばしてください。

rbenvをインストールする

rubyのインストールは、rbenvから入れる方がfluentdのバージョン変更や、railsとの共存など、様々な状況に対してrubyのバージョンを変更できるのでおすすめです。

以下のコマンドでrbenvをリポジトリから持ってきて

sudo git clone git://github.com/sstephenson/rbenv.git /usr/local/rbenv

rbenv以下の権限をec2-userユーザーに変更します。

sudo chown -R ec2-user /usr/local/rbenv

/usr/local/rbenvは/binや/usr/binのような実行ファイルのディレクトリに設定されていません。

パスを通さないと、rbenvをインストールしてもグローバルに実行できません。
なので、パスを通します。

/etc/profileを開き、以下を一番下に記述します。

export RBENV_ROOT=/usr/local/rbenv
export PATH="${RBENV_ROOT}/bin:${PATH}"
eval "$(rbenv init -)"

rbenvだけではrubyのインストールができないので、
rbenvのプラグインであるruby-buildをインストールします。

以下のコマンドを実行します。

git clone git://github.com/sstephenson/ruby-build.git /usr/local/rbenv/plugins/ruby-build

インストールが終わったら、一度、/etc/profileを再読み込みし,rbenvをrehashします。

source /etc/profile
rbenv rehash


rubyをインストールする

td-agent(fluentd)のrubyの推奨バージョンはよくわかりませんが、最新でも動くと思います。

rbenv install 2.3.3

centos全体で2.3.3を使う宣言し、リフレッシュします。

rbenv global 2.3.3
rbenv rehash

rubyがインストールできました。


td-agentをインストールする

続いて、td-agentをインストールします。
公式サイトにある以下のコマンドでインストールします。

curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh

特にエラーなく終われば、インストール完了です。

td-agentの起動

td-agentの起動は以下のコマンドになります。

sudo service td-agent start

デーモンでサーバ起動時に自動的に立ち上がるようにしておきます。

sudo chkconfig td-agent on

td-agent-uiの起動

td-agent-uiとはwebで簡単にプラグインかログを見れたりするものです。
td-agent-uiは簡単に起動できます。

sudo td-agent-ui start

で起動します。

いくつかwarningが出ていますが、多分大丈夫です。

ブラウザでEC2に割り振られているIPアドレスにアクセスしましょう。

それと、ポートは9292なので、セキュリティグループでポートを解放しておきましょう。
9292へのアクセスはIP制限をしておきましょう。

http://xxx.xxx.xxx.xxxx:9292にアクセスします。

アカウント名は「admin」パスワードは「changeme」です。

ログインしたら、パスワードを変更しておきましょう。

こんな感じです。
セットアップの画面がでてきます。fluentdかtd-agentが選べます。td-agentを選びましょう。

td-agentの設定ファイルなどが展開されます。
セットアップは以上です。
詳しい操作などはまた別の記事で。

まとめ

以上でfluentdを構築できました。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-サーバ
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

railsのfluent-loggerとdevise gemを使ってユーザーの行動をfluentdサーバに収集する

概要 fluentdと言えば、ビックデータで扱うようなデータを集め出力するサーバですが、これとrailsのfluent-logger gemとdevise gemを組み合わせてユーザーの行動ログをとっ …

fluentdでrails logをtailで直接取得する方法

概要 追記) この記事はだいぶ古くなってしまったので、新しく書き直しました。 こちらの方を参照した方が多分良いことが書いてあります。 https://joppot.info/2017/03/17/35 …

centosのfluentdをdaemon toolsを使って自動起動する

概要 みなさんこんにちはcandleです。今回は、fluentdの自動起動を試したいと思います。 centosかつfluentdかつdaemon toolsって誰に需要があるのか分からない記事ですがよ …

ElastiCacheのmemcachedとEC2上のrailsとdalli-elasticacheを使ってキャッシュ管理する

概要 皆さんこんにちはcandleです。今回はaws上にあるElastiCacheというサービスを使って railsのキャッシュを管理したいと思います。 キャッシュというのはwebサービス上でよく使う …

gitのリモートプライベートリポジトリを公開鍵認証を使って環境構築する

概要 みなさんこんにちはcandleです。 今回はgitのリモートプライベートリポジトリを作ってみたいと思います。 リモートリポジトリと言えば、Githubとかbitbucketが有名だと思います。会 …

プロフィール


ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー

スポンサードリンク

アーカイブ