i try to enable logs collecting with datadog ansible role,
but i can’t figure out why the logs are not reported to the Datadog ui
i found an example of a playbook in the github repo,
- hosts: servers roles: - { role: datadog.datadog, become: yes } vars: datadog_api_key: "<YOUR_DD_API_KEY>" datadog_agent_version: "7.16.0" datadog_config: tags: - "<KEY>:<VALUE>" - "<KEY>:<VALUE>" log_level: INFO apm_config: enabled: true logs_enabled: true # available with Agent v6 and v7 datadog_checks: process: init_config: instances: - name: ssh search_string: ['ssh', 'sshd' ] - name: syslog search_string: ['rsyslog' ] cpu_check_interval: 0.2 exact_match: true ignore_denied_access: true ssh_check: init_config: instances: - host: localhost port: 22 username: root password: <YOUR_PASSWORD> sftp_check: True private_key_file: add_missing_keys: True nginx: init_config: instances: - nginx_status_url: http://example.com/nginx_status/ tags: - "source:nginx" - "instance:foo" - nginx_status_url: http://example2.com:1234/nginx_status/ tags: - "source:nginx" - "<KEY>:<VALUE>" #Log collection is available on Agent 6 and 7 logs: - type: file path: /var/log/access.log service: myapp source: nginx sourcecategory: http_web_access - type: file path: /var/log/error.log service: nginx source: nginx sourcecategory: http_web_access # datadog_integration is available on Agent 6.8+ datadog_integration: datadog-elastic: action: install version: 1.11.0 datadog-postgres: action: remove network_config: enabled: true
but how can i do it for my case i have just a tomcat server logging to a file and i want datadog to take those logs file to my datadog account
thanks in advance
# my code - name: install the agent on targets include_role: name: datadog.datadog vars: datadog_api_key: "myApiKey" datadog_site: "datadoghq.com" datadog_config: log_level: INFO apm_config: enabled: true logs_enabled: true logs: - type: file path: /home/ubuntu/web-app/tomcatlogs/logs/*.log service: myapp source: tomcat
Answer
i figure out how can i do it,
check this code if you are in the same situation
on the bottom line is just about specifying a service (tomcat, nginx, java …) and the Ansible role will try to create the files needed to complete your configuration,
- name: install the agent on targets include_role: name: datadog.datadog vars: datadog_api_key: "YOUR_API" datadog_site: "datadoghq.com" datadog_config: log_level: INFO apm_config: enabled: true logs_enabled: true datadog_checks: tomcat: logs: - type: file path: /home/ubuntu/web-app/tomcatlogs/logs/*.log service: myapp source: tomcat