La formule SaltStack pour Datadog sert à installer l’Agent Datadog ainsi que les intégrations reposant sur l’Agent (checks). Pour en savoir plus sur les formules SaltStack, consultez les instructions d’utilisation et d’installation des formules Sallt.
Configuration
Prérequis
La formule SaltStack pour Datadog prend uniquement en charge les installations sur les systèmes Debian et RedHat.
Installation
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.
Option 1
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 :
systemctl restart salt-master
# OU
service salt-master restart
Option 2
Vous pouvez également cloner la formule Datadog sur votre nœud salt-master :
mkdir -p /srv/formulas && cd /srv/formulas
git clone https://github.com/DataDog/datadog-formula.git
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) :
file_roots:
base:
- /srv/salt/
- /srv/formulas/datadog-formula/
Déploiement
Pour déployer l’Agent Datadog sur vos hosts :
Ajoutez la formule Datadog à votre fichier principal (/srv/salt/top.sls
par défaut) :
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 :
datadog:
config:
api_key: <YOUR_DD_API_KEY>
install_settings:
agent_version: <AGENT7_VERSION>
Ajoutez le fichier datadog.sls
au ficher pillar principal (/srv/pillar/top.sls
par défaut) :
Configuration
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
.
Configuration
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).
datadog:
config:
api_key: <VOTRE_CLÉ_API_DD>
site: datadoghq.eu
Paramètres d’installation
Sous install_settings
, configurez l’option d’installation de l’Agent :
agent_version
: la version de l’Agent à installer (par défaut, la version la plus récente, c’est-à-dire l’Agent v7).
L’exemple ci-dessous permet d’installer l’Agent v6.14.1 :
datadog:
install_settings:
agent_version: 6.14.1
Checks
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
:
datadog:
config:
api_key: <VOTRE_CLÉ_API_DD>
install_settings:
agent_version: <VERSION_AGENT7>
checks:
directory:
config:
instances:
- directory: "/srv/pillar"
name: "pillars"
version: 1.4.0
L’exemple ci-dessous permet d’utiliser la v1.0.0 d’un exemple d’intégration tierce appelée « third-party-integration » :
datadog:
config:
api_key: <VOTRE_CLÉ_API_DD>
install_settings:
agent_version: <VERSION_AGENT7>
checks:
third-party-integration:
config:
instances:
- some_config: "some value"
version: 1.0.0
third_party: true
Logs
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 :
datadog:
[...]
checks:
system_logs:
config:
logs:
- type: file
path: "/var/log/syslog"
service: "system"
- type: file
path: "/var/log/auth.log"
service: "system"
States
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.