(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【RHEL/fluetnd】TreasureDataAgent(tdagent)をインストールする流れ

スポンサーリンク

はじめに

コンテナのログ監視を行うために利用されるFluentdを導入すべく、受けて側の仮想マシンRHELで実際にTreasureDataAgent(td-agent)をインストールした結果について記載しました。尚、基本は以下コマンドで終わりですが、内部のスクリプトを見ながら一つ一つコマンドを打ってます。

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

尚、各サーバのシステム要件(ulmitの変更等)は公式ドキュメントに記載があるので割愛します。

環境情報
# cat /etc/os-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.9 (Maipo)"
# yum list installed | grep td-agent
td-agent.x86_64                     4.X              @/td-agent-4.X.el7.x86_64

インストールの準備

まずは以下コマンドでgpgの鍵をローカルに保存します。

# rpm --import https://packages.treasuredata.com/GPG-KEY-td-agent

保存した鍵は以下コマンドで確認できて

# rpm -qa gpg-pubkey*
gpg-pubkey-ab97acbe-586223cc

中を見るとTreasure Agent Official Signing keyという文言が確認できます。

# rpm -qi gpg-pubkey-ab97acbe-586223cc
Name        : gpg-pubkey
...
Packager    : Treasure Data, Inc (Treasure Agent Official Signing key) ...
Summary     : gpg(Treasure Data, Inc (Treasure Agent Official Signing key) ...

次に以下コマンドでリポジトリ用ファイルを作成して

# cat >/etc/yum.repos.d/td.repo <<'EOF';
[treasuredata]
name=TreasureData
baseurl=http://packages.treasuredata.com/4/redhat/\$releasever/\$basearch
gpgcheck=1
gpgkey=https://packages.treasuredata.com/GPG-KEY-td-agent
EOF

以下で更新。

# yum check-update

今回はインストールされるRPMを確認すべくテスト用ディレクトリに配置すると

# yum install td-agent --downloadonly --downloaddir=Test

td-agent用のRPMが確認できます。

# ls Test/
td-agent-4.2.0-1.el7.x86_64.rpm

インストール

同RPMを指定すると実機にインストールが行われます。

# yum localinstall td-agent-4.2.0-1.el7.x86_64.rpm

これに成功すると、動的にサービスが作成され

# systemctl status td-agent.service
● td-agent.service - td-agent: Fluentd based data collector for Treasure Data
   Loaded: loaded (/usr/lib/systemd/system/td-agent.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: https://docs.treasuredata.com/articles/td-agent

設定ファイルが配置されます。

# ls /etc/td-agent/
plugin  td-agent.conf

正常起動の確認は以下で

# systemctl enable td-agent.service
# systemctl start td-agent.service
# systemctl status td-agent.service
● td-agent.service - td-agent: Fluentd based data collector for Treasure Data
   Loaded: loaded (/usr/lib/systemd/system/td-agent.service; enabled; vendor preset: disabled)
   Active: active (running) since .
     Docs: https://docs.treasuredata.com/articles/td-agent
  Process: 27740 ExecStart=/opt/td-agent/embedded/bin/fluentd --log $TD_AGENT_LOG_FILE --daemon /var/run/td-agent/td-agent.pid $TD_AGENT_OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 27751 (fluentd)
   CGroup: /system.slice/td-agent.service
           ├─27751 /opt/td-agent/embedded/bin/ruby /opt/td-agent/embedded/bin/fluentd --log /va...
           └─27756 /opt/td-agent/embedded/bin/ruby -Eascii-8bit:ascii-8bit /opt/td-agent/embedd...
...

確かにプロセスとして動作しています。

終わりに

デフォルトでは設定ファイルに以下が記載されているので

<source>
  @type http
  @id input_http
  port 8888
</source>

以下コマンドをサーバ上で打てば/var/log/td-agent/td-agent.logに値が出力されます。

# curl -X POST -d 'json={"json":"message"}' http://localhost:8888/debug.test

以上、td-agentのインストールメモでした。