Datadog


1Presentation

Datadog is a service that allows − in particular − to centralize the logs of your applications within a single interface. This can be very handy when your web application is spread across multiple servers and it becomes difficult to track multiple log files simultaneously.


2Configuration

In the etc/temma.php configuration file, add the \Temma\LogManagers\Datadog object to the logManager directive.

You must also add an x-datadog extended configuration, with the following keys:

  • url: (required) Datadog API connection URL, depending on the location you chose
    • EU: https://http-intake.logs.datadoghq.eu/api/v2/logs
    • US: https://http-intake.logs.datadoghq.com/api/v2/logs
    • US3: https://http-intake.logs.us3.datadoghq.com/api/v2/logs
    • US5: https://http-intake.logs.us5.datadoghq.com/api/v2/logs
    • US1-FED: https://http-intake.logs.ddog-gov.com/api/v2/logs
  • apiKey: (required) Your API key
  • service: (optional) Name of the service (website or application) sending the log

Here is an example configuration:

[
    'application' => [
        'logManager' => '\Temma\LogManagers\Datadog'
    ],
    'x-datadog' => [
        'url'     => 'https://http-intake.logs.datadoghq.eu/api/v2/logs',
        'apiKey'  => '...API_KEY...',
        'service' => 'temma.net',
    ]
]

3Usage

In the Datadog web interface, it is recommended to create two facets:

  • Traceid, which will contain a string of four characters, allowing to identify the logs coming from the same execution.
  • Class, which will contain the log recording class.

You can add these facets as columns in the general monitoring table, this will make reading the log stream more explicit.