Página 1 de 1

[RESUELTO] Registros de instalación de paquetes

Publicado: 2 de diciembre de 2024 - 16:38
por Emeric
Hola,

me gustaría recuperar los registros de la carpeta "Registros de instalación del paquete ***" para auditar mi infraestructura con mayor facilidad. El objetivo es crear un archivo CSV llamado "Máquina;Registros de instalación del paquete ***".

He intentado realizar esta operación mediante una consulta en el sistema de informes y también a través de la API, pero no he encontrado una solución.

Actualmente utilizo la versión Enterprise 2.2.0.11720.

Gracias de antemano por su ayuda.

Re: Registros de instalación de paquetes

Publicado: 2 de diciembre de 2024 - 17:27
por Jarnaud
Buen día,

Te puedo ofrecer esto:

Código: Seleccionar todo

SELECT
    h.computer_name AS Machine,
    h.computer_fqdn AS FQDN,
    p.name AS Package_Name,
    p.install_status AS Installation_Status,
    p.install_date AS Installation_Date,
    p.install_output AS Installation_Logs
FROM
    hostpackagesstatus p
JOIN
    hosts h
ON
    p.host_id = h.uuid
WHERE
    p.install_status IS NOT NULL
ORDER BY
    h.computer_name, p.install_date;
¿Eso te vendría bien?

Tuyo sinceramente

Re: Registros de instalación de paquetes

Publicado: 3 de diciembre de 2024 - 09:17
por Emeric
Hola Jarnaud, ¡

Genial, perfecto! 🙂

¿Es posible recuperar esta solicitud a través de la API? (No he visto esta función).

Algo así: https://wapt.myserveur.local/api/v3/reporting?id=3

Re: Registros de instalación de paquetes

Publicado: 3 de diciembre de 2024 - 10:44 a. m.
por Jarnaud
Hola Emeric,

Por supuesto que es posible.
https://www.wapt.fr/fr/doc/wapt-api.htm ... rting-exec

Código: Seleccionar todo

import os
import json
import logging
import waptlicences
import requests
import sys
sys.path.append('/opt/wapt')
from common import get_requests_client_cert_session
from common import Wapt



WAPT = Wapt()
ini_wapt_path = WAPT.config_filename
w = Wapt(config_filename=ini_wapt_path)

# WAPT Conf
wapt_url = w.waptserver.server_url

user = "reporting"
password = "password"


def run_report():

    t = waptlicences.waptserver_login(ini_wapt_path,user,password)
    session = get_requests_client_cert_session(wapt_url,
    cert=(t['client_certificate'],t['client_private_key'],t['client_private_key_password']),
    verify=w.waptserver.verify_cert
    )
    session.cookies.set(t['session_cookies'][0]['Name'], t['session_cookies'][0]['Value'], domain=t['session_cookies'][0]['Domain'])
    t= None


    url = f'{wapt_url}/api/v3/reporting_exec?id=19'
    response = session.get(url)
    data = response.json()

    return data['result']



print(run_report())

Te permitiré personalizar el nombre de usuario y la contraseña de un usuario del servidor WAPT.
Y debe reemplazar 2 con su número de consulta SQL (puede ver los ID de consulta SQL en la pestaña de informes en el panel izquierdo), por ejemplo:

Código: Seleccionar todo

url = f'{wapt_url}/api/v3/reporting_exec?id=2
Atentamente

[RESUELTO] Registros de instalación de paquetes

Publicado: 3 de diciembre de 2024 - 11:10
por Emeric
Muchas gracias, todo bien, cierro este ticket ;)

Re: [RESUELTO] Registros de instalación de paquetes

Publicado: 3 de diciembre de 2024 - 11:50 a. m.
por dcardon
Hola Emeric,

con respecto a tu versión de WAPT, la versión 2.2 ya no tiene soporte y lo mejor sería actualizar a la 2.5 o incluso a la 2.6. :-)

Saludos,

Denis