Créez un utilisateur Datadog avec un accès en lecture seule à la base de données Cacti.
sudo mysql -e "create user 'datadog'@'localhost' identified by '<MYSQL_PASSWORD>';"sudo mysql -e "grant select on cacti.* to 'datadog'@'localhost';"
Vérifiez l’utilisateur et ses droits :
mysql -u datadog --password=<MYSQL_PASSWORD> -e "show status"|\
grep Uptime &&echo -e "\033[0;32mMySQL user - OK\033[0m"||\
echo -e "\033[0;31mCannot connect to MySQL\033[0m"mysql -u datadog --password=<MYSQL_PASSWORD> -D cacti -e "select * from data_template_data limit 1"&&\
echo -e "\033[0;32mMySQL grant - OK\033[0m"||\
echo -e "\033[0;31mMissing SELECT grant\033[0m"
Accordez à l’utilisateur datadog-agent un accès aux fichiers RRD :
sudo gpasswd -a dd-agent www-data
sudo chmod -R g+rx /var/lib/cacti/rra/
sudo su - datadog-agent -c 'if [ -r /var/lib/cacti/rra/ ];
then echo -e "\033[0;31mdatadog-agent can read the RRD files\033[0m";
else echo -e "\033[0;31mdatadog-agent can not read the RRD files\033[0m";
fi'
Configurer l’Agent
Configurez l’Agent de façon à ce qu’il se connecte à MySQL et modifiez le fichier cacti.d/conf.yaml. Consultez le fichier d’exemple cacti.d/conf.yaml pour découvrir toutes les options de configuration disponibles :
init_config:instances:## @param mysql_host - string - required## url of your MySQL database#- mysql_host:"localhost"## @param mysql_port - integer - optional - default: 3306## port of your MySQL database## mysql_port: 3306## @param mysql_user - string - required## User to use to connect to MySQL in order to gather metrics#mysql_user:"datadog"## @param mysql_password - string - required## Password to use to connect to MySQL in order to gather metrics#mysql_password:"<MYSQL_PASSWORD>"## @param rrd_path - string - required## The Cacti checks requires access to the Cacti DB in MySQL and to the RRD## files that contain the metrics tracked in Cacti.## In almost all cases, you'll only need one instance pointing to the Cacti## database.## The `rrd_path` will probably be `/var/lib/cacti/rra` on Ubuntu## or `/var/www/html/cacti/rra` on any other machines.#rrd_path:"<CACTI_RRA_PATH>"
Modifiez la valeur du paramètre path en fonction de votre environnement. Consultez le fichier d’exemple cacti.d/conf.yaml pour découvrir toutes les options de configuration disponibles.
La bibliothèque Python utilisée par cette intégration provoque des fuites de mémoire dans certaines circonstances. Si vous rencontrez ce problème, vous pouvez installer le paquet python-rrdtool au lieu de rrdtool. Cet ancien paquet n’est plus mis à jour et n’est pas officiellement pris en charge par cette intégration, mais il a permis à d’autres utilisateurs de résoudre ce problème de mémoire.
Un ticket Github a été ouvert afin de suivre cette fuite de mémoire.