ansibleでdatadogを導入する
サクッと導入してみます。小ネタです。
以下の公式ページを参考にしました。(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に保っていきたいです。