Présentation
Associez Datadog à votre compte Cloudflare pour consulter vos métriques relatives au DNS et au trafic Web.
Configuration
Avant de commencer, vous avez besoin d’un compte Datadog doté d’une clé API. Vous devez également avoir accès à Cloudflare Logpush, ce qui nécessite un compte Enterprise.
Lorsque vous utilisez un token d’API Cloudflare, assurez-vous qu’il dispose des autorisations Zone > Zone > Read et Zone > Analytics > Read.
Installation
Installez l’intégration avec le carré d’intégration Cloudflare de Datadog.
Configuration
- Accédez à l’onglet Configuration dans le carré d’intégration Cloudflare de Datadog.
- Saisissez les adresses e-mail et les clés ou tokens d’API des comptes que vous souhaitez surveiller. Pour obtenir vos clés et tokens d’API, accédez à votre compte Cloudflare, puis à My profile > Api Tokens.
- Nommez le compte. Ce nom est arbitraire. Il est utilisé dans le tag
account
de vos métriques.
Collecte de logs
Grâce à son service Logpush, Cloudflare vous permet de transmettre des logs directement à Datadog. Vous pouvez gérer la tâche Logpush avec l’API Cloudflare ou le dashboard Cloudflare.
API Cloudflare
Créez une tâche Logpush en envoyant une requête POST à l’endpoint des tâches Logpush. Renseignez les champs suivants :
name
(facultatif) : indiquez votre nom de domaine.destination_conf
: une destination pour les logs caractérisée par les paramètres suivants :<DATADOG_ENDPOINT_URL>
: l’endpoint d’admission des logs HTTP Datadog. Votre endpoint est http-intake.logs./v1/input
.<DATADOG_API_KEY>
: votre clé d’API Datadog.ddsource
: définissez ce paramètre sur cloudflare
.service
(facultatif) : indiquez le nom du service.host
(facultatif) : indiquez le nom du host.ddtags
(facultatif) : indiquez des tags.
dataset
: la catégorie des logs que vous souhaitez recevoir. Consultez la section Champs de log de la documentation Cloudflare (en anglais) pour découvrir la liste des ensembles de données pris en charge.logpull_options
(facultatif) : pour configurer les champs, le taux d’échantillonnage et le format des timestamps, consultez la section Options de la documentation sur l’API Logpush (en anglais).
Exemple de requête :
curl -s -X POST 'https://api.cloudflare.com/client/v4/zones/<ZONE_ID>/logpush/jobs' \
--header 'X-Auth-Key: <CLOUDFLARE_AUTH_KEY>' \
--header 'X-Auth-Email: <CLOUDFLARE_AUTH_EMAIL>' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "<NAME>",
"destination_conf": "datadog://<DATADOG_ENDPOINT_URL>?header_DD-API-KEY=<DATADOG_API_KEY>&ddsource=cloudflare&service=cloudflare&ddtags=env:dev",
"logpull_options": "fields=RayID,EdgeStartTimestamp×tamps=rfc3339",
"dataset": "http_requests"
}'
Exemple de réponse :
{
"errors": [],
"messages": [],
"result": {
"id": 100,
"dataset": "http_requests",
"enabled": false,
"name": "<DOMAIN_NAME>",
"logpull_options": "fields=RayID,EdgeStartTimestamp×tamps=rfc3339",
"destination_conf": "datadog://http-intake.logs./v1/input?header_DD-API-KEY=<DD-API-KEY>&ddsource=cloudflare&service=cloudflare&ddtags=env:dev",
"last_complete": null,
"last_error": null,
"error_message": null
},
"success": true
}
Notez la valeur d’id
. Dans l’exemple précédent, elle est de 100
.
Activez la tâche. Utilisez l’ID de tâche renvoyé dans la réponse et envoyez {"enabled": true}
dans le corps de la requête.
Exemple de requête :
curl -s -X PUT \
https://api.cloudflare.com/client/v4/zones/<ZONE_ID>/logpush/jobs/<JOB_ID> -d'{"enabled":true}' | jq .
Exemple de réponse :
{
"errors": [],
"messages": [],
"result": {
"id": 100,
"dataset": "http_requests",
"enabled": true,
"name": "<DOMAIN_NAME>",
"logpull_options": "fields=RayID,EdgeStartTimestamp×tamps=rfc3339",
"destination_conf": "datadog://?header_DD-API-KEY=<DATADOG-API-KEY>",
"last_complete": null,
"last_error": null,
"error_message": null
},
"success": true
}
Dashboard Cloudflare
Une fois que vous avez connecté un service à la section Logpush du dashboard Cloudflare, sélectionnez l’ensemble de données, les champs de données, puis la destination Datadog.
Sous Enter destination information, saisissez l’endpoint d’URL Datadog :
http-intake.logs./v1/input?ddsource=cloudflare
Remarque : ddsource=cloudflare
est requis. Pour différencier les logs, vous pouvez également ajouter les paramètres facultatifs service
, host
et ddtags
.
Exemple :
http-intake.logs./v1/input?service=<SERVICE>&host=<HOST>&ddsource=cloudflare
Saisissez la clé d’API Datadog que vous avez utilisée pour configurer votre intégration Datadog/Cloudflare dans le carré dédié.
Une fois l’accès validé, le message « Ready to push! » s’affiche sous Prove ownership. Cliquez sur Push
pour terminer l’opération.
Données collectées
Métriques
Autorisations
Vérifiez que votre token d’API Cloudflare dispose des autorisations suivantes :
Scope | Autorisation | Statut |
---|
Compte | Account Analytics | Read |
Compte | Account Setting | Read |
Compte | Worker Scripts | Read |
Zone | Zone | Read |
Zone | Analytics | Read |
Zone | Itinéraires de workers | Read |
Zone | Load Balancers | Read |
Événements
L’intégration Cloudflare n’inclut aucun événement.
Checks de service
L’intégration Cloudflare n’inclut aucun check de service.
Dépannage
Besoin d’aide ? Contactez l’assistance Datadog.