joppot

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

サーバ

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

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



概要

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

前提

適当なEC2がある


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

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

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

関連記事

MAMPでphpのshell_execを使用してunixコマンドを実行できない場合の対処(imagemagick,convert)

概要 みなさんこんにちはcandleです。今回はちょっと問題が起きてshell_execがうまくいかないときのトラブルシューティングをまとめます。 私はMAMPをバージョンアップする前は、phpのsh …

centos6.5にtd-agentサーバを構築する

English 日本語 概要 みなさん、こんにちはcandleです。 今回はcentos6.5にtd-agentサーバを構築してみたいと思います。 td-agentとは要はfluentdの事だと思いま …

React + S3 + Route53 + CloudFrontでSSL使ってHTTPS化

概要 みさんさんこんにちはcandleです。今回はS3にデプロイしたReact webの通信をSSL化してみたいと思います。 最近はAPIサーバとReactフロントエンドを分離してwebサービスを提供 …

wordpressのカテゴリーを削除する

概要 みなさんこんにちはcandleです。今回はwordpressのカテゴリー削除に関してです。実は私、タグとカテゴリーを間違えていて、初期の頃はカテゴリーで全て分類していました。後に、タグで管理する …

railsのfluent-logger gemを使ってユーザーのアクセスをfluentdサーバに収集する

概要 みなさんこんにちはcandleです。前回からfluentd関連の記事を続けていますが、今回辺りから実用的な使い方を書いていきたいと思います。 fluentdと言えば、ビックデータで扱うようなデー …


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