VoIP2DAY 2016 · 2016

Qué hace tu Asterisk cuando no miras

QUÉ HACE TU ASTERISK CUANDO NO MIRAS Elio Rojano Quién Soy… @hellc2 Elio Rojano • Linuxero y defensor del Software Libre • Más de 12 años trabajando diariamente con VoIP…

Presentación sobre Asterisk impartida en VoIP2DAY 2016 · 2016.

Asterisk 📄 45 páginas ⏱ 6 min de lectura 👁 3 vistas

Este PDF no está enlazado desde ningún artículo publicado.

Página 1 — Qué hace tu Asterisk cuando no miras

Página 1 de 45

QUÉ HACE TU ASTERISK

CUANDO NO MIRAS

Elio Rojano

Página 2 — Qué hace tu Asterisk cuando no miras

Página 2 de 45

Quién Soy… @hellc2 Elio Rojano • Linuxero y defensor del Software Libre • Más de 12 años trabajando diariamente con VoIP y Asterisk • Creador de la web sinologic.net • Co-creador de la comunidad Asterisk-ES • Consultor y desarrollador de software • Lector de libros sobre gatitos, perritos y cerditos desde hace 2 años

Página 3 — Qué hace tu Asterisk cuando no miras

Página 3 de 45

Introducción

Página 4 — Qué hace tu Asterisk cuando no miras

Página 4 de 45

Introducción Asterisk cuenta con un interfaz para ver qué hace en tiempo real.

C.L.I.

Console Line Interface

Página 5 — Qué hace tu Asterisk cuando no miras

Página 5 de 45

Introducción Por desgracia, existen ciertas razones por las que no podemos estar siempre del CLI controlando qué ocurre en nuestro Asterisk… Además de que existen otras herramientas que no tienen CLI y que también tenemos que controlar… Otras herramientas de comunicaciones Seguridad Tráfico de red Accesos Gestión de colas Agentes y llamadas Cuándo se pulsa un botón

Página 6 — Qué hace tu Asterisk cuando no miras

Página 6 de 45

Guardando lo que ocurre cuando no estamos:

La importancia de los LOGS

Página 7 — Qué hace tu Asterisk cuando no miras

Página 7 de 45

Logs Un archivo de LOG debe guardar cualquier información que pueda ser relevante para que el usuario pueda conocer qué ha hecho la aplicación en todo momento.

Si analizamos los logs, veremos que estos siempre deben llevar el tiempo (dia, mes, año, hora, minuto y segundo) en el que se realizó la acción, la categoría del mensaje, y el mensaje en sí.

[Nov 6 13:00:24] NOTICE[1327][C-003834d0] chan_sip.c: Call from '' (82.163.211.145:5074) to extension '019448422882040' rejected because extension not found in context 'public'.

[Nov 6 13:00:27] NOTICE[1327][C-003834d1] chan_sip.c: Call from '' (82.163.211.145:5074) to extension '019448422882040' rejected because extension not found in context 'public'.

Página 8 — Qué hace tu Asterisk cuando no miras

Página 8 de 45

Logs /etc/asterisk/logger.conf /etc/asterisk /usr/sbin/asterisk /usr/lib/asterisk /var/lib/asterisk /var/spool/asterisk /var/log/asterisk [logfiles] ;; hundreds of comments about how this file works… ;debug => debug console => notice,warning,error ;console => notice,warning,error,debug messages => notice,warning,error,security ;full => notice,warning,error,debug,verbose,dtmf,fax ;syslog.local0 => notice,warning,error /var/log/asterisk/messages /var/log/asterisk/full

Página 9 — Qué hace tu Asterisk cuando no miras

Página 9 de 45

Logs Por esta regla de tres, si cada aplicación guarda su archivo de log, tendremos un directorio /var/log con cientos de archivos, cada uno de una aplicación diferente.

Para evitar esto, se utiliza una herramienta/protocolo llamado syslog syslog

514/UDP

9 …

Página 10 — Qué hace tu Asterisk cuando no miras

Página 10 de 45

Logs -“Disponer de demasiada información oculta lo verdaderamente importante.”

Página 11 — Qué hace tu Asterisk cuando no miras

Página 11 de 45

Logs Analizando los logs, podemos… - Ver qué ha ocurrido en un momento determinado… - Programar alertas para que nos avise en momentos críticos… - Procesarlos para generar informes estadísticos interesantes…

Página 12 — Qué hace tu Asterisk cuando no miras

Página 12 de 45

Logs Asterisk, además de logs, dispone de otros métodos para reportar qué hace en cada momento:

AMI (Asterisk Manager Interface) ARI (Asterisk Rest Interface) CLI (Console Line Interface) http://www.slideshare.net/hellc2 Pero también incorpora algunas características nuevas…

Página 13 — Qué hace tu Asterisk cuando no miras

Página 13 de 45

Los nuevos sistemas de monitorización

Página 14 — Qué hace tu Asterisk cuando no miras

Página 14 de 45

Visión Global Antiguamente se utilizaba lo siguiente:

NAGIOS

MRTG

RRDTOOL

SNMP

Servicios Sistema Operativo Hardware etc…

Página 15 — Qué hace tu Asterisk cuando no miras

Página 15 de 45

Visión Global Y se obtenían algunas páginas y gráficas muy interesantes:

CACTI

MRTG

RRDTOOL

Página 16 — Qué hace tu Asterisk cuando no miras

Página 16 de 45

Sistemas de Monitorización ELK Graphite InfluxData Mostrar Kibana Graphite-web Chronograf Almacenar ElasticSearch Whisper InfluxDB Capturar Logstash Carbon Telegraf

Página 17 — Qué hace tu Asterisk cuando no miras

Página 17 de 45

Sistemas de Monitorización Mostrar Almacenar Capturar Servicios Sistema Operativo Hardware

Página 18 — Qué hace tu Asterisk cuando no miras

Página 18 de 45

Sistemas de Monitorización Mostrar Almacenar Capturar

SNMP

Simple Network Management Protocol Un protocolo muy útil y práctico aunque poco intuitivo Qué demonios es 1.3.6.1.4.868.2.4.1.2.1.1.1.3.3562.3 !?

Iso(1) org(3) dod(6) internet(1) private(4) transition(868) products(2) chassis(4)

Página 19 — Qué hace tu Asterisk cuando no miras

Página 19 de 45

Sistemas de Monitorización Mostrar StatsD https://github.com/etsy/statsd Almacenar Capturar 13 - 14 …

Página 20 — Qué hace tu Asterisk cuando no miras

Página 20 de 45

Sistemas de Monitorización CollectD Mostrar https://collectd.org/ Almacenar

SNMP

Capturar …

Página 21 — Qué hace tu Asterisk cuando no miras

Página 21 de 45

Sistemas de Monitorización Mostrar Telegraf Logstash CollectD Almacenar Capturar

SNMP

Graylog

Página 22 — Qué hace tu Asterisk cuando no miras

Página 22 de 45

Sistemas de Monitorización Almacenador Mostrar Output plugins Almacenar Capturar Capturador Input plugins

Página 23 — Qué hace tu Asterisk cuando no miras

Página 23 de 45

Sistemas de Monitorización Bases de datos especiales Mostrar Rápidas pero orientadas a almacenar valores y tiempos Asistentes a la conferencia Almacenar Capturar Time Value 2016-11-16 12:24:31 25 2016-11-16 12:24:32 26 2016-11-16 12:24:33 26 2016-11-16 12:24:34 25

Página 24 — Qué hace tu Asterisk cuando no miras

Página 24 de 45

Sistemas de Monitorización Mostrar Almacenar Capturar Bases de datos no relacionales Basados en SQL, pero bastante limitadas Para ser rápidos, se sacrifican funcionalidades Almacenan valores simples (decimales, enteros, …) La gestión se suele hacer vía JSON o interfaz web

Página 25 — Qué hace tu Asterisk cuando no miras

Página 25 de 45

Sistemas de Monitorización influxDB

MQTT

Mostrar Graylog Elasticsearch Librato Almacenar Kinesis Kafka Capturar Datadog Graphite

Página 26 — Qué hace tu Asterisk cuando no miras

Página 26 de 45

Sistemas de Monitorización Gráficas, gráficas y más gráficas Mostrar Almacenar Capturar También incluye la parte de avisos y alarmas

Página 27 — Qué hace tu Asterisk cuando no miras

Página 27 de 45

Sistemas de Monitorización Conceptos triviales… Mostrar Gauges (indicador) Almacenar Counter (contadores) Capturar

Página 28 — Qué hace tu Asterisk cuando no miras

Página 28 de 45

Sistemas de Monitorización 1.- Configuramos la fuente de datos Mostrar Almacenar influxDB Instrumental Kinesis Datadog Elastixsearch Librato Kafka graphite grayLog 2.- Seleccionamos los datos que queremos ver 3.- Configuramos el aspecto del dashboard Capturar 4.- Configuramos los valores críticos para alertas

Página 29 — Qué hace tu Asterisk cuando no miras

Página 29 de 45

Sistemas de Monitorización Son tan flexibles que trabajan con casi todos los sistemas de almacenamiento que hemos hablado antes.

Mostrar Almacenar Capturar

Página 30 — Qué hace tu Asterisk cuando no miras

Página 30 de 45

Sistemas de Monitorización Aplicaciones web con editores de estilo para personalizar los datos y gráficas que queremos ver.

Mostrar Almacenar Capturar

Página 31 — Qué hace tu Asterisk cuando no miras

Página 31 de 45

Sistemas de Monitorización Aplicaciones web con editores de estilo para personalizar los datos y gráficas que queremos ver.

Mostrar Almacenar Capturar

Página 32 — Qué hace tu Asterisk cuando no miras

Página 32 de 45

Sistemas de Monitorización Aplicaciones web con editores de estilo para personalizar los datos y gráficas que queremos ver.

Mostrar Almacenar Capturar Grafana

Página 33 — Qué hace tu Asterisk cuando no miras

Página 33 de 45

Sistemas de Monitorización Aplicaciones web con editores de estilo para personalizar los datos y gráficas que queremos ver.

Mostrar Almacenar Capturar Chronograph

Página 34 — Qué hace tu Asterisk cuando no miras

Página 34 de 45

Sistemas de Monitorización Aplicaciones web con editores de estilo para personalizar los datos y gráficas que queremos ver.

Mostrar Almacenar Capturar Kibana

Página 35 — Qué hace tu Asterisk cuando no miras

Página 35 de 45

Sistemas de Monitorización Aplicaciones web con editores de estilo para personalizar los datos y gráficas que queremos ver.

Mostrar Almacenar Capturar Graylog

Página 36 — Qué hace tu Asterisk cuando no miras

Página 36 de 45

Sistemas de Monitorización Monitorizando pfSense con ELK… Mostrar Almacenar Capturar

Página 37 — Qué hace tu Asterisk cuando no miras

Página 37 de 45

Cómo hacer esto con

Página 38 — Qué hace tu Asterisk cuando no miras

Página 38 de 45

Utilizando STATSD https://github.com/etsy/statsd A partir de Asterisk 14*

Página 39 — Qué hace tu Asterisk cuando no miras

Página 39 de 45

Cómo monitorizar Asterisk Asterisk 13 y 14 incluyen un conector con StatsD que permite a Asterisk hacer de cliente y conectarse a un servidor StatsD para enviarle información sobre llamadas, canales, etc.

Para ello, debemos compilar Asterisk para que lo soporte.

Con esos dos módulos dispondremos de una aplicación que nos permite enviar valores a StatsD mediante el dialplan.

Página 40 — Qué hace tu Asterisk cuando no miras

Página 40 de 45

Cómo monitorizar Asterisk Una vez tengamos esos módulos, ya podemos usar el código de dialplan para enviar a StatsD nuestros propios valores:

Más información: https://wiki.asterisk.org/wiki/display/AST/Utilizing+the+StatsD+Dialplan+Application

Página 41 — Qué hace tu Asterisk cuando no miras

Página 41 de 45

Conectando Asterisk con todo el sistema Telegraf

SNMP

StatsD res_statsd.so app_statsd.so HW Sistema HW Network

Página 42 — Qué hace tu Asterisk cuando no miras

Página 42 de 45

Cómo monitorizar Asterisk Si tenemos StatsD configurado, PJSIP también lo utiliza para exportar datos de registro, llamadas, usuarios, contacts, etc… Grafana (por ejemplo) nos permite configurar alertas (v.4.0) cuando ocurren determinados valores:

Página 43 — Qué hace tu Asterisk cuando no miras

Página 43 de 45

Cómo monitorizar Asterisk Tanto los “capturadores” como los “almacenadores” disponen de librerías en la mayoría de lenguajes de programación, por lo que podemos realizar integraciones con nuestras propias soluciones y mostrar los valores a nuestro gusto.

Página 44 — Qué hace tu Asterisk cuando no miras

Página 44 de 45

¿Preguntas?

Página 45 — Qué hace tu Asterisk cuando no miras

Página 45 de 45

Agradecimientos a: Gracias a Rosa Atienza y Pablo (por su tiempo, paciencia y consejos) a Tomás Sahagún (por descubrirme ciertos mundos) a Javier Vidal y Robert (por su amistad, apoyo, soporte, ayuda y tantas cosas…) a Avanzada 7 (por organizar el V2D y por muchas cosas más…) a vosotros que habéis aguantado todo este rato. ;) y un agradecimiento muy especial a los lectores de sinologic.net, ya que gracias a ellos… Hoy SINOLOGIC.NET cumple 10 años