Les instructions suivantes permettent d’ajouter la formule Datadog à l’environnement Salt base. Pour l’ajouter à un autre environnement Salt, remplacez la valeur base par le nom de votre environnement Salt.
Installez la formule Datadog dans l’environnement de base de votre nœud salt-master à l’aide de l’option gitfs_remotes dans le fichier de configuration de votre salt-master (/etc/salt/master par défaut) :
fileserver_backend:
- roots # Actif par défaut, nécessaire pour pouvoir utiliser les fichiers Salt locaux définis aux étapes suivantes
- gitfs # Ajoute gitfs en tant que backend de serveur de fichiers afin de pouvoir utiliser l'option gitfs_remotes
gitfs_remotes:
- https://github.com/DataDog/datadog-formula.git:
- saltenv:
- base:
- ref: 3.0 # Imposer la version de la formule que vous voulez utiliser
Redémarrez ensuite votre service salt-master pour prendre en compte les changements de configuration :
Ajoutez-la ensuite à votre environnement de base, dans la section file_roots du votre fichier de configuration de votre salt-master (/etc/salt/master par défaut) :
Ajoutez la formule Datadog à votre fichier principal (/srv/salt/top.sls par défaut) :
base:
'*':
- datadog
Créez un fichier datadog.sls dans votre répertoire pillar (/srv/pillar/ par défaut). Ajoutez ensuite ce qui suit, puis mettez à jour votre clé d’API Datadog :
La configuration de la formule doit être écrite dans la clé datadog du fichier pillar, qui se compose de trois parties : config, install_settings, et checks.
Sous config, ajoutez les options de configuration à écrire dans le fichier de configuration de l’Agent des minions (datadog.yaml pour les Agents v6 et v7, datadog.conf pour l’Agent v5).
Selon la version de l’Agent installée, plusieurs options peuvent être définies :
Agents v6 et v7 : toutes les options prises en charge par le fichier de configuration de l’Agent sont prises en charge.
Agent v5 : seule l’option api_key est prise en charge.
L’exemple ci-dessous configure votre clé d’API Datadog et définit le site de Datadog sur datadoghq.eu (disponible pour les Agents v6 et v7).
Pour ajouter une intégration de l’Agent à votre host, utilisez la variable checks avec le nom du check comme clé. Chaque check s’accompagne de deux options :
Option
Description
config
Ajoutez les options de configuration à écrire dans le fichier de configuration du check : Agents v6 et v7 : <chemin_confd>/<check>.d/conf.yaml Agent v5 : <chemin_confd>/<check>.yaml
version
Pour les Agents v6 et v7, la version du check à installer (par défaut, la version fournie avec l’Agent).
third_party
Pour les Agents v6 et v7 (v6.21.0/v7.21.0 et versions ultérieures uniquement), valeur booléenne pour indiquer que l’intégration à installer est une intégration tierce. Doit être associée à l’option version.
L’exemple ci-dessous permet d’utiliser la v1.4.0 de l’intégration Directory pour surveiller le répertoire /srv/pillar :
Pour activer la collecte de logs, définissez logs_enabled sur true dans la configuration principale :
datadog:
config:
logs_enabled: true
Pour envoyer vos logs à Datadog, utilisez la clé logs dans un check (soit un check existant pour configurer les logs pour une intégration, soit un check custom pour personnaliser la collecte de logs). L’exemple suivant repose sur le check custom system_logs.
Le contenu de la clé config: de ce check est écrit dans le fichier /etc/datadog-agent/conf.d/<nom_check>.d/conf.yaml (ici, /etc/datadog-agent/conf.d/system_logs.d/conf.yaml).
Pour énumérer les logs que vous souhaitez recueillir, remplissez la section config de la même manière que vous rempliriez le fichier conf.yaml d’un fichier de configuration de collecte de logs personnalisée (voir la section sur la [collecte de logs personnalisée] (https://docs.datadoghq.com/agent/logs/?tab=suivredesfichiers#collecte-de-logs-personnalisée) dans la documentation officielle).
Par exemple, pour recueillir les logs depuis /var/log/syslog et /var/log/auth.log, utilisez la configuration suivante :
Les formules Salt sont des states Salt pré-écrits. Les states suivants sont disponibles dans la formule Datadog :
State
Description
datadog
Installe, configure et lance le service de l’Agent Datadog.
datadog.install
Configure le référentiel adéquat et installe l’Agent Datadog.
datadog.config
Configure l’Agent Datadog et les intégrations à l’aide des données pillar (voir pillar.example).
datadog.service
Exécute le service de l’Agent Datadog, qui surveille les changements apportés aux fichiers de configuration de l’Agent et des checks.
datadog.uninstall
Arrête le service et désinstalle l’Agent Datadog.
REMARQUE : lorsque vous utilisez le state datadog.config pour configurer différentes instances de check sur plusieurs machines, l’option pillar_merge_lists doit être définie sur True dans la configuration master de Salt, ou dans la configuration minion de Salt dans le cas d’une exécution sans master.