3
0

More than 1 year has passed since last update.

RHEL7環境でDatadogAgentの構成ファイルを別ディレクトリで管理する。

Last updated at Posted at 2021-12-06

最初に

Datadog Agent(以下dd-agent)はそのインストールの簡単さが一つ有名なポイントです。
例えばLinux環境でdd-agentをインストールしたい場合、以下のようにワンライナーでインストールが可能で、そのあとはDatadogのUIからhostの状況を確認することが可能です。

DD_AGENT_MAJOR_VERSION=7 DD_API_KEY=xxxxxxxxxxxxxxx DD_SITE="datadoghq.com" bash -c "$(curl -L https://s3.amazonaws.com/dd-agent/scripts/install_script.sh)"

ちなみにMacBookにいれてみるとこんな感じです。簡単!おもしろい!
Screenshot 2021-12-06 at 18.11.52.png

Freeプランでも最大5台までhostが登録可能なので、お遊びで使うとしても良い環境だと思います。

本編

undraw_Programming_re_kg9v.png

本題に触れる前にdd-agentのディレクトリ構造について少し触れたいと思います。
通常インストール後、dd-agentは以下のように追加されます。(他にもありますが今回は重要な部分だけ)

ファイル詳細 Path ディレクトリの変更可否
datadog.yamlを含む構成ファイル /etc/datadog-agent/ できる
datadog-agentのアプリケーションファイル /opt/datadog-agent/ できない

今回は datadog.yamlを含む構成ファイル を別ディレクトリに移動してみたいと思います。

ディスクの空き容量は何かと問題になりがちなので、もしこの記事がどこかで有用になれば幸いです。

環境と手順

環境

host: RHEL 7 Amazon EC2 based
datadog-agent: Agent v7

手順

  1. dd-agentをhostにインストールする(稼働は後ほど)
  2. /etc/datadog-agent 配下を別ディレクトリに移動しシンボリックリンクをはる
  3. dd-agent起動時のpathの読み込みをオーバーライドするファイルを作成
  4. dd-agentの起動

設定してみる

1. dd-agentをhostにインストールする(稼働は後ほど)

なんにせよインストールしないと始まりません。初めに書いたようにワンライナーでdd-agentをhostにインストールします。
インストールのみ行いたいので、 DD_INSTALL_ONLY=true のオプションを追加します。

DD_AGENT_MAJOR_VERSION=7 DD_INSTALL_ONLY=true DD_API_KEY=xxxxxxxxxxxxxxxxxxx DD_SITE="datadoghq.com" bash -c "$(curl -L https://s3.amazonaws.com/dd-agent/scripts/install_script.sh)"

実はココにも書いてます↓
Screenshot 2021-12-06 at 19.41.09.png

下記のように表示されたらインストール成功です。
下でstatusを確認していますが、ちゃんとdeadですね。
Screenshot 2021-12-06 at 18.33.48.png

2. /etc/datadog-agent 配下を別ディレクトリに移動しシンボリックリンクをはる

今回はなんとなく /var/opt/datadog-agent に移動させてみました。
管理簡単にしたければ /opt/datadog-agent に置くのが良いかもですね。
あとついでに変更前と後でシンボリックリンクをはります。

mv /etc/datadog-agent/ /var/opt/
ln -sf /var/opt /etc/datadog-agent

3. dd-agent起動時のpathの読み込みをオーバーライドするためのファイルを作成

ファイルは /etc/systemd/system/datadog-agent.service.d 配下に作成します。

mkdir /etc/systemd/system/datadog-agent.service.d
vi /etc/systemd/system/datadog-agent.service.d/override.conf
override.conf
[Service] 
ExecStart= 
ExecStart=/opt/datadog-agent/bin/agent/agent run -p /opt/datadog-agent/run/agent.pid --cfgpath=/var/opt/datadog-agent/datadog.yaml

一応言っておくと空の ExecStart= は必要なので消さないでくださいね。約束しましたよ!

一通りの設定が済んだので設定を浸透させます。

systemctl daemon-reload

4. dd-agentの起動

それではさんざん寝かせたdd-agentの起動です。

systemctl start datadog-agent // 起動
systemctl status datadog-agent // status確認

Screenshot 2021-12-06 at 18.57.14.png

うんうん、よく動いてますね。
ちなみに下の方をよく見ると --cfgpath= がちゃんとオーバーライドされてますね。

Screenshot 2021-12-06 at 19.17.12.png

Datadog UI上でもhostからデータが送信されていることが確認できました。

最後に

そんな感じで構成ファイルを別ディレクトリに移動させてみました。
今回は環境的にRHELで行いましたが、Linux distributionのため通常のLinux環境でも同様のことができると思います。
他は試してないのでわかりませんが、やってること自体は『なるほどね』って感じだと思うので他のOSでも応用できそうですね。

それでは

参考資料

Red Hat 用 Agent の基本的な使用方法

基本的な Agent の利用方法

a

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0