ERROR *** AGENT => Failed to send Prolog

Despues de actualizar a la versión Ocs Inventory Server 2.9.2, los agentes devolvían un error en C:\ProgramData\OCS Inventory NG\Agent\OCSInventory.log

AGENT => Sending Prolog
ERROR *** AGENT => Failed to send Prolog <HTTP Status Code #500>
AGENT => Unloading communication provider

 

La solución es bastante sencilla, basta con revisar usuario y password de la base de datos en estos dos archivos:

./etc/httpd/conf.d/z-ocsinventory-server.conf

./etc/ocsinventory/ocsinventory-reports/dbconfig.inc.php
ocsreports/dbconfig.inc.php

En mi caso particular, era en dbconfig.inc.php en la linea PerlSetVar OCS_DB_PWD.

 

Basta con revisar estos parametros y reiniciar el servicio de Apache.

¿Como ver si un sitio web es accesible?

Te ha pasado que te piden conexión desde un servidor hacia un servicio en internet?
Por ejemplo, desde tu servidor transaccional necesitan acceder a un servicio de factura electronica. Pero… como sabes si el servicio de factura electronica esta arriba? Si tu servidor tiene habilitado los puertos necesarios para acceder al servicio de factura electronica? Si esta resolviendo correctamente la URL del servicio de factura electronica?

Un par de tips:
1. PING es tu amigo… pero no siempre.
Me explico. Hacer un PING te puede ayudar a revisar conectividad entre tu servidor y el destino, pero recordemos que muchos sitios en internet han decidido deshabilitar PING (protocolo ICMP) por temas de seguridad y de ataques DDOS.
Entonces, hacer un PING y que no te responda el destino, no quiere decir necesariamente que no haya comunicación. Tambien puede significar que el destino tenga deshabilitado PING o ICMP.
Lo que si te ayuda a hacer un PING es saber si tu DNS esta resolviendo la URL del host destino. Por ejemplo, hacer PING a ejemplo.com:

C:\Users\joandres>ping ejemplo.com

Haciendo ping a ejemplo.com [199.59.240.200] con 32 bytes de datos:
Tiempo de espera agotado para esta solicitud.
Tiempo de espera agotado para esta solicitud.
Tiempo de espera agotado para esta solicitud.
Tiempo de espera agotado para esta solicitud.

Estadísticas de ping para 199.59.240.200:
Paquetes: enviados = 4, recibidos = 0, perdidos = 4
(100% perdidos),

Como podemos ver, hacer un ping a ejemplo.com no responde. Pero si resuelve el host ejemplo.com a la ip 199.59.240.200.
Eso quiere decir que los DNS de donde estoy el PING si estan funcionando.

2. CURL es tu amigo
Si estas queriendo revisar conectividad desde un servidor, es probable que no tengas acceso a un navegador o una herramienta grafica amigable… pero puedes usar CURL desde linea de comando para cargar html:

C:\Users\joagarcia>curl ejemplo.com

Aca podemos ver que CURL cargó todo el contenido de HTML. Que quiere decir eso? Que PING no responde, pero el servicio destino si responde en el puerto 80. O sea, si hay conectividad.

3. TELNET tambien es tu amigo
Pero que pasa si quieres revisar conectividad hacia un servicio que no utiliza puertos convencionales como el puerto 80 o PING?
Siempre puedes hacer un telnet hacia el puerto del servicio destino:

telnet ejemplo.com 26
220-server1.ejemplo.com ESMTP Exim 4.94.2 #2 Wed, 02 Mar 2022 12:37:41 -05 00
220-We do not authorize the use of this system to transport unsolicited,
220 and/or bulk e-mail.

En este caso, usamos el comando telnet utilizando el puerto 26 hacia ejemplo.com. Y si, nos responde un servicio de correo en el destino ejemplo.com

 

Y asi, es como podemos utilizar tres herramientas para revisar conectividad hacia un servicio en internet: Ping, Curl y Telnet.

 

FortiClient SSL VPN no resuelve Hosts en iOS

Me sucedió en una ocasión, donde tenía configurado mi servicio de VPN SSL en mi forti, todo arriba, configurado Split Tunneling con las redes de destino, asignando los DNS´s de mi red local, etc. etc.  Todo funcionando bien cuando se conectaba una computadora/laptop o un dispositivo con Android.  Pero, al momento de conectar un dispositivo iOS como iPhone o iPad, no resolvia hosts en la red local.

La solución es sencilla y basta con agregar el sufijo de dns desde la linea de comando del forti:

config vpn ssl settings
set dns-suffix "miempresa.corp;miempresa.local"

 

Unicamente queda desconectarse de la VPN y volver a conectarse, para que aplique los cambios realizados.  Con esto, nuestro dispositivo iOs sabrá que dominios debe resolver con los DNS’s locales.

 

 

Como ejecutar comandos de sistema operativo en SAP

¿Por que?

A veces necesitas ejecutar algún comando a nivel de sistema operativo, pero no tienes acceso al sistema operativo como tal.  Por ejemplo, ejecutar un ping, probar conectividad hacia una pagina web, name server lookup, revisar tamaños en una unidad, revisar accesos a un archivo o carpeta, etc.

Aunque existe la transacción OS01 para ping, no te permite hacer ping hacia FQDN’s y verificar si resuelve correctamente un nombre de dominio muy largo.  Tampoco puedes revisar conectividad haca un webservice usando curl o wget.

Es en estos casos es donde puede ser útil la transacción SE38 > RSBDCOS0.

  1. Ingresar a SE38.

077aa-01[1]

  1. Ingresar RSBDCOS0

987f2-02[1]

  1. Escribir los comandos de sistema operativo.

9538e-03[1]