Implementasi GPS pada Aplikasi iOS

Sejak aplikasi Gojek booming, banyak aplikasi berbasis peta mulai bermunculan. Mulai dari memanfaatkan navigasi, gambar peta, hingga geolocation. Penyedia peta yang paling terkenal adalah Google…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Instalando ELK

Es muy importante instalar Java antes de instalar Elasticsearch o cualquier otro componente de Elastic Stack, tan sencillo como:

Existen varias maneras de instalar Elasticsearch, en mi caso voy a instalar todo Elastic Stack en Ubuntu 16.04 LTS. Una vez que tenemos la VM o server cloud preparado realizaremos los siguientes pasos para una instalación automática desde los repositorios oficiales de Elastic.

El primer paso es importar la llave PGP en nuestro sistema

Ahora necesitaremos instalar el paquete de transport https de la siguiente manera, es probable que en Ubuntu 16.04 LTS ya lo tengáis en todo caso:

Añadiremos los repositorios de Elastic de la siguiente manera a nuestra lista de repositorios de apt:

Ya estamos listos para lanzar la instalación de Elasticsearch con el siguiente comando, este comando hará un update de los paquetes y procederá a la instalación de Elasticsearch:

Elasticsearch por defecto no arranca automáticamente, por lo que tendremos que lanzar un comando u otro dependiendo de nuestro sistema, si estamos usando Ubuntu 16.04 LTS será systemd seguramente, pero para estar seguros lanzaremos el siguiente comando:

Si el resultado del comando anterior nos ha devuelto que estamos usando init, entonces ejecutaremos el siguiente comando:

Podemos arrancar o parar el servicio con los típicos comandos:

Si estamos en una versión moderna de Ubuntu, seguramente el resultado del ps -p 1 será que usamos systemd, para ejecutar Elasticsearch de manera automática en cada arranque lanzaremos los siguientes comandos:

Elasticsearch podrá ser arrancado con los siguientes comandos:

Podemos ejecutar el siguiente comando para saber si tenemos nuestro Elasticsearch arriba y funcionando:

Y si todo está bien, nos devolverá lo siguiente:

Una vez que hemos realizado la instalación de Elasticsearch, el resto de módulos no tienen mucho misterio, en este caso instalaremos Kibana con el siguiente comando:

Lanzaremos ahora el comando que nos corresponda, dependiendo de init o systemd para ejecutar Kibana en el arranque del sistema, si tenéis dudas consultar la sección anterior sobre este tema, en mi caso para systemd:

Para parar y arrancar el servicio, si tenemos systemd, con los siguientes comandos:

Nos quedaría un paso importante para al menos comprobar que podemos acceder a Kibana correctamente, editaremos el fichero de confguración vi /etc/kibana/kibana.yml y cambiar la siguiente línea por un host que se pueda resolver en la red, si dejamos localhost no podremos acceder desde equipos externos:

Y reiniciaremos Kibana:

Si nos vamos a esta dirección con el puerto 5206 ya podremos acceder a Kibana

Vamos a pasar al siguiente elemento ahora antes de seguir tocando nada más.

Vamos a realizar ahora la instalación de Logtash de la siguiente manera, ya que ya tenemos el repositorio, java y demás, es tan sencillo como:

Ya vimos anteriormente la diferencia entre init y systemd, por lo que en mi caso voy a ejecutar ahora el comando para que Logstash se ejecute automáticamente:

Y para arrancarlo o pararlo, los comandos de siempre, si usas systemd:

Parece que hay un pequeño bug que nos mostrará varios errores en los logs y que corregiremos antes de nada ejecutando este comando:

sudo touch /etc/logstash/conf.d/empty.conf

sudo touch /etc/logstash/conf.d/empty.conf

Logtash necesita un certificado SSL para poder ser verificado por los clientes que le envían información, podremos crear un certificado SSL de la siguiente manera, por favor recordar poner vuestro hostname en el /CN

Vamos a crear ahora tres ficheros de configuración diferentes, uno para beats, otro para syslog, y el último para el output de Elasticsearch.

Vamos a empezar con el file beats, nos iremos hasta el siguiente directorio y crearemos el siguiente fichero de configuración:

E introduciremos los siguientes valores:

Crearemos ahora el fichero para syslog de la siguiente manera:

E introduciremos lo siguiente, que basicamente usa el plugin llamado grok para hacer el parseo de los ficheros:

Y por último crearemos el fichero para el output de elasticsearch:

Con el siguiente contenido:

Realizando el siguiente comando podremos ver si tenemos todos los servicios escuchando de la manera adecuada, algunos comentarios:

Ha llegado la hora de configurar un agente de Filebeat para mandar información hacía Elastic Stack, en mi caso sobre Ubuntu.

El primer paso será comprobar que podemos resolver por DNS al hostname de Elasticsearch, en mi caso al tener un server DNS para mi homelab, todo va bien, si hubiera la necesidad, se podría editar el fichero de /etc/hosts en el cliente y añadir el server de Elasticsearch de manera manual:

El segundo paso es añadir la llave PGP al cliente ubuntu:

Necesitaremos el paquete de https transport para poder descargar e instalar los paquetes de Elastic:

Añadiremos los repositorios de Elastic de la siguiente manera a nuestra lista de repositorios de apt:

El tercer paso es instalar el paquete de beats de Elastic de la siguiente manera:

El cuarto paso será copiar el certificado SSL del server de Elasticsearch en este cliente, en la carpeta que deseemos, en mi caso podéis ver que he ubicado una copia en /tmp para acceder más sencillo y con un usuario con menos privilegios, y que al final es copiado a la carpeta /etc/filebeat del cliente:

Y ahora ya podremos comenzar con la configuración del agente, editaremos el siguiente fichero:

Podremos por ejemplo añadir todos los logs en el directorio de logs y los mensajes de sistema, y el tipo que estamos añadiendo en este caso syslog, debería quedar de la siguiente manera:

En este mismo fichero tendremos que comentar la sección de Elasticsearch, con lo que tendría que quedar de la siguiente manera:

Editaremos ahora la sección de output de Logstash que debería quedar más o menos del siguiente modo, recordar usar el hostname de vuestro Elastic Stack server, no solo eso, sino que además debe ser exacto al /CN que pusimos al crear el SSL:

Y por último en la sección de Logging añadiremos un valor, de manera que quedaría así:

Y ya podemos guardarlo y cerrarlo, vamos ahora a configurar beats para que se inicie al inicio y arrancaremos el servicio, en este caso al usar una versión antigua de Ubuntu, tengo que usar init, de nuevo si teneis dudas, volver al punto donde se explica init y systemd

Al arrancar el servicio veremos un output similar a este:

Si queremos ojear si Beats está enviando correctamente datos hacía nuestro server un tail a los logs debe devolvernos más o menos lo siguiente:

Después de todos estos pasos, es el momento de irnos a nuestro Kibana, y crearemos un nuevo index pattern, seleccionaremos que sea de tipo filebeat-* y en timestamp seleccionaremos @timestamp

El index ha sido generado y ahora podríamos editar todos los campos que estamos ingiriendo, si queremos mostrarlos, analizarlos, etc:

Si nos fueramos ahora a Discover, podríamos ver que Kibana ya nos muestra datos de los logs que tenemos ya dentro de Logstash y Elasticsearch:

Por ejemplo, podemos ver de manera sencilla un ataque denegado de SSH, y desde que IP se está originando:

Add a comment

Related posts:

Tax Abatements In Columbus

After decades of Columbus city government gifting millions in tax abatements to wealthy developers and corporations in exchange for promises of job creation, the tide of public opinion on the issue…

What is Crypton VC?

Thinking about cryptocurrencies many people imagine themselves only a Bitcoin and created by Vitalic Buterin — Ethereum, which was meant to be not only a cryptocurrency but also a platform to create…

Is This Real?

The past six days have been the longest, heaviest, and exhausting days of my life. I have slept a total of twelve hours, consumed four protein bars, a handful of blueberries, some mixed vegetables…