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

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

関連記事

apacheのmod_rewriteでphpのGETパラメータのurlを書き換える

概要 みなさんこんにちはcandleです。今回はphpでgetでパラメータを受け取る際のurlの書き換えです。 例えば、phpよくあるのがこのようなurlではないでしょうか。 http://local …

railsのaws-sdk gemを使ってs3のファイルを削除する

by martinak15 概要 みなさんこんにちはcandleです。今回はs3にアップロードされている画像ファイルをrailsのaws-sdk gemを使用して削除してみたいと思います。 記事中で開 …

gemを使ってcentosにfluentdサーバを構築する

概要 みなさんこんにちはcandleです。今回はfluentdサーバをcentos上に構築したいと思います。 fluentdサーバといえば、railsやphpと連帯して、ユーザーのサービスサイト内での …

AWS環境でELB(ロードバランサー)とEC2サーバでapacheを使っている場合にhttpからhttpsにリダイレクトする方法

概要 みなさんこんにちはcandleです。今回はマニアックな記事ですが、恐らくスタートアップ企業などではわりと使う内容だと思うのでまとめておきます。 この方法が全てのサービス上でベストなやり方なのかど …

fabricでmysqlコマンドを実行する関数を自作する

概要 皆さんこんにちはcandleです。今回はfabricからリモート先のサーバのmysqlを実行するための環境変数と関数を作成したいと思います。 mysqlは一般にmysqlコマンドをログインしてか …

プロフィール


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

twitter

スポンサードリンク

アーカイブ