Skip to content

http_check fails in alpine image due to embedded path references #307

@a200462790

Description

@a200462790

**Output of the info page **

2018-05-29 13:57:10,866 | INFO | dd.collector | utils.cloud_metadata(cloud_metadata.py:275) | Attempting to get OpenStack meta_data.json
2018-05-29 13:57:10,869 | INFO | dd.collector | utils.cloud_metadata(cloud_metadata.py:295) | Could not load meta_data.json, not OpenStack EC2 instance
====================
Collector (v 5.24.0)
====================

  Status date: 2018-05-29 13:56:58 (11s ago)
  Pid: 1064
  Platform: Linux-4.4.115-k8s-x86_64-with
  Python Version: 2.7.14, 64bit
  Logs: <stderr>, /opt/datadog-agent/logs/collector.log

  Clocks
  ======
  
    NTP offset: 0.0027 s
    System UTC time: 2018-05-29 13:57:10.902521
  
  Paths
  =====
  
    conf.d: /opt/datadog-agent/agent/conf.d
    checks.d: /opt/datadog-agent/agent/checks.d
  
  Hostnames
  =========
  
    ec2-hostname: {}
    local-ipv4: {}
    socket-hostname: {}
    hostname: {}
    local-hostname: 
    instance-id: {}
    socket-fqdn: {}
  
  Checks
  ======
  
    disk (1.2.0)
    ------------
      - instance #0 [OK]
      - Collected 34 metrics, 0 events & 0 service checks
    ntp (1.2.0)
    -----------
      - Collected 0 metrics, 0 events & 0 service checks
  
    docker_daemon (1.10.0)
    ----------------------
      - instance #0 [OK]
      - Collected 119 metrics, 0 events & 1 service check
  
    network (1.5.0)
    ---------------
      - instance #0 [OK]
      - Collected 50 metrics, 0 events & 0 service checks
  
    http_check (2.0.1)
    ------------------
      - initialize check class [ERROR]: OSError('Unable to locate `embedded` directory. Please specify ca_certs in your http yaml configuration file.',)
  
  Emitters
  ========
  
    - http_emitter [OK]

====================
Dogstatsd (v 5.24.0)
====================

  Status date: 2018-05-29 13:57:05 (6s ago)
  Pid: 1062
  Platform: Linux-4.4.115-k8s-x86_64-with
  Python Version: 2.7.14, 64bit
  Logs: <stderr>, /opt/datadog-agent/logs/dogstatsd.log

  Flush count: 130
  Packet Count: 0
  Packets per second: 0.0
  Metric count: 1
  Event count: 0
  Service check count: 0

====================
Forwarder (v 5.24.0)
====================

  Status date: 2018-05-29 13:57:09 (3s ago)
  Pid: 1063
  Platform: Linux-4.4.115-k8s-x86_64-with
  Python Version: 2.7.14, 64bit
  Logs: <stderr>, /opt/datadog-agent/logs/forwarder.log

  Queue Size: 0 bytes
  Queue Length: 0
  Flush Count: 409
  Transactions received: 234
  Transactions flushed: 234
  Transactions rejected: 0
  API Key Status: API Key is valid
  

Additional environment details (Operating System, Cloud provider, etc):

Steps to reproduce the issue:

  1. Create http_check.yml in conf.d directory:
init_config: ~
instances:
  - name: github
    url: https://status.github.com/api/status.json
    content_match: 'major'
    reverse_content_match: true
    ca_certs: /etc/ssl/certs/ca-certificates.crt
    disable_ssl_validation: true
    skip_event: true
    tags:
      - url:https://status.github.com/api/status.json
      - service:github
  1. Build below docker file(using your own api key)
FROM datadog/docker-dd-agent:latest-alpine
ENV API_KEY=<API_KEY>
COPY conf.d /conf.d
  1. Run the docker image
  2. Check the agent info command:

initialize check class [ERROR]: OSError('Unable to locate embedded directory. Please specify ca_certs in your http yaml configuration file.',)

Describe the results you received:
The http_check integration fails due to cert error.
It appears to be searching in a embedded/* path.

Describe the results you expected:
I expected that if I specify ca_certs then it would not try to get the default cert path of "embedded/ssl/certs". It would load the path that i passed and continue on.

Additional information you deem important (e.g. issue happens only occasionally):

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions