LoginSignup
1
0

More than 5 years have passed since last update.

プロキシ環境下での Datadog インストール(Nginx版 [未完成])

Last updated at Posted at 2019-03-23

:bookmark: 説明

インターネットに直接接続できない、プロキシ越しでしか外部にアクセスできない環境下での Datadog エージェントのインストールと dd-agent 設定方法を説明。

:bookmark: 結論

以下の4つのポイントがある

:notebook: ①Datadog エージェントをインストールするために

  • POINT :one:: 環境変数 HTTP_PROXY HTTPS_PROXY NO_PROXY にプロキシ設定
  • POINT :two:: 環境変数 DD_HTTP_PROXY DD_HTTPS_PROXY DD_PROXY_NO_PROXY にプロキシ設定
  • POINT :three:/etc/yum.conf にプロキシ設定する

:notebook: ②Datadog 画面上にがメトリクスが表示されるようになるまで

  • POINT :four:/etc/datadog-agent/datadog.yaml にもプロキシを明示し、datadog agent 再起動
proxy:
    https: http://[プロキシサーバのプライベートIP]:[プロキシサーバのポート]
    http: http://[プロキシサーバのプライベートIP]:[プロキシサーバのポート]

:dog: Datadog の初期状態

どのページに行ってもなにもありません。
image.png

:seedling: AWS インスタンスの初期状態

以下のような構成。

image.png

private サーバから直でインターネットには行けない。

:sparkles: プロキシサーバの構築

# yum update
$ sudo yum update -y

# リポジトリにあるバージョン確認
# (AmazonLinux2にはExtrasリポジトリというものがあり、パッケージの導入ができる)
$ amazon-linux-extras | grep nginx
4  nginx1.12                available    [ =1.12.2 ]

# install nginx
sudo amazon-linux-extras install nginx1.12 -y

# conf の編集
$ sudo vi /etc/nginx/nginx.conf

以下の部分を変更し、フォワードプロキシとして機能するようにする

resolver 8.8.8.8; <-追記
location / {
    proxy_pass $scheme://$http_host$request_uri;
}

Nginxを起動&自動起動設定させておく

$ sudo systemctl start nginx
$ sudo systemctl enable nginx

正常に起動していることを確認

$ sudo systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2019-03-23 16:39:09 UTC; 17s ago
 Main PID: 6298 (nginx)
   CGroup: /system.slice/nginx.service
           tq6298 nginx: master process /usr/sbin/nginx
           mq6299 nginx: worker process

自動起動設定が有効になっていることの確認

$ sudo systemctl is-enabled nginx.service
enabled

:a: プロキシ設定をせず、Datadog Agent をインストールしようとする

Google に curl はできる状態

[ec2-user@ip-10-X-Y-Z ~]$ curl --dump-header - http://www.google.com -x http://[プロキシサーバのプライベートIP]:8080
HTTP/1.1 200 OK
Date: Wed, 20 Mar 2019 19:04:30 GMT
(以下略)

しかしDatadogエージェントインストールは失敗

DD_API_KEY=abcdefghijklmnopq bash -c "$(curl -L https://raw.githubusercontent.com/DataDog/datadog-agent/master/cmd/agent/install_script.sh)"

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:02:08 --:--:--     0curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection timed out

:b: プロキシ設定をして、Datadog Agent をインストールする

プロキシ設定

$ export HTTP_PROXY=http://[プロキシサーバのプライベートIP]:80
$ export HTTPS_PROXY=http://[プロキシサーバのプライベートIP]:80
$ export NO_PROXY=169.254.169.254

Datadogエージェントインストール、、はまだ成功しない

DD_API_KEY=abcdefghijklmnopq bash -c "$(curl -L https://raw.githubusercontent.com/DataDog/datadog-agent/master/cmd/agent/install_script.sh)"

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 11280  100 11280    0     0  71531      0 --:--:-- --:--:-- --:--:-- 71847

* Installing YUM sources for Datadog

* Installing the Datadog Agent package

Loaded plugins: priorities, update-motd, upgrade-helper
Cleaning repos: amzn-main amzn-updates datadog
0 metadata files removed
0 sqlite files removed
0 metadata files removed
Loaded plugins: priorities, update-motd, upgrade-helper
https://yum.datadoghq.com/stable/6/x86_64/repodata/repomd.xml: [Errno 12] Timeout on https://yum.datadoghq.com/stable/6/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 5001 milliseconds')
Trying other mirror.

ドキュメントを見ると「DD_PROXY~」も設定しなくてはいけないようだ。

Agent proxy configuration

ということでプロキシ設定再トライ

$ export DD_PROXY_HTTP=http://[プロキシサーバのプライベートIP]:80
$ export DD_PROXY_HTTPS=http://[プロキシサーバのプライベートIP]:80
$ export DD_PROXY_NO_PROXY=169.254.169.254

インストール再トライ

(同様のエラー)

yum ができていないようなので、/etc/yum.conf にプロキシ設定する

(略)
proxy=http://[プロキシサーバのプライベートIP]:80
(略)

3度目の正直

DD_API_KEY=abcdefghijklmnopq bash -c "$(curl -L https://raw.githubusercontent.com/DataDog/datadog-agent/master/cmd/agent/install_script.sh)"

(略)

Installed:
  datadog-agent.x86_64 1:6.10.2-1

Complete!

* Adding your API key to the Agent configuration: /etc/datadog-agent/datadog.yaml

* Starting the Agent...

datadog-agent start/running, process 29223


Your Agent is running and functioning properly. It will continue to run in the
background and submit metrics to Datadog.

If you ever want to stop the Agent, run:

    sudo stop datadog-agent

And to run it again run:

    sudo start datadog-agent

インストール成功!

:cactus: Datadog 画面上にがメトリクスが表示されるようにする

しかし、いつまで経ってもDatadog画面上で見えない。

/etc/datadog-agent/datadog.yaml にもプロキシを明示することにした。

proxy:
    https: http://[プロキシサーバのプライベートIP]:80
    http: http://[プロキシサーバのプライベートIP]:80

datadog agent 再起動
sudo restart datadog-agent

やっとDatadog 画面上にも表れた💡
image.png

image.png

トラブルシューティング

/var/log/datadog/
に吐かれているログを見ましょう。

:notebook_with_decorative_cover: 参考ドキュメント

Amazon Linux2にnginxをinstallするメモ - Qiita

Nginxでyumやwget用のフォワードプロキシ | A Convenient Engineer's Note

Agent proxy configuration

curlコマンドにてproxy設定 - Qiita

GCP – DataDogのログ転送用Proxyにハマったんです。 – Mark System Techno

1
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
1
0