Welcome to Pandora FMS Community!

Find answers, ask questions, and connect with our community around the world.

Bienvenido a la comunidad de Pandora FMS Forums Soporte de la comunidad Error curl: (6) Could not resolve host: ‘http

  • Error curl: (6) Could not resolve host: ‘http

    Posted by muroz on mayo 15, 2020 at 15:05

    Hola comunidad,
    Tengo instalado Pandora FMS v7.0NG.745 – Desarrollo 200513 – MR 37 en un windows server 2016.
    Cuando reinicio el servicio de pandora server recibo este error log.
    ¿Alguna pista de donde puede estar el problema?

    Starting Pandora FMS Server. Error logging activated.
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    
      0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: 'http
    "op2" no se reconoce como un comando interno o externo,
    programa o archivo por lotes ejecutable.
    "apipass" no se reconoce como un comando interno o externo,
    programa o archivo por lotes ejecutable.
    "user" no se reconoce como un comando interno o externo,
    programa o archivo por lotes ejecutable.
    El sistema no puede encontrar la ruta especificada.
    Use of uninitialized value $res_testing_api[0] in string ne at pandora_server line 708.
    Use of uninitialized value in concatenation (.) or string at /PandoraFMS/Core.pm line 5307.
    Use of uninitialized value in concatenation (.) or string at /PandoraFMS/Core.pm line 5307.
    Use of uninitialized value in concatenation (.) or string at /PandoraFMS/Core.pm line 5307.
    Use of uninitialized value in concatenation (.) or string at /PandoraFMS/Core.pm line 5307.
    Use of uninitialized value in concatenation (.) or string at /PandoraFMS/Core.pm line 5307.
    Use of uninitialized value in concatenation (.) or string at /PandoraFMS/Core.pm line 5307.
    Jimmy replied 4 years, 7 months ago 2 Members · 7 Replies
  • 7 Replies
  • Jimmy

    Moderator
    mayo 16, 2020 at 13:33
    39 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    ¡Hola! Intentad entrecomillar los comandos a ver qué tal es mi primera sugerencia, ¡tened feliz día!

  • muroz

    Member
    mayo 18, 2020 at 11:00
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    ¡Hola! Intentad entrecomillar los comandos a ver qué tal es mi primera sugerencia, ¡tened feliz día!

    Hola Jimmy,
    perdona pero no termino de entenderlo.
    ¿Tengo que entrecomillar los comandos de algún fichero?
    Saludos,

  • Jimmy

    Moderator
    mayo 18, 2020 at 18:49
    39 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    ¡Hola! Intentad entrecomillar los comandos a ver qué tal es mi primera sugerencia, ¡tened feliz día!

    Hola Jimmy,
    perdona pero no termino de entenderlo.
    ¿Tengo que entrecomillar los comandos de algún fichero?
    Saludos,

    Porque la traducción del mensaje de error sería:

    No se pudo resolver el anfitrión
    
    Uso del valor no inicializado $res_testing_api[0] en la cadena ne en la línea 708 del servidor de pandora.
    
    Uso del valor no inicializado en la concatenación (.) o en la cadena en

    Corrijo mi sugerencia: “entrecomillad” (colocad entre comillas, más bien) la dirección web o URL para curl, ¡tened feliz día!

  • muroz

    Member
    mayo 18, 2020 at 20:24
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Adjunto los fichero de log del Pandora Server:

    ¡Hola! Intentad entrecomillar los comandos a ver qué tal es mi primera sugerencia, ¡tened feliz día!

    Hola Jimmy,
    perdona pero no termino de entenderlo.
    ¿Tengo que entrecomillar los comandos de algún fichero?
    Saludos,

    Porque la traducción del mensaje de error sería:

    No se pudo resolver el anfitrión
    
    Uso del valor no inicializado $res_testing_api[0] en la cadena ne en la línea 708 del servidor de pandora.
    
    Uso del valor no inicializado en la concatenación (.) o en la cadena en

    Corrijo mi sugerencia: “entrecomillad” (colocad entre comillas, más bien) la dirección web o URL para curl, ¡tened feliz día!

  • Jimmy

    Moderator
    mayo 19, 2020 at 16:37
    39 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hmmm ya veo lo adjuntasteis… Pensaba que era una URL no entrecomillada pero debemos ir más allá:

    https://pandorafms.com/docs/index.php?title=Pandora:Documentation_es:Anexo_API_external

    Esa es la documentación a la API de Pandora FMS y en GitHub observo cómo utilizan código para concatenar valores e iniciar la conexión (simple prueba de conexión de curl):

    # Testing API url
    my $curl_execution = "'".$Config{'console_api_url'}."?op=get&op2=test&apipass=".$Config{"console_api_pass"}."&user=".$Config{"console_user"}."&pass=".$Config{"console_pass"}."'";
    
    my $exe_testing_api = `curl $curl_execution 2>/dev/null`;
    
    my @res_testing_api = split(',', $exe_testing_api);
    
    if ( $res_testing_api[0] ne 'OK' ) {
    
    logger(%Config, "Warning! The server does not have access to the API, this can trigger problems in the generation of reports and graphs.", 1);
    
    pandora_event (%Config, "Server does not have access to the API", 0, 0, 0, 0, 0, 'system', 0, $DBH);
    
    }
    

    Dentro de mi ignorancia, allí pienso yo puede haber una pista hacia vuestro estado que describís:

    https://github.com/pandorafms/pandorafms/blob/develop/pandora_server/bin/pandora_server

    my $curl_execution = “‘”.$Config{‘console_api_url’}.”?op=get&op2=test&apipass=”.$Config{“console_api_pass”}.”&user=”.$Config{“console_user”}.”&pass=”.$Config{“console_pass”}.”‘”;

    Y está correctamente todo entrecomillado (lo resalto en color verde), a eso me refería. Asumo que las variables ya están establecidas ($Config{‘console_api_url’} es la dirección del servidor -por defecto http://localhost/pandora_console/include/api.php, y así las demás no contienen valores nulos).

    En ambiente Windows podríamos probar (en un servidor réplica o copia, no en producción):

    my $curl_execution = “.$Config{‘console_api_url’}.”?op=get&op2=test&apipass=”.$Config{“console_api_pass”}.”&user=”.$Config{“console_user”}.”&pass=”.$Config{“console_pass”}.”;

    ( https://en.wikibooks.org/wiki/Perl_Programming/Strings#Single-quoted_strings )

    También asumo que curl está configurado en la ruta path de Windows (ver https://www.youtube.com/watch?v=OnO0XLCts9k ) , de hecho se ejecuta y lanza el error de que no puede resolver la dirección, pues claro, hay que “pasarle” los parámetros a curl.

    De mi parte queda averiguar dónde diantres explícitamente se lanza curl, solo para satisfacer mi curiosidad. Ahora bien leed y revisad todo lo referente a la API, eso para refrescar conocimientos (yo también lo voy a releer) , ¡tened feliz día!

  • muroz

    Member
    mayo 19, 2020 at 20:03
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hmmm ya veo lo adjuntasteis… Pensaba que era una URL no entrecomillada pero debemos ir más allá:

    https://pandorafms.com/docs/index.php?title=Pandora:Documentation_es:Anexo_API_external

    Esa es la documentación a la API de Pandora FMS y en GitHub observo cómo utilizan código para concatenar valores e iniciar la conexión (simple prueba de conexión de curl):

    # Testing API url
    my $curl_execution = "'".$Config{'console_api_url'}."?op=get&op2=test&apipass=".$Config{"console_api_pass"}."&user=".$Config{"console_user"}."&pass=".$Config{"console_pass"}."'";
    
    my $exe_testing_api = `curl $curl_execution 2>/dev/null`;
    
    my @res_testing_api = split(',', $exe_testing_api);
    
    if ( $res_testing_api[0] ne 'OK' ) {
    
    logger(%Config, "Warning! The server does not have access to the API, this can trigger problems in the generation of reports and graphs.", 1);
    
    pandora_event (%Config, "Server does not have access to the API", 0, 0, 0, 0, 0, 'system', 0, $DBH);
    
    }
    

    Dentro de mi ignorancia, allí pienso yo puede haber una pista hacia vuestro estado que describís:

    https://github.com/pandorafms/pandorafms/blob/develop/pandora_server/bin/pandora_server

    my $curl_execution = “‘”.$Config{‘console_api_url’}.”?op=get&op2=test&apipass=”.$Config{“console_api_pass”}.”&user=”.$Config{“console_user”}.”&pass=”.$Config{“console_pass”}.”‘”;

    Y está correctamente todo entrecomillado (lo resalto en color verde), a eso me refería. Asumo que las variables ya están establecidas ($Config{‘console_api_url’} es la dirección del servidor -por defecto http://localhost/pandora_console/include/api.php, y así las demás no contienen valores nulos).

    En ambiente Windows podríamos probar (en un servidor réplica o copia, no en producción):

    my $curl_execution = “.$Config{‘console_api_url’}.”?op=get&op2=test&apipass=”.$Config{“console_api_pass”}.”&user=”.$Config{“console_user”}.”&pass=”.$Config{“console_pass”}.”;

    ( https://en.wikibooks.org/wiki/Perl_Programming/Strings#Single-quoted_strings )

    También asumo que curl está configurado en la ruta path de Windows (ver https://www.youtube.com/watch?v=OnO0XLCts9k ) , de hecho se ejecuta y lanza el error de que no puede resolver la dirección, pues claro, hay que “pasarle” los parámetros a curl.

    De mi parte queda averiguar dónde diantres explícitamente se lanza curl, solo para satisfacer mi curiosidad. Ahora bien leed y revisad todo lo referente a la API, eso para refrescar conocimientos (yo también lo voy a releer) , ¡tened feliz día!

    Hola Jimmy,
    Gracias por tu ayuda.
    He detectado dos cosas a arreglar en la pagina de configuración general

    1.- El campo “Almacenamiento de adjuntos” no se guarda bien en la base de datos. Lo he solucionado temporalmente usando el carácter “/” en vez de “”. He guardado C:/PandoraFMS/Apache/htdocs/pandora_console/attachment en vez de C:PandoraFMSApachehtdocspandora_consoleattachment

    2.- El campo “Lista de IPs con acceso a la API” tampoco se guarda bien. Me ha tocado convertirlo a string y luego usar implode para generar la lista en el campo $config[‘attachment_store’]

    Voy a seguir con tus indicaciones e iré posteando lo que detecte.

  • Jimmy

    Moderator
    mayo 21, 2020 at 16:06
    39 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    ¡Qué bien, me alegra!

    Yo mientras tanto sigo estudiando lo de las particularidades de Perl en Windows, ahora bien pensaba que era yo solo en eso pero antes que mi persona a mucha gente le ha sucedido (en inglés llaman a “quirky” -estrafalario- al asunto), esto es lo que estoy leyendo:

    https://www.powershelladmin.com/wiki/Running_perl_one-liners_and_scripts_from_powershell

    cmd.exe seems to have a vague concept of quoting and strings

    ¡Tened un feliz día!