Tutoriales y Manuales
Entradas Mensuales
-
►
2024
(Total:
1019
)
- ► septiembre (Total: 50 )
-
►
2023
(Total:
710
)
- ► septiembre (Total: 65 )
-
►
2022
(Total:
967
)
- ► septiembre (Total: 72 )
-
►
2021
(Total:
730
)
- ► septiembre (Total: 56 )
-
►
2020
(Total:
212
)
- ► septiembre (Total: 21 )
-
►
2019
(Total:
102
)
- ► septiembre (Total: 14 )
-
►
2017
(Total:
231
)
- ► septiembre (Total: 16 )
-
►
2016
(Total:
266
)
- ► septiembre (Total: 38 )
-
►
2015
(Total:
445
)
- ► septiembre (Total: 47 )
-
►
2014
(Total:
185
)
- ► septiembre (Total: 18 )
-
▼
2013
(Total:
100
)
- ► septiembre (Total: 3 )
-
▼
enero
(Total:
17
)
- Últimos drivers AMD Catalyst Beta 3
- Últimos drivers nVidia GeForce 6/7 WHQL
- Mejores antivirus gratuitos para Android
- Manual de HashCat en Español
- Monitorix: Monitoriza tu servidor Linux
- Log Binario en MySQL
- Apple y Mozilla dicen (por el momento): "No a Java...
- Google Zeitgeist 2012 : Lo más buscado
- Eventos: Gira Up To Secure 2013
- App para Windows Phone de elhacker.NET
- Snifando WhatsApp: Obteniendo Información Básica
- Google Hardcode 2013, sólo para estudiantes
- Disponible una nueva versión de AirWin 2.0.5
- Cómo Convertir un PC en una Máquina Multijuegos
- ¿Adobe ofrece gratis la descarga de Adobe CS2?
- Funciones y trucos para el reproductor multimedia ...
- OpenOffice Vs LibreOffice
-
►
2011
(Total:
7
)
- ► septiembre (Total: 1 )
Blogroll
Etiquetas
seguridad
(
395
)
privacidad
(
363
)
google
(
353
)
ransomware
(
338
)
vulnerabilidad
(
301
)
Malware
(
263
)
Windows
(
243
)
android
(
242
)
cve
(
235
)
tutorial
(
235
)
manual
(
220
)
software
(
201
)
hardware
(
193
)
linux
(
124
)
twitter
(
115
)
ddos
(
94
)
WhatsApp
(
90
)
Wifi
(
85
)
cifrado
(
77
)
herramientas
(
75
)
hacking
(
73
)
sysadmin
(
67
)
app
(
65
)
Networking
(
56
)
nvidia
(
52
)
ssd
(
51
)
youtube
(
50
)
adobe
(
43
)
firmware
(
42
)
office
(
41
)
hack
(
40
)
firefox
(
35
)
contraseñas
(
32
)
eventos
(
32
)
antivirus
(
31
)
juegos
(
31
)
cms
(
30
)
flash
(
28
)
anonymous
(
27
)
MAC
(
25
)
apache
(
25
)
programación
(
25
)
exploit
(
23
)
javascript
(
22
)
multimedia
(
22
)
Kernel
(
20
)
ssl
(
19
)
SeguridadWireless
(
17
)
documental
(
16
)
Forense
(
15
)
conferencia
(
15
)
Debugger
(
14
)
lizard squad
(
14
)
técnicas hacking
(
13
)
auditoría
(
12
)
delitos
(
11
)
metasploit
(
11
)
Virtualización
(
10
)
adamo
(
9
)
reversing
(
9
)
Rootkit
(
8
)
Ehn-Dev
(
7
)
MAC Adress
(
6
)
antimalware
(
6
)
oclHashcat
(
5
)
Entradas populares
-
Después de ver qué es una vCPU y la diferencia entre núcleos (cores) e hilos en los procesadores, pasamos a explicar toda la nomenclatura d...
-
En el panorama en constante evolución de la seguridad de redes, OpnSense se ha convertido en una formidable solución de firewall. Nacido de...
-
Pese a que Gemini ofrece multitudes de opciones, recientemente, se ha dado a conocer una situación fuera de lo común. Hace unos días, un es...
Monitorix: Monitoriza tu servidor Linux
lunes, 21 de enero de 2013
|
Publicado por
el-brujo
|
Editar entrada
Monitorix es una herramienta libre (open-source) para monitorizar gráficamente el estado de un servidor, tipo Nagios, Cacti o Zabbix, mrtg, monit, munin, etc y accesible vía web. Está escrita en Perl y es muy sencilla la instalación y configuración. Apenas consume recursos y estaba inicialmente diseñada para sistemas basados en Red Hat,
Fedora y CentOS Linux pero funciona en cualquier distribución GNU/Linux e incluso en otros sistemas UNIX, como FreeBSD, OpenBSD and
NetBSD.
Permite monitorizar cargas del procesador, uptime, los procesos activos, uso de la memoria ram, porcentaje de uso del disco duro (espacio libre), actividad del disco duro (I/O), temperaturas de los discos duros, del sistema, de la placa base, de la tarjeta gráfica gpu (sólo nvidia), velocidad rpm de los ventiladores, actividad del disco duro (con lmsensors), espacio usado en disco (en %), tráfico de red (entrada y salida y ahora también con estadísticas de red netstat), tráfico paquetes, monitorizar tráfico en un determinado puerto en concreto (tanto tcp como upd, entrada y salida (input/ouput), monitorizar cargas y uso de servicios tan populares como:
Servidores Web
Puede mostrar el gráfico diariamente, semanalmente, mensualmente y anualmente, y con las nuevas versiones se pueden guardar hasta 5 años de historial.
Pre requisitos:
Habilitar inicio arranque sistema
El fichero de configuración /etc/monitorix.conf
Podemos activar los gráficos Y (yes), N (no)
http://www.monitorix.org/documentation.html
En las nuevas versiones el fichero de configuración se encuentra en /etc/monitorix/monitorix.conf
Añadir al fichero httpd.conf las siguientes líneas (ver fichero monitorix-apache.conf)
Versiones monitorix antiguas 2.x
Configuración para Apache nuevas versiones Monitorix 3.x
Nuevo módulo (netstat.pm) permite monitorizar estadísticas de red con netstat el tráfico ipv4 y ipv6
Los gráficos (imágenes) se guardan por defecto en la carpeta:
Nuevo módulo Process statistics (process.pm) a partir de la versión > 3.5.1 que permite monitorizar estadísticas de procesos directamente desde el Kernel.
Ejemplo gráfica process = y
Para este gráfico se requiere un núcleo Linux versión 2.6.20, al menos, para apoyar el proceso de contabilidad de E / S. Sin embargo en algunos sistemas con kernels más antiguos también podría funcionar
Permite monitorizar:
Máximo 10 procesos por list (grupo)
Para saber el nombre del proceso
El comm es el ejecutable, el nombre del "process" que debemos añadir en list
Gráfico carga CPU (System Load) top
Gráfico tráfico puerto 80 HTTP (Apache) semanal
Gráfica Apache Workers diaria
Gráfica APC (Alternative PHP Cache statistics)
Gráfico MySQL (queries per second qps) semanal
BIND (DNS)
Podéis ver un ejemplo real en funcionamiento del servidor de warzone.elhacker.net en:
Relacionado:
Permite monitorizar cargas del procesador, uptime, los procesos activos, uso de la memoria ram, porcentaje de uso del disco duro (espacio libre), actividad del disco duro (I/O), temperaturas de los discos duros, del sistema, de la placa base, de la tarjeta gráfica gpu (sólo nvidia), velocidad rpm de los ventiladores, actividad del disco duro (con lmsensors), espacio usado en disco (en %), tráfico de red (entrada y salida y ahora también con estadísticas de red netstat), tráfico paquetes, monitorizar tráfico en un determinado puerto en concreto (tanto tcp como upd, entrada y salida (input/ouput), monitorizar cargas y uso de servicios tan populares como:
Servidores Web
- Apache
- Nginx
- Lighttpd
Servidores FTP
- ProFTPD
- vsftpd
- Pure-FTPd
Servidores Correo
- Sendmail
- Postfix
Y otros servicios tan comunes como:
- BIND (named), MySQL, Squid, NFS, Fail2ban, Raspberry Pi, NFS, Squid, APC (Alternative PHP Cache), Memcached, Icecast Streaming Media Server, Wowza Media Server, APC UPS (apcupsd), NTP,
Puede mostrar el gráfico diariamente, semanalmente, mensualmente y anualmente, y con las nuevas versiones se pueden guardar hasta 5 años de historial.
Instalación
Se puede instalar mediante paquete rpm, deb o compilando el código fuente con las sources.Usando repositorio epel
yum -y install epel-releaseyum -y updateyum clean all
yum -y install monitorix
Pre requisitos:
# yum install rrdtool rrdtool-perl perl-libwww-perl perl-MailTools perl-MIME-Lite perl-CGI
perl-DBI perl-XML-Simple perl-Config-General perl-HTTP-Server-Simple perl-IO-Socket-SSL
Nuevas versiones:
# yum install rrdtool rrdtool-perl perl-libwww-perl perl-MailTools perl-MIME-Lite perl-CGI
perl-DBI perl-Config-General perl perl-HTTP-Server-Simple perl-IO-Socket-SSL
perl-MIME-Lite perl-XML-Simple
# yum install rrdtool rrdtool-perl perl-libwww-perl perl-MailTools perl-MIME-Lite perl-CGI
perl-DBI perl-Config-General perl perl-HTTP-Server-Simple perl-IO-Socket-SSL
perl-MIME-Lite perl-XML-Simple
La manera correcta de actualitzar es usando
rpm -Uvh monitorix*.rpm
Arrancar el servicio
systemctl start monitorix
Habilitar inicio arranque sistema
systemctl enable monitorix
Verificar servicio:
systemctl status monitorix
Requerimientos:
- Servidor web con soporte CGI (Apache, Nginx, lighttpd, etc.) (Opcional a partir de la versión 3.0.0)
- Perl
- Perl-CGI
- Perl-MailTools
- Perl-MIME-Lite
- Perl-libwww
- Perl-DBI
- Perl-XML-Simple
- Perl-Config-General
- RRDtool y sus enlaces a Perl (perl-rrdtool or rrdtool-perl)
A partir de la versión 3.0.0 en adelante ya no necesita un servidor web externo para funcionar, ya lleva un servidor embedido (HTTP server built-in) para funcionar.
Instalar el rpm para CentOS y derivados:
rpm -ivh http://www.monitorix.org/monitorix-3.5.1-1.noarch.rpmArrancar el servicio:
service monitorix startSi algo falla podemos mirar el fichero /var/log/monitorix en busca de errores o warnings:
Sun Jun 8 12:19:43 2014 - Starting Monitorix version 3.5.1 (pid 9617).
Configuración
El fichero de configuración /etc/monitorix.conf
Podemos activar los gráficos Y (yes), N (no)
# Graphs (de)activationEn la web oficial del proyecto están explicados todos los parámetros de configuración:
# -----------------------------------------------------------------------------
our %GRAPH_ENABLE = (
"system" => "Y",
"kern" => "Y",
"proc" => "Y",
"hptemp" => "N",
"lmsens" => "Y",
"nvidia" => "N",
"disk" => "Y",
"fs" => "Y",
"net" => "Y",
"netstat" => "Y",
"process" => "Y",
"serv" => "Y",
"mail" => "N",
"port" => "Y",
"user" => "Y",
"apache" => "Y",
"nginx" => "N",
"lighttpd" => "N",
"mysql" => "Y",
"squid" => "N",
"nfss" => "N",
"nfsc" => "N",
"bind" => "N",
"ntp" => "N",
"fail2ban" => "N",
"icecast" => "N",
"int" => "Y",
);
http://www.monitorix.org/documentation.html
En las nuevas versiones el fichero de configuración se encuentra en /etc/monitorix/monitorix.conf
# Graphs (de)activationOpciones interesantes de configuración:
# -----------------------------------------------------------------------------
system = y
kern = y
proc = y
hptemp = n
lmsens = y
nvidia = n
disk = y
fs = y
net = y
netstat = y
process = y
serv = y
mail = y
port = y
user = y
ftp = n
apache = y
nginx = n
lighttpd = n
mysql = y
squid = n
nfss = n
nfsc = n
bind = y
ntp = n
fail2ban = y
icecast = n
raspberrypi = n
phpapc = y
memcached = n
apcupsd = n
wowza = n
int = y
# habilitar vista de la última horaenable_hourly_view = y# guardar hasta 5 años históricomax_historic_years = 5
Configuración con Apache 2.x 2.2.x 2.4.x
Existe un fichero de ejemplo en:
/usr/share/doc/monitorix/monitorix-apache.conf
# # Monitorix is a lightweight system monitoring tool # Alias /monitorix /var/lib/monitorix/www ScriptAlias /monitorix-cgi /var/lib/monitorix/www/cgi <Directory /var/lib/monitorix/www/> <IfModule mod_authz_core.c> # Apache 2.4 Require all denied Require ip 127.0.0.1 </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order deny,allow Deny from all Allow from 127.0.0.1 </IfModule> </Directory> <Directory /var/lib/monitorix/www/cgi/> DirectoryIndex monitorix.cgi Options ExecCGI </Directory> # Apache rules to restrict access to Monitorix: # Don't forget to add <username> in .htpasswd with the 'htpasswd' command. # #<Directory "/var/lib/monitorix/www"> # Options Indexes Includes FollowSymLinks # <IfModule mod_authz_core.c> # # Apache 2.4 # Require all denied # Require ip 127.0.0.1 # </IfModule> # <IfModule !mod_authz_core.c> # # Apache 2.2 # Order deny,allow # Deny from all # Allow from 127.0.0.1 # </IfModule> # AllowOverride None # AuthUserFile /etc/httpd/conf/.htpasswd # AuthGroupFile /dev/null # AuthName "Monitorix: Restricted access, sorry." # AuthType Basic # Require user <username> # Satisfy Any #</Directory>
Versiones monitorix antiguas 2.x
Alias /monitorix /usr/share/monitorix
ScriptAlias /monitorix-cgi /usr/share/monitorix/cgi-bin
DirectoryIndex monitorix.cgi
Options ExecCGI
order deny,allow
deny from all
allow from all
allow from 127.0.0.1
Configuración para Apache nuevas versiones Monitorix 3.x
Alias /monitorix /var/lib/monitorix/www
ScriptAlias /monitorix-cgi /var/lib/monitorix/www/cgi
DirectoryIndex monitorix.cgi
Options ExecCGI
Order deny,allow
Deny from all
allow from all
allow from 127.0.0.1
Y recordar deshabilitar el servidor httpd built n añadiendo enabled = n o saldrá un error 403 forbidden
enabled = n
host =
port = 8080
user = nobody
group = nobody
log_file = /var/log/monitorix-httpd
hosts_deny =
hosts_allow =
enabled = n
msg = Monitorix: Restricted access
htpasswd = /var/lib/monitorix/htpasswd
Es posible configurar apache como un proxy reverso (reverse proxy) para servir las imágenes del http built del puerto 8080
Ejemplo que nos dan:
<VirtualHost *:80>ServerAdmin me@mydomain.comServerName monitorix.mydomain.comProxyRequests Off# setup the proxy<Proxy *>Order allow,denyAllow from all</Proxy>ProxyPass "/" "http://mydomain.com:8080/"ProxyPassReverse "/" "http://mydomain.com:8080/"</VirtualHost>
Es posible hacer que el proxy sea transparente y no muestre el puerto 8080
<VirtualHost *:80>ServerAdmin alex@elhacker.netServerName monitorix.elhacker.netProxyRequests OffCustomLog /home/alex/logs/monitorix_access_log combinedErrorLog /home/alex/logs/monitorix_error_log# para esconder el :8080 de las img generadas por monitorixProxyPreserveHost On# setup the proxy<Proxy *>Order allow,denyAllow from all</Proxy># 8080# mejor en local mas rápido y fiableProxyPass "/" "http://localhost:8080/"ProxyPassReverse "/" "http://localhost:8080/"</VirtualHost>
Nuevo módulo (netstat.pm) permite monitorizar estadísticas de red con netstat el tráfico ipv4 y ipv6
Los gráficos (imágenes) se guardan por defecto en la carpeta:
/var/lib/monitorix/www/imgsPuedes guardar un histórico e Monitorix haciendo una copia de seguridad de dicha carpeta.
Monitorizar Conexiones Tráfico de Red
con el comando ss o netstat
- Established
- Closed
- Listen
- Syn_sent
- Syn_recv (muy útil para ver ataques DDoS syn-flood)
- fin_wait1
- fin_wait2
- Closing IPV4-IPV6
- Time_wait IPV4-IPV6
- Estadísticas UDP
- Ejemplo Gráfica netstat = y
Ejemplo gráfica process = y
Para este gráfico se requiere un núcleo Linux versión 2.6.20, al menos, para apoyar el proceso de contabilidad de E / S. Sin embargo en algunos sistemas con kernels más antiguos también podría funcionar
Permite monitorizar:
- Tiempo de CPU usado (CPU time usage)
- Memoria RAM usada (Memory usage)
- Uso de disco (Disk usage)
- Tráfico de red usado (Network usage)
- Ficheros abiertos (Opened files)
- Número de hilos ( Number of threads)
- Context switches
- Número de procesos (Number of processes)
Máximo 10 procesos por list (grupo)
# PROCESS graph # -----------------------------------------------------------------------------0 = httpd, sshd, ntopng, mysqld, proftpd, fail2ban-server, miniserv.pl, sendmail, named, ts3server_linux 1 = psybnc, scp, tshark, dumpcap, awstats.pl
httpd = Apache proftpd = FTP # imap = Dovecot fail2ban-server = fail2ban miniserv.pl = webmin named = Bind ts3server_linux = TeamSpeak3 psybnc = irc scp = backup awstats.pl = awstats rigid = 2, 0, 0, 0, 0, 0, 0, 0 limit = 100, 1000, 1000, 1000, 1000, 1000, 1000, 1000
Para saber el nombre del proceso
ps -eo pid,comm,command
El comm es el ejecutable, el nombre del "process" que debemos añadir en list
Ejemplos Gráficas
Gráfico carga CPU (System Load) top
Gráfico tráfico puerto 80 HTTP (Apache) semanal
Gráfica Apache Workers diaria
Gráfica APC (Alternative PHP Cache statistics)
Gráfico MySQL (queries per second qps) semanal
BIND (DNS)
Podéis ver un ejemplo real en funcionamiento del servidor de warzone.elhacker.net en:
Relacionado:
Enviar por correo electrónico
Escribe un blog
Compartir en X
Compartir con Facebook
Compartir en Pinterest