最初に
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にいれてみるとこんな感じです。簡単!おもしろい!
Freeプランでも最大5台までhostが登録可能なので、お遊びで使うとしても良い環境だと思います。
本編
本題に触れる前に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
手順
- dd-agentをhostにインストールする(稼働は後ほど)
- /etc/datadog-agent 配下を別ディレクトリに移動しシンボリックリンクをはる
- dd-agent起動時のpathの読み込みをオーバーライドするファイルを作成
- 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)"
下記のように表示されたらインストール成功です。
下でstatusを確認していますが、ちゃんとdeadですね。
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
[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確認
うんうん、よく動いてますね。
ちなみに下の方をよく見ると --cfgpath=
がちゃんとオーバーライドされてますね。
Datadog UI上でもhostからデータが送信されていることが確認できました。
最後に
そんな感じで構成ファイルを別ディレクトリに移動させてみました。
今回は環境的にRHELで行いましたが、Linux distributionのため通常のLinux環境でも同様のことができると思います。
他は試してないのでわかりませんが、やってること自体は『なるほどね』って感じだと思うので他のOSでも応用できそうですね。
それでは