Seite 1 von 1

[GELÖST] Paketinstallationsprotokolle

Veröffentlicht: 2. Dez. 2024 - 16:38 Uhr
von Emeric
Hallo,

ich möchte die Protokolle der „Installationsprotokolle für Paket ***“ abrufen, um meine Infrastruktur einfacher prüfen zu können. Ziel ist es, eine CSV-Datei mit dem Namen „Maschine;Installationsprotokolle für Paket ***“ zu erstellen.

Ich habe versucht, dies sowohl über eine Abfrage im Berichtssystem als auch über die API zu realisieren, bin aber bisher nicht fündig geworden.

Ich verwende derzeit Enterprise Version 2.2.0.11720.

Vielen Dank im Voraus für Ihre Hilfe.

Betreff: Paketinstallationsprotokolle

Veröffentlicht: 2. Dez. 2024 - 17:27 Uhr
von Jarnaud
Guten Morgen,

Ich kann Ihnen Folgendes anbieten:

Code: Alle auswählen

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;
Würde Ihnen das passen?

Mit freundlichen Grüßen

Betreff: Paketinstallationsprotokolle

Veröffentlicht: 3. Dez. 2024 - 09:17 Uhr
von Emeric
Hallo Jarnaud,

super, das ist perfekt! 🙂

Kann man diese Anfrage über die API abrufen? (Ich habe diese Funktion noch nicht gesehen.)

Etwa so: https://wapt.myserveur.local/api/v3/reporting?id=3

Betreff: Paketinstallationsprotokolle

Veröffentlicht: 3. Dezember 2024 - 10:44 Uhr
von Jarnaud
Hallo Emeric,

Natürlich ist das möglich.
https://www.wapt.fr/fr/doc/wapt-api.htm ... rting-exec

Code: Alle auswählen

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())

Ich überlasse es Ihnen, den Benutzernamen und das Passwort eines WAPT-Serverbenutzers anzupassen.
Ersetzen Sie die 2 durch Ihre SQL-Abfragenummer (die SQL-Abfrage-IDs finden Sie im Berichts-Tab im linken Bereich), zum Beispiel:

Code: Alle auswählen

url = f'{wapt_url}/api/v3/reporting_exec?id=2
Beste grüße

[GELÖST] Paketinstallationsprotokolle

Veröffentlicht: 3. Dez. 2024 - 11:10 Uhr
von Emeric
Vielen Dank, alles in Ordnung, ich schließe dieses Ticket ;)

Betreff: [GELÖST] Paketinstallationsprotokolle

Veröffentlicht: 3. Dezember 2024 - 11:50 Uhr
von dcardon
Hallo Emeric,

bezüglich deiner WAPT-Version: Version 2.2 wird nicht mehr unterstützt. Es empfiehlt sich, auf Version 2.5 oder sogar 2.6 zu aktualisieren. :-)

Viele Grüße,

Denis