Cacti est une solution complète de création de graphiques de systèmes et réseaux.
Sur une VM dédiée à Cacti:
apt-get install cacti > passwdMysql > passwd Cacti > confirmation passwd cacti
Avec un navigateur web : http://ip.du.serveur/cacti/install/
Next > New install > Si tout est vert : Finish
Une fois connecté, il vous est demandé de changer le mot de passe
Il existe une multitude de plugin disponible ici : http://docs.cacti.net/plugins
Il suffit de télécharger le plugin, le décompresser et le placer dans le répertoire “plugins” Chaque plugin doit correspondre à un dossier.
Ils apparaissent ensuite dans l'interface graphique de Cacti dans Configuration > Plugin Management
Les 2 flèches passent au rouge quand le plugin est installé et activé.
Voici une liste de plugin très utile pour un Admin Réseau :
Un template complet de graph pour les serveurs linux est disponible ici : http://docs.cacti.net/usertemplate:host:linux:generic
Il est primordial de grapher ces bases de données ( détection de problèmes, anticipation de dimensionnement de serveur, … )
+ d'infos : https://www.percona.com/doc/percona-monitoring-plugins/1.1/cacti/mysql-templates.html
GRANT SUPER, PROCESS ON *.* TO 'userCacti'@'IPH.OST.CAC.TI' IDENTIFIED BY "PassWd";
wget https://www.percona.com/downloads/percona-monitoring-plugins/1.1.5/percona-cacti-templates-1.1.5-1.noarch.rpm rpm -ivh percona-cacti-templates-1.1.5-1.noarch.rpm cd /usr/share/cacti/resource/percona/templates/ php /usr/share/cacti/cli/import_template.php --filename=cacti_host_template_percona_nginx_server_ht_0.8.6i-sver1.1.5.xml --with-user-rras='1:2:3:4' cd /usr/share/cacti/scripts/ php ss_get_mysql_stats.php --host IP.HO.ST.DB --user userCacti --items ns,nt,nu,nv,nw --pass PassWd
vim /usr/local/bin/check_nb_process_apache.sh
#!/bin/sh # Get nombre de process apache pour cacti NBPROCESSAPACHE=`/usr/bin/pgrep httpd | wc -l` exit $NBPROCESSAPACHE
vim /etc/snmp/snmpd.conf
... extend check_nb_process_apache /bin/bash /usr/local/bin/check_nb_process_apache.sh
Ce qui nous intéresse : NET-SNMP-EXTEND-MIB::nsExtendResult.“check_nb_process_apache” = INTEGER: 25
snmptranslate -On NET-SNMP-EXTEND-MIB::nsExtendResult.\"check_nb_process_apache\" .1.3.6.1.4.1.8072.1.3.2.3.1.4.23.99.104.101.99.107.95.110.98.95.112.114.111.99.101.115.115.95.97.112.97.99.104.101
Sur Centos 7 meme avec selinux disabled
[root@proxy1 ~]# snmpwalk -v 2c -c public localhost nsExtendOutput1 NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."check_nb_process_apache" = STRING: /bin/bash: /usr/local/bin/check_nb_process_apache.sh: Permission denied NET-SNMP-EXTEND-MIB::nsExtendOutputFull."check_nb_process_apache" = STRING: /bin/bash: /usr/local/bin/check_nb_process_apache.sh: Permission denied NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."check_nb_process_apache" = INTEGER: 1 NET-SNMP-EXTEND-MIB::nsExtendResult."check_nb_process_apache" = INTEGER: 126
chmod a+x /usr/local/bin/check_nb_process_apache.sh tail -f /var/log/audit/audit.log | grep snmp type=AVC msg=audit(1455529906.808:34701): avc: denied { read } for pid=6512 comm="bash" name="check_nb_process_apache.sh" dev="dm-3" ino=8388742 scontext=system_u:system_r:snmpd_t:s0 tcontext=unconfined_u:object_r:default_t:s0 tclass=file
Solution :
chcon -t snmpd_exec_t /usr/local/bin/check_nb_process_apache.sh
[root@proxy1 ~]# snmpwalk -v 2c -c public localhost nsExtendOutput1 NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."check_nb_process_apache" = STRING: NET-SNMP-EXTEND-MIB::nsExtendOutputFull."check_nb_process_apache" = STRING: NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."check_nb_process_apache" = INTEGER: 1 NET-SNMP-EXTEND-MIB::nsExtendResult."check_nb_process_apache" = INTEGER: 33