はじめに
コンテナのログ監視を行うために利用される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のインストールメモでした。