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
* Login : admin
* Password : admin
Une fois connecté, il vous est demandé de changer le mot de passe
===== Installation d'un plugin =====
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
* Pour l'installer : on doit cliquer sur la flèche bleue
* Pour l'activer : on doit cliquer sur la flèche verte
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 :
* MacTrack : [[http://docs.cacti.net/plugin:mactrack#mactrack]]
* Intropage : [[http://docs.cacti.net/userplugin:intropage#intropage]]
* Ipsubnet : [[http://docs.cacti.net/userplugin:ipsubnet#ipsubnet]]
* Weathermap : [[http://docs.cacti.net/userplugin:weathermap#weathermap]]
* Thold : [[http://docs.cacti.net/plugin:thold#thold]]
===== Template Linux =====
Un template complet de graph pour les serveurs linux est disponible ici : http://docs.cacti.net/usertemplate:host:linux:generic
{{ :supervision_et_metrologie:capture_graph_linux.png |}}
====Ajout du template====
* Unzip l'archive
* Via la console cacti, cliquez sur "Import Templates" et importez “cacti_host_template_*.xml”
*
====Mise en place du template sur un "device"====
* Créer un nouveau "device"
* Appliquez le "Host Template" ( 3eme ligne ) sur Linux-Generic
* les "Associated Graph Templates" suivants s'ajoutent automatiquement :
- ucd/net - CPU Usage (enhanced)
- ucd/net - Load Average (enhanced) 
- ucd/net - Memory Usage (enhanced)
- ucd/net - Processes
- ucd/net - TCP Counters
- ucd/net - TCP Current Established
- ucd/net - Uptime
- ucd/net - Users Logged On
- SNMP - Get Mounted Partitions
- SNMP - Interface Statistics
* Cliquez sur Save
* Désormais en haut cliquez sur "Create Graphs for this Host"
* Sélectionner tout et cliquez sur "Create"
===== Template Mysql =====
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
====Base de données====
* GRANT SUPER, PROCESS ON *.* TO 'userCacti'@'IPH.OST.CAC.TI' IDENTIFIED BY "PassWd";
* Ne pas oublier d'autoriser l'écoute distante de mariadb ( /etc/my.cnf : bind)
====Ajout du template====
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
===== Check un nombre de process ( imap, apache... ) =====
==== Configuration sur le serveur ====
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
==== Obtenir l'OID ====
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
==== Problème sur Centos7 ====
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
==== Configuration Cacti ====
* Data Sources > ADD
* Selected Data Template > SNMP OID GENERIC
* OID = .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
* Valeur max, cela dépend, pour des workers Apache 250 est généralement suffisant
* Type de graph : Gauge