IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Cacti

De SergiTurWiki
Share/Save/Bookmark
Dreceres ràpides: navegació, cerca
http://cactiusers.org/
Alert.png Aquesta wiki forma part dels materials d'un curs
Curs: SeguretatXarxesInformàtiques, LinuxAdministracioAvancada, DissenyXarxesLinux
Fitxers: EinesMonitoritzacio.pdf (EinesMonitoritzacio.odp)

EinesMonitoritzacio2.pdf (EinesMonitoritzacio2.odp)

Repositori SVN: https://anonymous@svn.projectes.lafarga.cat/svn/iceupc/SeguretatXarxesInformàtiques
Usuari: anonymous
Paraula de pas: sense paraula de pas
Autors: Sergi Tur Badenas

Contingut

Requeriments

Cacti depèn de:

Preinstal·lació

NOTA: Potser preferiu directament instal·lar un servidor LAMP amb tasksel: $ sudo tasksel install lamp-server

Cacti necessita d'un servidor de base de dades. Podem instal·lar mysql o postgresql:

$ sudo apt-get install mysql-server-5.0

En paquets força nous (p.ex. en Ubuntu Gutsy) a l'instal·lar ens pregunta per la contrasenya de l'usuari root:

MysqlInstalation.png

Com funciona?

CactiPrinciplesOperation.png

Cacti cumpleix tres tasques:

  • Data Retrieval: Cal definir com s'obtenen les dades a monitoritzar
  • Cacti utilitza el que s'anomena el Poller. El poller és executat per l'scheduler del sistema operatiu (típicament cron). Bàsicament s'utilitza el protocol SNMP per tal d'obtenir les dades tot i que també es poden definir scripts a mida.
  • Data Storage: Cal definir com s'emmagatzemen les dades a monitoritzar.
  • Cacti utilitza RRDTool per emmagatzemar les dades.
  • Data Presentation: Cal definir com es presenten les dades a monitoritzar.
  • També s'utilitza RRDTool.

Glossari de termes

La majoria de terminologia de Cacti està relacionada amb la terminologia de l'eina RRDTool. Vegeu també Com funciona RRDTool?

CActiRRAs.png
  • Data Queries: A diferència dels data sources, normalment les data queries no s'utilitzen per obtenir fonts de dades de forma directa si nó de forma indirecta. Un exemple de la data query més comuna és la que obté la llista de interfícies de xarxa d'un dispositiu (els noms). Amb aquestes dades no moonitoritzem res directament però si que poden ser útils per després monitoritzar el trànsit de cada una de les interfícies de xarxa. Normalment tenen associades Plantilles de gràfiques (Graph Templates). Vegeu http://www.cacti.net/downloads/docs/html/data_queries.html
  • Templates. Consulteu http://www.cacti.net/downloads/docs/html/templates.html.
  • Data Templates
  • Graph Templates:
  • Host Templates:
  • Import Templates:
  • Export Templates:

Conceptes i interpretació de gràfiques

  • Percentil: Un valor força utilitzat per mesurar amples de banda i per a ISPs és el percentil 95th. El valor del percentil 95th ens indica que el 95% del temps l'ús de l'ampla de banda està per sota del percentil, o dit d'una altra manera que només el 5% del temps el çus de l'ampla de banda està per sobre del percentil.

Exemples de gràfiques

Línia d'alta capacitat cap a Internet:

TransitInternet.png


Cal tenir en compte:

  • Els valors estan donats en bps (bits per segon)
  • Es mostren les gràfiques per a 4 periodes diferents:
  • Diari: es basa en
  • Setmanal
  • Mensual
  • Anual
  • Les gràfiques són "digitals" i no analògiques. Si s'amplien el suficient veureu que es fan a partir de valors concrets mesurats cada x temps i a partir dels quals es crea la sensació d'una gràfica continua.
  • La "resol·lució" de les gràfiques és sempre la mateixa. Es tracta de bases de dades circulars Round Robin que sempre ocupen el mateix espai, és a dir sempre es guarden el mateix nombre màxim de dades per gràfica
  • Observeu com s'afegit un valor estadístic per a cada gràfica. El percentil 95th. Ens dona el valor llindar (a l'exemple en mbps) que ens indica que l 95% de les mesures obtingudes d'ús de l'ampla de banda han estat per sota d'aquell valor. Podem dir per tant amb molt de marge que si el percentil és 80mbps la gran majoria del temps s'està consumint menys d'aquest ampla de banda.

Instal·lació

NOTA: La versió instal·lada a 11.10 és la 0.8.7

Per instal·lar cacti heu d'executar:

$ sudo apt-get install cacti

Cacti.png

Durant la instal·lació ens faran una sèrie de preguntes per configurar Cacti:

  • Primer la versió de base de dades:

Cacti1.png

  • Després ens farà les preguntes necessàries per configurar la base de dades:

Cacti2.png

Ens pregunta la contrasenya de l'usuari root de Mysql (normalment és sense contrasenya)... Ho podeu comprovar abans intentant entrar a mysql com a root:

$ sudo mysql
NOTA: La paraula de pas de cacti per accedir a la base de dades es guardarà a un fitxer de configuració. No utilitzeu cap paraula de pas important ja que serà visible. Podeu utilitzar mkpasswd per generar una paraula de pas aleatòria i segura ja que no calda recordar-la

Si no demana contrasenya i accedim, aleshores la contrasenya és buida.

Cacti3.png

Confirmem...

Si cometeu algun error podreu tornar a intentar la configuració amb:

Cacti4.png

En qualsevol moment podeu abortar i més tard tornar a configurar Cacti executant:

$ sudo dpkg-reconfigure cacti

Cacti5.png

Fitxers instal·lats

Durant la instal·lació s'instal·len dependències com snmp o llibreries d'accés a base de dades:

$ sudo apt-get install cacti
...
S'instal·laran els següents paquets extres:
  libphp-adodb php5-snmp snmp
...

Els fitxers de configuració són:

$ dpkg -L cacti | grep etc
/etc
/etc/cacti
/etc/logrotate.d
/etc/logrotate.d/cacti
/etc/cron.d
/etc/cron.d/cacti

Com podem veure Cacti utilitza cron:

$ cat /etc/cron.d/cacti
MAILTO=root
*/5 * * * * www-data php /usr/share/cacti/site/poller.php >/dev/null 2>/var/log/cacti/poller-error.log

Cada 5 minuts s'executa poller.php

També podeu consultar la documentació que trobareu a /usr/share/doc/cacti:

$ dpkg -L cacti | grep doc
...
/usr/share/doc/cacti
...

Per accedir a Cacti, obrim Firefox i accedim a la URL:

http://localhost/cacti

Al següent apartat s'expliquen les passes que es segueixen durant la primera execució.

Un cop hàgiu instal·lat/configurat Cacti l'usuari per accedir per primer cop és:

  • Usuari: admin
  • Paraula de pas: admin
IMPORTANT: Cacti us forçarà a escollir una paraula de pas nova per a l'administrador.

Accés a Cacti

Per accedir a Cacti, obrim Firefox i accedim a la URL:

http://localhost/cacti

Al següent apartat s'expliquen les passes que es segueixen durant la primera execució.

Un cop hàgiu instal·lat/configurat Cacti l'usuari per accedir per primer cop és:

  • Usuari: admin
  • Paraula de pas: admin
IMPORTANT: Cacti us forçarà a escollir una paraula de pas nova per a l'administrador.

Configuració durant la primera execució

A l'iniciar per primer cop Cacti s'iniciarà un assistent per configurar-lo:

Cacti7.png

Cacti suporta fer instal·lacions noves o actualitzacions:

Cacti8.png

La següent pàgina comprova que tenim instal·lades totes les aplicacions necessàries (RDDTool i SNMP...)

Cacti9.png

Instal·lació manual

De la web:

http://www.cacti.net/downloads/

El primer que cal fer és dedicir una carpeta on fer la instal·lació. En el nostre cas:

$ cd /usr/share

Ara baixeu la última versió, actualment (--acacha 17:07, 23 maig 2012 (UTC)):

$ sudo wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz

i descomprimiu:

$ sudo tar xzvf cacti-0.8.8a.tar.gz

I establiu els permisos:

$ cd cacti-0.8.8a
$ sudo chown root:root -R .
$ sudo chmod 770 rra
$ sudo chown www-data rra
$ sudo chown www-data:www-data log

Abans de res cal crear la base de dades mysql:

$ mysqladmin --user=root -p create cacti

La paraula de pas que demana és la de l'usuari root de Mysql. Aquesta paraula de pas l'ha heu escollit durant la instal·lació de mysql. Sinó la sabeu executeu:

$ sudo dpkg-reconfigure mysql-server

Ara importeu la base de dades inicial:

$ sudo mysql -p cacti < cacti.sql

Ara entrem a la base de dades de gestió de MySQL (base de dades amb nom mysql):

$ mysql --user=root -p mysql
Enter password: 
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 39
Server version: 5.5.22-0ubuntu1 (Ubuntu)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

I creeu un usuari amb permisos per a la base de dades creada:

mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'somepassword';
mysql> flush privileges;

On a somepassword heu de posar la vostra paraula de pas. La podeu crear amb mkpasswd.

Ara cal editar el fitxer de configuració de Cacti:

$ sudo joe /usr/share/cacti-0.8.8a/include/config.php

I poseu les dades de la connexió a la base de dades MySQL:

$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "somepassword";

Ara configurem Apache2. Creeu un fitxer:

$  sudo joe /etc/apache2/conf.d/cacti.conf
Alias /cacti /usr/share/cacti-0.8.8a

<Directory /usr/share/cacti-0.8.8a>
	Options +FollowSymLinks
	AllowOverride None
	order allow,deny
	allow from all

	AddType application/x-httpd-php .php

	<IfModule mod_php5.c>
		php_flag magic_quotes_gpc Off
		php_flag short_open_tag On
		php_flag register_globals Off
		php_flag register_argc_argv On
		php_flag track_vars On
		# this setting is necessary for some locales
		php_value mbstring.func_overload 0
		php_value include_path .
	</IfModule>

	DirectoryIndex index.php
</Directory>

Apliqueu els canvis a Apache:

$ sudo /etc/init.d/apache2 restart

Abans de res cal configurar també cron:

$ sudo joe /etc/cron.d/cacti
MAILTO=root
*/5 * * * * www-data php /usr/share/cacti/poller.php >/dev/null 2>/var/log/cacti/poller-error.log

Observeu que cal tenir les carpetes:

/usr/share/cacti
/var/log/cacti/

Feu el següent:

$ sudo ln -s /usr/share/cacti-0.8.8a /usr/share/cacti
$ sudo mkdir /var/log/cacti
$ sudo chown www-data:www-data /var/log/cacti

Finalment configureu logrotate:

$ sudo joe /etc/logrotate.d/cacti
cat /var/log/cacti/*.log {
	weekly
	missingok
	rotate 52
	compress
	notifempty
	create 640 www-data www-data
	sharedscripts
}


Ara aneu a la web:

http://lavostraip/cacti

i seguiu l'instal·lador. Quan arribeu a les dependències, cal que instal·leu:

$ sudo apt-get install rrdtool snmp

Ja està. Ara per entrar l'usuari i paraules de pas per defecte són:

admin
admin
IMPORTANT: Us demanarà que canvieu la paraula de pas! No és pas un error el missatge que surt!

Configuració

Cacti Reconfigure. dpkg-reconfigure

$ sudo dpkg-reconfigure cacti

Al reconfigurar podem decidir si volem tornar a crear la base de dades:

CactiReconfigure.png

La connexió a base de dades pot ser per sòcol Unix (màquina local) o TCP/IP (base de dades remota)

CactiReconfigure1.png

L'usuari de base de dades:

CactiReconfigure2.png

Escollim un nom per l'usuari de bases de dades:

CactiReconfigure3.png

I un nom de la base de dades:

CactiReconfigure4.png

Podeu consultar la base de dades amb eines amb PhpMyAdmin.

Manual

Secció Console

Create

Create SSC.png

New Graphs
  • Per crear un nou host tenim que donar-li a l'opcio: Create New Host

Create SSC1.png

  • un cop entrem tenim que rellenar les opcions:

Create SSC2.png

  • un cop guardem els canvis ens apareix la seguent informacio:

Create SSC3.png

  • per crear una nova grafica dintre del host que acabem de crear tenim que donar-li a l'opcio: Create Graphs for this Host

Create SSC4.png

  • un cop estem a la finestra de la imatge anterior, activem els checkbocks que ens interese que faci la grafica i donar-li a create:

Create SSC5.png

  • si li donem a data source list ens apareix un resum de les grafiques que tenim i ens mostra si estan activades o no:

Create SSC6.png

Management

Mostra totes les gràfiques que tenim creades.

SeguretatJaumeS 113.png

Tenim un submenu en la part dreta (baix), i podem realitzar diferents accions (esborrar les gràfiques seleccionades, editar-les, ...).

Graph Management

Podem gestionar els gràfics que tenim creats.

Podem triar un gràfic de la llista de gràfics que tenim creats, i surt un menú a la part esquerra de la pantalla amb diferents opcions:

SeguretatJaumeS 117.png
  • CDEFs: Permet aplicar funcions matemàtiques per representar gràficament les dades i així poder modificar la intensitat. També podem afegir noves funcions, esborrar les que tenim, editar-les, ...
SeguretatJaumeS 114.png


  • Colors: Modifiquem els colors que surten a les gràfiques, afegim, editem, etc.
SeguretatJaumeS 115.png


  • GPRINT Presets:Permet imprimir els valors de les fonts de dades en un gràfic. Es solen utilitzar per representar els valors de la llegenda en el gràfic. El formt de sortida d'aquests números es controlen mitjançant un format de printf com cadena.
SeguretatJaumeS 116.png
Graph Trees

Organitza, en una estructura jeràrquica, tots els gràfics.

Cada arbre pot contenir altres gràfics, i aquests arbres es poden combinar en un sol arbre.

Data Sources
RRAs
CactiRRDToolRRAForm.png
Devices

Collection Methods

Data Queries
Data Input Methods

Templates

  • Una plantilla o template, en cacti, és un conjunt de gràfiques que monitoritzen un OID en concret. Les plantilles es poden crear depenent del que es vulgui monitoritzar, veure snmpwalk.
Graph Templates
  • En aquest apartat podem trobar totes les plantilles que hi ha creades al sistema. Es poden importar de manera senzilla, per exemple, si es vol monitoritzar la temperatura d'un determinat ordinador o a quina velocitat van els ventiladors dels diferents ordinador. Podem seguir el següent article.


Graph templates jbaucells 1.png


Host Templates
  • També hi han plantilles per als diferents dispositius de xarxa, ja que a l'hora de crear un dispositiu ens demana associar-lo a algun tipus de host.


Host templates 1 baucells.png


Data Templates
  • En aquesta pàgina podem veure i modificar de manera molt senzilla les diferents característiques que volem monitoritzar, es a dir, la CPU, la memòria RAM, la targeta de xarxa, etc.
Data templates 1 jbaucells.png

Import/Export

Import Templates
Export Templates

Configuration

Settings
Authentication

Existeixen 4 opcions per a l'autenticació d'usuaris:

  • None: - No authentication will be used, all users will have full access.
  • Builtin Authentication: Cacti handles user authentication, which allows you to create users and give them rights to different areas within Cacti.
  • Web Basic Authentication: Authentication is handled by the web server. Users can be added or created automatically on first login if the Template User is defined, otherwise the defined guest permissions will be used.
  • LDAP Authentication: Allows for authentication against a LDAP server. Users will be created automatically on first login if the Template User is defined, otherwise the defined guest permissions will be used. If PHP's LDAP module is not enabled, LDAP Authentication will not appear as a selectable option.

Utilities

System Utilities

En aquest apartat hi ha varis enllaços el primer es el de Technical Support es un apartat on mostra informació del cacti.

Cacti technical suport risa.png

També podem trovar Log Administration on podem veure els logs tan del cacti com del usuari. Es pot veure les connecions del usuari i tot el que fa el cacti.

View Cacti Log File

Log cacti risa.png

View User Log


Log cacti user risa.png


Poller Cache Administration

User Management

Authentication Realms:

  • Local: Els usuaris es gestionen a la base de dades interna de Cacti
  • Ldap: Els usuaris es troben en una base de dades Ldap que pot estar al mateix servidor o a un servidor remot
  • Web based: ???
Logout User

Secció Graphs

Documentació

La trobareu a:

/usr/share/doc/cacti/

Teniu la documentació (Manual de Cacti) accessible via web:

$ firefox /usr/share/doc/cacti/html/index.html

Web

FAQ

Exemples

Ubiquiti

Consulteu: AirOS#Cacti

Monitoritzar un OID SNMP

Anem a veure com podem fer una gràfica senzilla d'un valor concret, identificat per un OID, d'un dispositiu SNMP. Per això suposem que teniu la plantilla de gràfica (Graph Template):

"SNMP - Generic OID Template" 

La trobareu a l'apartat Graph Templates dins l'apartat Templates. Inclosa a Cacti des de la versió 0.8.5.

NOTA: Si no teniu la plantilla a "Graph Templates", us la heu de baixar de la web de Cacti en format XML i importar-la utilitzant l'entrada de menú Import Templates

Suposem que volem monitoritzar el valor memTotal:

FROGFOOT-RESOURCES-MIB::memTotal.0 = Gauge32: 30264

D'una nanostation (vegeu Airos SNMP). El OID és:

.1.3.6.1.4.1.10002.1.1.1.1.1.0

Feu clic a New Graphs dins l'apartat Create. Seleccioneu el host que conté el OID que voleu monitoritzar. A la caixa Graph Templates feu clic al desplegable:

Create: 
 TODO: Captures de pantalla

Per tal d'escollir:

"SNMP - Generic OID Template" 

Feu clic a create. Us apareixerà un formulari:

 TODO: Captures de pantalla

On:

  • (Graph) Title: Poseu un nom a la gràfica. Per exemple |host_description| - Memòria Total
  • (Graph) Vertical Label: El text que apareixerà al axis y (axis vertical). Per exemple poseu Bytes
  • (Graph Items) Legend Color: Escolliu un color per les dades a la gràfica.
  • (Graph Items) Opacity/Alpha Channel:
  • (Graph Items) Legend Text: Text a la llegenda de la dada monitoritzada
  • (Data Source) Name: També podeu posar |host_description| - Memòria Total
  • (Data Source) Maximum Value [snmp_oid]: El valor màxim acceptat del OID. Si és un percentatge cal posar 100.
  • (Data Source) Data Source Type [snmp_oid]: Com guardarà les dades RRDTool. El nostre exemple és una GAUGE
  • (Custom Data) OID: El OID. Al nostre exemple: .1.3.6.1.4.1.10002.1.1.1.1.1.0

Vegeu també:

Monitoritzar PCs amb SNMP

A la màquina que volem monitoritzar cal instal·lar snmpd:

$ sudo apt-get install snmpd

Per defecte a ubuntu 9.10 el servidor de SNMP només accepta peticions des de localhost. Per canviar-ho

$ sudo joe /etc/default/snmpd 

Canvieu la línia:

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'

per:

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid' 

I torneu a iniciar SNMPD:

$ sudo /etc/init.d/snmpd restart

Ara cal permetre l'accés. Canvieu la línia:

com2sec paranoid  default         public

Per

com2sec readonly  default         public

Al fitxer /etc/snmp/snmpd.conf i torneu a iniciar snmpd

$ sudo /etc/init.d/snmpd restart

Comproveu l'accés amb:

$ snmpwalk -Os -c public -v 2c IP_DE_LA_MAQUINA_MONITORITZAR system

Ara a Cacti creeu un nou dispositiu. La configuració ha de ser quelcom similar a:

CactiExample2.png

A Associated Data Queries podeu afegir altres tipus de querys:

  • Get Mounted Partitions
  • Get Processor Information

Ara aneu a "Create Graphs for this Host" i afegiu totes les gràfiques.

Recursos:

Monitoritzar impressores

http://forums.cacti.net/about12970.html
http://forums.cacti.net/download/file.php?id=5316

A la web de Cacti podeu trobar múltiples plantilles. Per exemple podeu instal·lar plantilles per a impressores baixant-vos el fitxer zip:

$ wget http://forums.cacti.net/download/file.php?id=5316
$ unzip "SNMP Printer.zip"
$ cd "SNMP Printer"
$ ls 
cacti_data_query_snmp_get_printer_supply.xml         cacti_data_template_host_mib_get_printer_total_pages.xml     
cacti_host_template_snmp_printer.xml
cacti_data_template_host_mib_get_printer_supply.xml  cacti_graph_template_host_mib_available_printer_supply.xml  
printer_supply.xml

Tots els fitxers, excepte el printer_suplly.xml són plantilles que podeu importar des de l'opció de menú:

"Import Templates"

El fitxer

printer_supply.xml

Cal posar-lo a:

<cactidir>/resource/snmp-queries/

Per exemple, a una instal·lació típica des de repositoris podeu fer:

$ sudo mv printer_supply.xml /usr/share/cacti/resource/snmp_queries

Ara si entreu a Cacti, podeu crear un nou dispositiu (Device) i tindreu un nou "host template" anomenat:

SNMP Printer

TODO:

Hi, I made two templates, one for prtMarkerLifeCount and one for prtMarkerPowerOnCount. The first get the total printed pages and the second get the counter of total printed pages from last power on, in fact, I reset this counter all nights via a cron job whit this line:

/usr/bin/snmpset <ip> <write comunity> .1.3.6.1.2.1.43.5.1.1.3.1 i 5

so, I start the daily counter all nights in the printers that never power off

sugestion are welcome

Regards, Mauricio mauricio at duran dot org dot ar


Attachments: printersmib.zip [7.28 KiB]

Monitoritzar RouterBoard

  • El primer que he fet es crear un dispositiu:


Monitoritzant mikrotik 1 baucells.png


  • Edito els paràmetres que tindrà el dispositiu:


Monitoritzant mikrotik 2 baucells.png


  • A continuació afegeixo el dispositiu a l'arbre de gràfiques disponibles:


Monitoritzant mikrotik 3 baucells.png


  • Li diem que a l'arrel del root:


Monitoritzant mikrotik 4 baucells.png


  • Tot seguit crearem la gràfica:


Monitoritzant mikrotik 5 baucells.png


  • Seleccionem la interfície a monitoritzar:


Monitoritzant mikrotik 6 baucells.png


  • A continuació podem veure la primera gràfica:


Monitoritzant mikrotik 7 baucells.png


  • Desprès d'estar monitoritzant el dispositiu i donant una mica de tràfic, la gràfica és la següent:


Monitoritzant mikrotik 8 baucells.png


--Jordibaucells 18:29, 26 abr 2012 (UTC)

Input Methods

'Recursos:

Scripts a mida

Recursos:

Exemple. Monitoritzar el CCQ de un dispositiu Ubiquiti amb mca-status

L'script l'haurà d'executar l'usuari www-data (usuari del servidor web Apache a Ubuntu/Debian). Prepareu l'entorn:

$ cd /var/www/
$ sudo mkdir .ssh
$ sudo chown www-data:www-data -R .ssh/

Ara entreu com a l'usuari www-data:

$ sudo su www-data

Passeu-vos a bash:

$ bash

Ara creeu una clau SSH:

www-data@noc:~$ ssh-keygen -t dsa

I instal·leu-la al dispositiu remot Ubiquiti:

www-data@noc:~$ ssh-copy-id -i /var/www/.ssh/id_dsa.pub root@10.36.253.98
NOTA: Cal tenir activat SSH al dispositiu remot

Comproveu que entre sense posar la paraula de pas:

www-data@noc:~$  ssh root@10.36.253.98

L'script el posarem a:

/usr/share/cacti/scripts

Amb el següent contingut:

$ cat getairosccq.sh
#!/usr/bin/bash
# Sergi Tur Badenas. 5 de Juliol de 2012

# Get CCQ from remote Ubiquiti device
# Requirements:
#  - SSH has to be enabled at remote Ubiquit Device
#  - Script user mca-status to retrieve CCQ
#  - To be able to execute this script in background a direct 
#    connection (without password) has to be possible. Use ssh-copyid. See:
#     http://acacha.org/mediawiki/index.php/Gesti%C3%B3_Remota._SSH,_RSYNC,_X-WINDOWS#ssh-copy-id
#     http://forums.cacti.net/about26478.html

#$1 First Positional parameter : IP Address 

CCQ=$(/usr/bin/ssh root@$1 'mca-status' | /bin/grep ccq | /usr/bin/cut -d= -f 2)

printf "%s" $CCQ

Amb la resta d'scripts (Perl) que proporciona per defecte Cacti.

Comproveu-lo amb:

$ sudo su www-data -c "bash getairosccq.sh 10.36.253.98"

Hosts

Vegeu HOST-RESOURCES-MIB

Sistemes Linux amb Ubuntu/Debian

Cal instal·lar el servidor snmpd. Consulteu:

I a més configurar-lo:

El més important és activar que el servidor de SNMP escolti totes les interfícies de xarxa i no només localhost:

I que vigileu que no tingueu un mode d'accés paranoic:

CPU Load

Per fer una gràfica de la càrrega de les CPU (load) cal utilitzar el MIB HOST-RESOURCES-MIB.

$ snmpwalk -c public -v 2c 192.168.0.102 .1.3.6.1.2.1.25
HOST-RESOURCES-MIB

Concretament ens interesa el OID:

.1.3.6.1.2.1.25.3.3.1.2.1 | hrProcessorLoad

Sembla ser que per defecte la càrrega de la CPU no és una dada que es mostri en servidors linux amb snmpd instal·lat de sèrie i sense cap configuració a mida.

Un exemple de host amb 4 CPUs:

ExempleCactiCPULoad.png

Processos PC

  • Primer s'ha de crear un dispositiu amb les següents característiques:


Device 1 baucells cacti.png


  • Seguidament creem la gràfica de la següent manera:


Device 2 baucells cacti.png


  • Afegim la gràfica a l'arrel que vulguem:


Device 3 baucells cacti.png


  • Ara ja podem veure la gràfica inicial:


Device 4 baucells cacti.png


  • Desprès d'un minuts i obrir alguns processos al host remot podem veure que la gràfica s'ha modificat:


Device 5 baucells cacti.png


--Jordibaucells 19:12, 19 abr 2012 (UTC)

lmsensors

Vegeu també lmsensors i SNMP i lmsensors.

LACP

Hi ha unes plantilles a:

http://geekomatic.ch/2012/07/31/1343737800000.html
IMPORTANT: Les plantilles es baixen incorrectament i no estaran ben formatades. Cal editar-les per esborrar part del codi html:

Esborreu al inici:

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></head><body>

Es a dir la plantilla ha de començar amb:

<cacti>

Al final també cal esborrar tot el que hi hagui després de:

</cacti>

Templates

Ubiquiti Airos

Mikrotik RouterOS

Hi ha múltiples fonts...

Al cacti del GLIR de guifi tenen aquestes plantilles.

Vegeu també:

Squid

Cal tenir activat SNMP?

Fitxers de log

Els fitxers d'error de Cacti tal com demana l'estàndard FHS té els fitxers de log a:

$ ls -la /var/log/cacti
total 368
drwxr-xr-x  2 www-data www-data   4096 2010-04-18 06:41 .
drwxr-xr-x 18 root     root       4096 2010-04-25 05:41 ..
-rw-r-----  1 www-data www-data 296117 2010-04-25 06:20 cacti.log
-rw-r-----  1 www-data www-data  13519 2010-04-18 06:40 cacti.log.1.gz
-rw-r-----  1 www-data www-data  13640 2010-04-11 06:25 cacti.log.2.gz
-rw-r-----  1 www-data www-data  13231 2010-04-04 06:35 cacti.log.3.gz
-rw-r-----  1 www-data www-data   3894 2010-03-28 06:45 cacti.log.4.gz
-rw-r-----  1 www-data www-data    107 2010-04-25 06:20 poller-error.log
-rw-r-----  1 www-data www-data    108 2010-04-18 06:40 poller-error.log.1.gz
-rw-r--r--  1 www-data www-data    108 2010-04-17 06:45 poller-error.log.2.gz
-rw-r-----  1 www-data www-data      0 2010-03-26 07:34 rrd.log

Podeu consultar el log amb:

$ sudo tail -f /var/log/cacti/cacti.log

Podeu consultar els errors del poller a:

$ sudo tail -f /var/log/cacti/poller-error.log

CLI

Cacti permet automatitzar tasques utilitzant la línia de comandes. A la carpeta cli trobareu els scripts PHP:

add_device.php
add_data_query.php
add_graph_template.php
add_graphs.php
add_perms.php
add_tree.php
copy_user.php
poller_graphs_reapply_names.php
poller_output_empty.php
poller_reindex_hosts.php
rebuild_poller_cache.php

Plugins

EL que s'anomena Plugin Architecture (aka PIA) és un conjunt de canvis realitzats al codi de Cacti que permet incorporar Plugins amb funcionalitats extres a Cacti. Els canvis han estar proporcionats per Jimmy Conner (cigamit) un dels desenvolupadors principals de Cacti. Està dissenyat per ser simple i robust tot i permetre la suficient llibertat per fer gairebé qualsevol cosa amb Cacti.

Els plugins es solen instal·lar a la carpeta:

/usr/share/cacti/plugins

Instal·lació de PIA

NOTA: La millor opció per instal·lar el PIA pot ser partir d'una instal·lació manual de Cacti que incorpori PIA de sèrie. De fet aprofiteu que feu la instal·lació manual i instal·leu el següent cacti:
http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz

En versions anteriors calia aconseguir de la web:

http://www.cacti.net/downloads/

Fitxers com:

http://www.cacti.net/downloads/cacti-0.8.7i-PIA-3.1.zip
IMPORTANT: Fixeu-vos dons que no és que el PIA ja no existeixi per a versions noves de Cacti si no que ja està incorporat de sèrie.

Com a referència, es pot obtenir només la part del codi de PIA a:

http://www.cacti.net/downloads/pia/

Per exemple amb:

$ wget http://www.cacti.net/downloads/pia/cacti-plugin-0.8.7g-PA-v2.9.tar.gz

Per a la versió per a Cacti 0.8.7g

Manual

Recursos:


Ldap

$ wget http://tools.ltb-project.org/attachments/download/151/ltb-project-cacti-plugins-0.3.tar.gz
$ tar xvzf ltb-project-cacti-plugins-0.3.tar.gz
$ cd ltb-project-cacti-plugins-0.3
$ perl openldap_operations.pl -h localhost -D 'cn=admin' -W 'Password'
bind-initiated:3929 bind-completed:3929 unbind-initiated:2511 unbind-completed:2511 search-initiated:4700 search-com
...

Recursos:

Exemples de plugins

SuperLinks (abans conegut com Links)

Cal anar a la carpeta plugins de Cacti, típicament:

$ cd /usr/share/cacti/plugins

i baixem el fitxer

$ sudo wget http://wotsit.thingy.com/haj/cacti/superlinks-0.8.zip

La última versió la podeu torbar a la web del plugin:

http://wotsit.thingy.com/haj/cacti/superlinks-plugin.html

I descomprimiu:

$ sudo apt-get install unzip
$ sudo unzip superlinks-0.8.zip

Ara tindreu la carpeta:

/usr/share/cacti/plugins/superlinks

Els plugins apareixen a les noves versions de Cacti a:

http://IP/cacti/plugins.php

Aquí podreu activar el plugin.

NOTA: Abans els plugins s'activaven editant el fitxer /usr/share/cacti/include/global.php

Un cop activat tindreu un nou apartat:

http://noc.tortosa.guifi.net/cacti/plugins/superlinks/superlinks-mgmt.php

Si us dona el missatge:

You need to make sure that the tab_images/ directory is writable by the user that your webserver runs as. SuperLinks cannot create the tab graphics without this change.

Feu:

$ sudo chown www-data:root -R /usr/share/cacti/plugins/superlinks/tab_images


Tools

Weathermap

Consulteu Weathermap

Pollers

Spine

Es tracta d'un poller escrit en C més òptim que serveix per a sistemes que haguin de ser escalables (amb un alt nombre de sistemes monitortizats).

TODO:

Spine is the fast replacement for cmd.php. It is written in C to ensure ultimate performance for device polling. Expect a decrease in polling time of an order of magnitude. Polling times far less than 60 seconds for about 20,000 data sources are achievable e.g. on a dual XEON system supplied with 4 GB RAM and standard local disks.

When using Spine, don't change crontab settings! Always use poller.php with crontab! To activate Spine instead of cmd.php, please visit Settings and select the Poller tab. Select Spine and save. Now, poller.php will use Spine on all subsequent polling cycles.

While Spine is really fast, choosing the correct setup will ensure, that all processor resources are used. Required settings for Maximum Concurrent Poller Processes are 1-2 times the number of CPU cores available for Spine.

Recursos

Autenticació

Ldap

Cal tenir instal·lat el paquet php5-ldap

$ sudo apt-get install php5-ldap

I aplicar els canvis a Apache:

$ sudo /etc/init.d/apache2 reload
IMPORTANT: Sinó teiou el paquet php5-ldap no apareixerà l'opció ldap authentication


Per depurar:

$ tail -f /var/log/cacti/cacti.log | grep LDAP
06/27/2012 07:05:38 AM - AUTH LDAP_SEARCH: Unable to find users DN
06/27/2012 07:05:38 AM - AUTH LOGIN: LDAP Error: Unable to find users DN
06/27/2012 07:07:56 AM - AUTH LDAP_SEARCH: Unable to find users DN
06/27/2012 07:07:56 AM - AUTH LOGIN: LDAP Error: Unable to find users DN
06/27/2012 07:08:09 AM - AUTH LDAP_SEARCH: Unable to find users DN
06/27/2012 07:08:09 AM - AUTH LOGIN: LDAP Error: Unable to find users DN

O un cas correcte:

06/27/2012 07:33:21 AM - AUTH LDAP_SEARCH: User found, DN '%s'cn=Pepito Los Palotes,ou=people,ou=Proves,ou=All,dc=augute,dc=org
06/27/2012 07:33:21 AM - AUTH LDAP: Setting protocol version to 3
06/27/2012 07:33:21 AM - AUTH LOGIN: LDAP User 'pepito' Authenticated


A:

Settings > General > Poller Logging Level

Es pot indicar el nivell dels missatges de log.


Errors

Error: Access Denied, user account disabled.

PHP i Ldap

TODO

Performance/rendiment

Spine

Resol·lució de problemes. Troubleshooting

No es poden fer gràfiques de més de 100megues

Les gràfiques de 32 bits no passen de 114mbps

Cal utilitzar el tipus de gràfiques:

SNMP - Interface Statistics data query
 "in/out bits (64-bits counters)"

Recursos:

Fitxer de log de Cacti /var/log/cacti/cacti.log massa gran

Si el fitxer de log se us fa molt gran:

$ cd /var/log/cacti
$ ls -lah
total 43G
drwxr-xr-x  2 www-data www-data 4,0K jun  2 18:15 .
drwxr-xr-x 18 root     root     4,0K jul  8 06:44 ..
-rw-rw-r--  1 www-data www-data  43G jul  9 05:34 cacti.log
-rw-rw-r--  1 www-data www-data    0 jul  9 05:30 poller-error.log

Possiblement es per algun error desbocat. En el meu cas l'error era el següent:

07/09/2012 05:55:18 AM - CMDPHP: Poller[0] ERROR: SQL Assoc Failed!, Error:'130', SQL:"select  poller_output.output,  poller_output.time,  UNIX_TIMESTAMP(poller_output.time) as unix_time,  poller_output.local_data_id,   
poller_item.rrd_path,  poller_item.rrd_name,  poller_item.rrd_num  from (poller_output,poller_item)  where (poller_output.local_data_id=poller_item.local_data_id and poller_output.rrd_name=poller_item.rrd_name)  LIMIT 10000"

En el meu cas era provocat per un intent de fer funcionar el plugin weathermap.

Primer he truncat el fitxer:

$ sudo bash -c "cat /dev/null > /var/log/cacti/cacti.log"

El fitxer es continuava omplint... Finalment al desactivar el plugin weatermap els logs s'han aturat.

Pàgina en blanc durant la instal·lació manual

Cal mirar el fitxer de log d'Apache:

$ [sudo]] tail -f /var/log/apache2/error.log
...
[Wed May 23 19:31:08 2012] [error] [client 109.69.15.1] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 523800 bytes) in  /usr/share/cacti-0.8.8a/lib/adodb/adodb.inc.php on line 833

En el meu cas l'error era tenir la base de dades de MySQL buida, durant la instal·lació no us salteu el pas:

$ sudo mysql -p cacti < cacti.sql

SNMP Error

Comproveu el següent:

  • Primer que heu posat la IP a hostname i no pas a descripció
  • Utilitzeu snmpwalk per comprovar que teniu accés SNMP al servidor
snmpwalk -Os -c public -v 1 192.168.111.10 system
  • Proveu d'augmentar el timeout SNMP

snmpwalk

Es pot utilitzar per depurar SNMP

Consulteu:

Vegeu també

Enllaços externs

OpenFPnet
IES Nicolau Copèrnic