CMDB Export mit Verknüpfungen

Hilfe zu OTRS Problemen aller Art
Post Reply
Ronnenberg
Znuny newbie
Posts: 22
Joined: 05 Jan 2011, 10:44
Znuny Version: 6.0.8

CMDB Export mit Verknüpfungen

Post by Ronnenberg »

Hallo zusammen,

ich finde leider nicht wirklich viel zu dem Thema, dabei stell ich mir das eig. als grundlegende Funktion einer CMDB vor...

Ich benötige aus unserer CMDB eine Liste (CSV), welche CIs wir alle in einem bestimmten Gebäude haben.
Folgendermaßen ist unsere CMDB aufgebaut:

Location CI Gebäude --> Location CI Etagen --> Location CI Räume --> Computer/Hardware CIs (Monitore, Drucker, Telefone, Rechner etc.)
Dabei habe ich immer die "beinhaltet"-Verknüpfung benutzt.
Also Gebäude "Hauptgebäude" beinhaltet die Etagen EG, KG und OG. Jede Etage beinhaltet mehrere Räume und jeder Raum beinhaltet jede Menge CIs.

Angenommen, das Hauptgebäude brennt ab und die Versicherung möchte eine Liste sämtlicher Hardware, die dort drin stand... Wie kriege ich diese Liste aus der CMDB?

Oder anderer Fall:
Ich möchte eine Liste, welche Software in welcher Version auf welchen Servern installiert ist...

CI Software ist verlinkt mit CI Computer (Server).
Wie bekomme ich eine CSV, welche Software jetzt auf meinem Server installiert ist?

Ich habe bisher leider absolut nichts gefunden, wie ich verknüpfte CIs exportieren kann, erst recht nicht über mehrere Ebenen (wie das Beispiel mit den Gebäuden).

Meine SQL-Kenntnisse reichen leider nicht aus um das direkt auf der Datenbank zusammenzufummeln... Zumal ja andauernd neue Anfragen kommen nach irgendwelchen Daten aus der CMDB kommen.

Wo übersehe ich denn da was?

Viele Grüße
Ronnenberg
Znuny newbie
Posts: 22
Joined: 05 Jan 2011, 10:44
Znuny Version: 6.0.8

Re: CMDB Export mit Verknüpfungen

Post by Ronnenberg »

Okay, da sich niemand meldet gehe ich davon aus, dass es doch schwieriger ist als erwartet.
Aber ich habe die Zeit genutzt, um mich mit dem Datenmodell näher auseinander zu setzen und habe gleich meine SQL-Kenntnisse ein wenig aufgefrischt. Ich bin nun in der Lage, mir die CIs mit den gewünschten Attributen direkt aus der Datenbank zu ziehen.

Falls es jemanden interessiert:

Die benötigten Tabellen sind
- configitem
- configitem_version
- xml_storage
- link_relation

Da wir unsere CMDB erst noch mit Daten füttern müssen, habe ich hier als Beispiel einen SQL-Befehl, der zunächst nur sämtliche Räume eines bestimmten Gebäudes mit dem Attribut "Beschreibung", Name und CI-Nummer auswirft.
Das Beispiel ist natürlich noch nicht das, was ich wollte, aber das Prinzip wird deutlich. Anhand dieses Beispiels kann ich nun beliebige Abfragen programmieren die die verlinkten Objekte und deren Attribute abfragt.

Bitte prügelt nicht auf mich und meine mglws. miserable SQL-Syntax ein. Es ist schon ewig her dass ich mich das letzte Mal damit beschäftigt habe und auch damals war es nur rudimentär. Bin gerne für Verbesserungsvorschläge offen. Natürlich müssen später weitere Bedingungen (wie IDs der Klassen) noch hinterlegt werden

Name, Beschreibung, CI-Nummer zu allen Räumen in einem Gebäude:

select cv.name "Bezeichnung", x.xml_content_value "Beschreibung", c.configitem_number "CI-Nummer"
from xml_storage x, configitem_version cv, configitem c
where
c.last_version_id = cv.id and
x.xml_key = cv.id and
x.xml_content_key = "[1]{'Version'}[1]{'Note'}[1]{'Content'}" and
x.xml_type = "ITSM::ConfigItem::60" and
c.id in (
select lr.target_key
from link_relation lr, configitem c
where
lr.source_object_id = 3 and
lr.source_key = c.id and
c.id in (
select lr.target_key
from link_relation lr, configitem c
where
lr.source_object_id = 3 and
c.configitem_number = 9960000001 and
lr.source_key = c.id
)
)
order by 1
Post Reply