Datadog Agentのバージョンアップ(5系→7系)
元々、前任者が5系のAgentだけ入れておざなりになっていたEC2に対して7系にバージョンアップして、新しく監視項目を作り直すということをやりました。 備忘録として一連の手順を記載します。
前提
▼OSバージョン
[root@ conf.d]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.8 (Santiago)
▼Datadog情報
[root@ dd-agent]# /etc/init.d/datadog-agent info =================== Collector (v 5.9.1) =================== Status date: 2020-04-22 19:01:02 (5s ago) Pid: 2319 Platform: Linux-2.6.32-642.3.1.el6.x86_64-x86_64-with-redhat-6.8-Santiago Python Version: 2.7.12, 64bit Logs: <stderr>, /var/log/datadog/collector.log (略) Paths ===== conf.d: /etc/dd-agent/conf.d checks.d: /opt/datadog-agent/agent/checks.d (略)
作業手順
1. Datadog Agentのバージョンアップ
DDの管理画面>Integration>Agentタブをクリックし対象のOSを選択すると、以下のようにインストールコマンドおよびアップグレードコマンドが表示される。
これにそって、以下コマンドでアップグレードする。
# DD_AGENT_MAJOR_VERSION=7 DD_UPGRADE=true bash -c "$(curl -L https://raw.githubusercontent.com/DataDog/datadog-agent/master/cmd/agent/install_script.sh)"
実行結果
(略) 完了しました! bash: line 271: datadog-agent import /etc/dd-agent /etc/datadog-agent: そのようなファイルやディレクトリはありません Automatic import failed, you can still try to manually run: datadog-agent import /etc/dd-agent /etc/datadog-agent The Agent won't start automatically at the end of the script because the Api key is missing, please add one in datadog.yaml and start the agent manually. * DD_INSTALL_ONLY environment variable set: the newly installed version of the agent will not be started. You will have to do it manually using the following command: start datadog-agent
設定のimportを記載されているコマンドで実行
# datadog-agent import /etc/dd-agent /etc/datadog-agent
実行結果
Success: imported the contents of /etc/dd-agent/datadog.conf into /etc/datadog-agent/datadog.yaml /etc/dd-agent/conf.d does not exist, no config files to import. /etc/dd-agent/conf.d/auto_conf does not exist, no auto_conf files to import.
↑元々何も設定してない状態だったので、これでOK
2. Datadog Agentの状態確認
# datadog-agent status
実行結果
Getting the status from the agent. =============== Agent (v7.18.1) =============== Status date: 2020-04-23 12:54:14.561342 JST Agent start: 2020-04-23 12:22:35.001590 JST Pid: 22235 Go Version: go1.12.9 Python Version: 3.8.1 Build arch: amd64 Check Runners: 4 Log Level: info Paths ===== Config File: /etc/datadog-agent/datadog.yaml conf.d: /etc/datadog-agent/conf.d checks.d: /etc/datadog-agent/checks.d (略)
きちんと7系にバージョンアップされ、パスも書き換わったことを確認!
メジャーバージョンアップなので心配してましたが、意外にもライトにバージョンアップできました♪
今日もお疲れ様でした。
その後、同じOSの他のサーバで上記を実施したところ、ステータス確認(datadog-agent status)時にアラートはいた。
# datadog-agent status Getting the status from the agent. Could not reach agent: Get https://localhost:5001/agent/status: dial tcp [::1]:5001: connect: connection refused Make sure the agent is running before requesting the status and contact support if you continue having issues. Error: Get https://localhost:5001/agent/status: dial tcp [::1]:5001: connect: connection refused
以下のコマンド試したが、それでもステータス確認時の上記エラーがで続けたので、アンインストール/ インストールでAgentを入れ直すことに。。
# stop datadog-aget # start datadog-agent
アンインストール
# yum remove datadog-agent
インストール
# DD_AGENT_MAJOR_VERSION=7 DD_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXX bash -c "$(curl -L https://raw.githubusercontent.com/DataDog/datadog-agent/master/cmd/agent/install_script.sh)"
すると、ステータス確認が成功↓
# datadog-agent status Getting the status from the agent. =============== Agent (v7.18.1) =============== Status date: 2020-04-24 15:08:03.933667 JST Agent start: 2020-04-24 15:07:14.511706 JST Pid: 835 Go Version: go1.12.9 Python Version: 3.8.1 Build arch: amd64 Check Runners: 4 Log Level: info Paths ===== Config File: /etc/datadog-agent/datadog.yaml conf.d: /etc/datadog-agent/conf.d checks.d: /etc/datadog-agent/checks.d
アップグレードよりも、入れ直しの方が良いのかな。。
試しに、datadog-agentの5系をアンインストールして7系をインストールすることもしてみたが、同じ状況に。。
7系にアップグレードしてから7系アンインストール、7系インストールが今回のテストでの解でした。。
【番外編】 インストール時にOrgを別のOrgに変更したい時は、アンインストールだけではなく、ディレクトリも消さなければなりません。
# yum remove datadog-agent # cd /etc/ # rm -rf dd-agent # rm -rf datadog-agent
このように準備をしてから別のOrgのDD APIキーを指定してインストールしないとOrgが変わらないので注意です!!