この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
サクッと導入してみます。小ネタです。
以下の公式ページを参考にしました。(Datadogにログインすると見れます)
https://app.datadoghq.com/account/settings#agent/ansible
1. ローカルにDatadog公式Playbookをダウンロードする
$ ansible-galaxy install Datadog.datadog -p ansible/roles
- downloading role 'datadog', owned by Datadog
- downloading role from https://github.com/DataDog/ansible-datadog/archive/1.0.0-rc3.tar.gz
- extracting Datadog.datadog to ansible/roles/Datadog.datadog
- Datadog.datadog was installed successfully
2. DatadogのWebサイトでAPIキーを発行する
Datadogのwebサイトで行います。
3. 呼び出し元のPlaybookを修正する
datadog-agentのインストールには管理権限が必要なので、become: yes
を忘れないようにします。
- { role: Datadog.datadog, datadog_api_key: "0123456789abcdefg", when: rails_env == 'production', become: yes }
4. 必要に応じてDatadogに送るデータの設定をする
READMEに設定例があります。
https://github.com/DataDog/ansible-datadog/blob/master/README.md
vars:
rails_env: "{{ lookup('env', 'RAILS_ENV') }}"
datadog_config:
collect_ec2_tags: yes
collect_security_groups: yes
datadog_checks:
process:
init_config:
instances:
- name: ssh
search_string: ['ssh', 'sshd']
- name: application
search_string: ['puma']
exact_match: false
nginx:
init_config:
instances:
- nginx_status_url: http://localhost/nginx_status/
ここでは、pumaとsshdのプロセス監視、及びnginxのメトリックをDatadogに送っています。 NginxはDatadog側でのIntegration設定が必要です。
nginxの設定はこちら http://docs.datadoghq.com/ja/integrations/nginx/
まとめ
サクッとDatadogの導入ができました。
今後もEC2構成の変更に備えて、メンテナス性の良いPlaybookに保っていきたいです。