Problemas para iniciar Logstash

Buenas gente, llevo un tiempo trabajando con ELK en su version Cloud.

Tengo problemas para utilizar Logstash, use la siguiente guia: Manual pero no logro iniciar.
Dejo la salida del comando:

gverdugo@NATserver:/etc/logstash$ sudo systemctl status logstash.service
● logstash.service - logstash
   Loaded: loaded (/etc/systemd/system/logstash.service; disabled)
   Active: failed (Result: start-limit) since Wed 2019-03-06 15:48:35 -03; 3s ago
  Process: 30119 ExecStart=/usr/share/logstash/bin/logstash --path.settings /etc/logstash (code=exited, status=1/FAILURE)
 Main PID: 30119 (code=exited, status=1/FAILURE)

Mar 06 15:48:34 NATserver systemd[1]: Unit logstash.service entered failed state.
Mar 06 15:48:35 NATserver systemd[1]: logstash.service holdoff time over, scheduling restart.
Mar 06 15:48:35 NATserver systemd[1]: Stopping logstash...
Mar 06 15:48:35 NATserver systemd[1]: Starting logstash...
Mar 06 15:48:35 NATserver systemd[1]: logstash.service start request repeated too quickly, refusing to start.
Mar 06 15:48:35 NATserver systemd[1]: Failed to start logstash.
Mar 06 15:48:35 NATserver systemd[1]: Unit logstash.service entered failed state.

Hola Gonzalo,

es posible que Logstash no encuentra la configuración o bien está vacía, y se para otra vez.
Al menos esto es un problema muy típico al empezar.

Depende de la distribución que usas puedes ver los outputs por ejemplo en /var/log pero lo mas fácil sería intentar arrancar el Logstash a mano.
Cambiarse al usuario que corre Logstash y lanzarlo con /usr/share/logstash/bin/logstash --path.settings /etc/logstash para ver que output te da.

Janko gracias por responder, la salida es la siguiente:

/usr/share/logstash/bin/logstash --path.settings /etc/logstash
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/logstash/Logstash : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:808)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:443)
at java.net.URLClassLoader.access$100(URLClassLoader.java:65)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.net.URLClassLoader$1.run(URLClassLoader.java:349)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:348)
at java.lang.ClassLoader.loadClass(ClassLoader.java:430)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:323)
at java.lang.ClassLoader.loadClass(ClassLoader.java:363)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

El problema esta en la version de Java, la version actual que tengo creo que no es compatible

java -version
java version "1.7.0_181"
OpenJDK Runtime Environment (IcedTea 2.6.14) (7u181-2.6.14-2~deb8u1)
OpenJDK 64-Bit Server VM (build 24.181-b01, mixed mode)

Si soluciono este problema ¿Puedo desde mi servidores locales enviar log con logstash a mi instancia de ELK Cloud?

Hola Gonzalo, gracias por la información. Cierto, tiene pinta de que la versión de Java es el problema, ya que tiene que ser Java 8.

Si soluciono este problema ¿Puedo desde mi servidores locales enviar log con logstash a mi instancia de ELK Cloud?

Sí, se pueden enviar desde Logstash con el output de Elasticsearch (https://www.elastic.co/guide/en/cloud/current/ec-logstash.html) o con las versiones 6.x directamente con el cloud ID (https://www.elastic.co/guide/en/logstash/6.0/connecting-to-cloud.html).

Gracias nuevamente Janko, aprecio mucho tu ayuda.

Estoy un poco perdido con la configuracion de logstash para mandar datos SNMP a mi ELK Cloud.

Tengo creado un archivo nuevo llamado logstash-snmp.conf y el contenido es el siguiente:

input {
snmp {
get => ["1.3.6.1.2.1.1.1.0", "1.3.6.1.2.1.1.3.0", "1.3.6.1.2.1.1.5.0"]
walk => ["1.3.6.1.2.1.1"]
hosts => [{host => "udp:192.168.25.1/161" community => "test" version => "1" retries => 2 timeout => 1000}]
}
}
filter {
}
output {
elasticsearch {
hosts => "https://bxxxxxxxxxxxxxxxxxxxxxxxxx.us-east-1.aws.found.io:9243"
user => "myacc"
password => "mypass"
index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
}
}

La verdad no se si ese archivo se encuentra bien creado.

Luego ejecuto esta en mi consola logstash -r -f "/home/logstash/logstash-snmp.conf" y la salida es

logstash: command not found

Da el mismo resultado si lo ejecuto con bin/logstash, el servicio esta funcionando actualmente.

¿Debo agregar alguna otra configuracion en logstash.yml para que arranque el envio de datos ?

Con respecto al SNMP input plugin ¿Este mismo debo instalarlo en mi instancia cloud o en mi servidor local junto a logstash para poder enviar los datos?

Ya quedo resuelto, pude hacer funcionar mi logstash y en este momento esta enviando datos SNMP a mi ELK cloud.

Siento la demora en responderte, yo estaba fuera un rato.

Me alegro que te ha funcionmado configurar el Logstash para enviar los datos SNMP al Elastic Cloud!

Si tienes un minuto puedes dejar unos breves puntos de como lo has solucionado, por si acaso alguién en el futuro se encuentra con el mismo problema.

Muchas gracias, saludos y un buen finde!

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.