Requerimientos
- Ubuntu 18.04.3 LTS
- 4 GB de Ram
¿Qué es entonces el ELK Stack?
ELK es la sigla para tres proyectos open source: Elasticsearch, Logstash y Kibana. Elasticsearch es un motor de búsqueda y analítica. Logstash es un pipeline de procesamiento de datos del lado del servidor que ingesta datos de una multitud de fuentes simultáneamente, los transforma y luego los envía a como Elasticsearch. Kibana permite a los usuarios visualizar los datos en cuadros y gráficos con Elasticsearch.
Si quieres aprender mas del proyecto puedes visitar https://www.elastic.co/es/what-is/elk-stack
Instalar elasticsearch
La opción de instalación mas conveniente para Ubuntu es usar los paquetes deb.
El paquete deb de elasticsearch funciona para sistemas operativos Debian y sus derivados, los puedes bajar directamente del sitio web de elasticsearch o desde el repositorio usando APT.
El paquete que vamos a instalar usa la licencia de elastic, que es open source pero tenemos la opción de pasarnos a la licencia comercial, con la licencia open source ser suficiente para una buena cantidad de requerimientos.
Importar PGP key de elastic
Los paquetes están firmados con la clave
D88E42B4
, disponible desde https://pgp.mit.edu
con el fingerprint:4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4
Descargar e instalar la clave publica
Instalar desde los repositorios APT
Antes de iniciar necesitamos instalar apt-transport-https
Agregamos el repositorio
Instalamos los paquetes
Iniciar automáticamente elasticsearch al iniciar el sistema
Por default elasticsearch no inicia automáticamente después de la instalación, iniciar y detenerse depende del sistema SysV init o systemd
Podemos saber que sysV estamos usando con el comando
ps -p 1
PID TTY TIME CMD
1 ? 00:00:13 systemd
En Ubuntu 18.04 por default usa systemd
Para configurar que elasticsearch inicie automáticamente después de un reinicio del sistema usaremos.
para iniciar o detener elasticsearch
estos comandos no tienen salida en consola, pero podemos usar journalctl para ver el estado del inicio de la aplicación
Validar el funcionamiento
Vamos a enviar una petición con curl al puerto 9200 para ver si esta corriendo.
nos regresara algo parecido a esto
{
"name" : "lnr",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "iv8LyrgVTZW_ax6W2wuxHw",
"version" : {
"number" : "7.5.1",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "3ae9ac9a93c95bd0cdc054951cf95d88e1e18d96",
"build_date" : "2019-12-16T22:57:37.835892Z",
"build_snapshot" : false,
"lucene_version" : "8.3.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
Directorios importantes
Tipo | Descricion | Directorio | Setting |
home | directorio home or $ES_HOME | /usr/share/elasticsearch | |
bin | Binary scripts incluyendo elasticsearch y elasticsearch-plugin para instalar plugins | /usr/share/elasticsearch/bin | |
conf | Archivos de configuración incluyendo elasticsearch.yml | /etc/elasticsearch | ES_PATH_CONF |
conf | Variables de entorno incluyendo heap size, file descriptors. | /etc/default/elasticsearch | |
data | Datos de index / | /var/lib/elasticsearch | path.data |
logs | Archivos de Log | /var/log/elasticsearch | path.logs |
plugins | Archivos de plugins | /usr/share/elasticsearch/plugins |
Referencias
instalar kibana
Kibana es un panel de visualización de datos de código abierto para Elasticsearch. Proporciona capacidades de visualización sobre el contenido indexado en un clúster Elasticsearch. Los usuarios pueden crear gráficos de barras, líneas y dispersión, o gráficos circulares y mapas sobre grandes volúmenes de datos.
Vamos a instalar kibana usando los paquetes deb. Si seguimos los pasos anteriores de la parte de la instalación de elasticsearch podemos continuar de lo contrario, agregamos el PGP key, el repositorio e intalamos el apt transports.
Instalamos kibana con apt
Kibana no inicia por default con el sistema podemos hacer que inicie automáticamente con systemd
para iniciar y detener el sistema
validamos el status con
y podemos ver los logs de salida del sistema con journalctl
Validamos el correcto funcionamiento entrado en un navegador a localhost:5601/app/kibana o con curl
si queremos que kibana este disponible en alguna interfaz de especifica editamos el archivo
/etc/kiaba/kibana.yml
para editar la server.host: "tu ip"
y agregamos la etiqueta
#
#
#
server.host: "tu ip"
#
#
y agregamos las reglas al firewall ufw
entramos desde el navegador o usando curl y si nos regresa el logo de kibana esta listo
Direcciones importantes
Tipo | Descrición | PATH | |
home | Home de kibana o $KIBANA_HOME | /usr/share/kibana | |
bin | Binary scripts incluyendo kibana y kibana-plugin | /usr/share/kibana/bin | |
config | Archivos de configuración incluyendo kibana.yml | /etc/kibana | |
data | Informacion escrita por kibana | /var/lib/kibana | |
logs | Logs | /var/log/kibana | |
plugins | Archivos de plugins | /usr/share/kibana/plugins |
Referencias
instalar logstash
instalar java
Para instalar logstash necesitar java 1.8, podemos instalar java la versión de Oracle o el openjdk, aquí usaremos el openjdk.
verificamos la instalación
java -version
instalar logstash
iniciar o detener el servicio
ver el estatus del servicio
ver salida de logs
Esta es la forma mas fácil de instalar ELK, pero dejaremos para otra entrada la configuración de logstash para dividir los logs.
Comentarios
Publicar un comentario