通过具有 datadog ansible 角色的日志文件的位置来检测 datadog 代理

instrument datadog agent by the location of logs file with datadog ansible role

我尝试使用 datadog ansible 角色启用日志收集,

但我不明白为什么日志没有报告给 Datadog ui

我在 github 存储库中找到了一个剧本示例,

- 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

但是我该如何为我的情况做这件事我只有一个 tomcat 服务器记录到一个文件,我希望 datadog 将这些日志文件带到我的 datadog 帐户

提前致谢

# 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

我知道我该怎么做,

如果您遇到相同情况,请检查此代码

最重要的是指定一个服务(tomcat、nginx、java ...),Ansible 角色将尝试创建完成配置所需的文件,

- 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