Seite wählen

Ergebnisse für " Azubiprojekt "

i-doit API

Als IT-Dienstleister bieten wir nicht nur Web Services oder Schulungen, sondern unter anderem auch Hosting an. Im Hosting-Bereich ist eine umfassende und geordnete IT-Dokumentation zwingend erforderlich um ein reibungsloses Arbeiten zu ermöglichen.  Als Lösung wird eine sog. CMDB (Configuration Management Database) eingesetzt, welche nicht nur als eine Inventarisierungs-Datenbank dient, sondern auch die gegenseitigen Abhängigkeiten der Objekte verwaltet. I-doit ist eine solche CMDB.
Seit der i-doit Version 1.8 ist die API kein Bestandteil der Pro-Version mehr und wird als separates Modul ausgeliefert welches frei verfügbar ist. Infolge dessen hab ich ein Azubiprojekt bekommen bei dem man die Funktionsweise einer API kennenlernen kann. Ich zeige im ersten Teil der i-doit API Serie wie man einen Request  über den curl – Befehl versendet.

Hat man die API über die Web GUI von i-doit konfiguriert kann man über folgende URL, welche an die Basis-URL angehängt wird, zugreifen:

/src/jsonrpc.php

Die Programmierschnittstelle kann auf Daten der CMDB über das JSON-Format zugreifen, d.h. es werden JSON-RPC Requests per HTTP-Post an i-doit geschickt und als JSON-RPC Response (mit HTTP-Header application/json) zurückgegeben. Somit kann man entweder über den curl – Befehl oder über einen RESTClient (z.B. als Firefox-Addon) die API ansprechen.
Ein beispielhafter Aufbau eines Request könnte folgendermaßen aussehen :

{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "cmdb.objects.read",
  "params": {
    "apikey": "random_key",
    "filter": {
      "type": "4"
    }
  }
}
  • jsonrpc – version: Da i-doit ausschließlich die Version 2.0 des RPC-Request untersützt
  • id: Ein optionaler skalarer Wert (True, False, String, Numer) welcher aber nicht Null sein darf. Lässt man diesen Parameter aus, so wird lediglich eine Mitteilung verschickt, sodass der Server keine Rückmeldung generiert
  • method: Die zu aufrufende Methode
  • params: Parameter welche an die Methode übergeben werden
curl -s --data '{"jsonrpc":"2.0","id":"1","method":"cmdb.objects.read","params": \
{"apikey":"random_key","filter":{"type":"4"}}}' \
--header "Content-Type: application/json" \
 | python -m json.tool

Mit diesem Request lesen wir alle Objekte in der CMDB aus welche dem Typ 4 (Rack) entsprechen:

{
  "id": "1",
  "jsonrpc": "2.0",
  "result": [{
    "cmdb_status": "6",
    "cmdb_status_title": "in operation",
    "created": "2018-01-05 11:32:13",
    "id": "33",
    "image": "https://example-idoit-web-gui.de/images/objecttypes/something.png",
    "status": "2",
    "sysid": "SYSID_[RANDOMNUMBER_3849274329]",
    "title": "RacknameXYZ",
    "type": "4",
    "type_group_title": "Infrastructure",
    "type_title": "Rack",
    "updated": "2018-01-11 13:38:09"
  },
  {
    ...
    ...
  }]
}

Um z.B. alle Informationen einer Kategorie eines Objektes auslesen zu können, benutzt man die Methode cmdb.category.read:

curl -s --data '{"jsonrpc":"2.0","id":"1","method":"cmdb.category.read","params": \
{"apikey":"random_key","objID":"1234","category":"C__CATG__MODEL"}' \
--header "Content-Type: application/json" \
 | python -m json.tool

Response:

{
  "id": "1",
  "jsonrpc": "2.0",
  "result": [{
    "description": "",
    "firmware": "",
    "id": "307",
    "manufacturer": {
      "const": null,
      "id": "5",
      "title": "Random_Manufacturer_Name",
      "title_lang": "Random_Manufacturer_Name"
    },
  "objID": "Uniqe-Object-ID",
  "productid": "",
  "serial": "1235265477457",
  "service_tag": "",
  "title": {
    "const": null,
    "id": "71",
    "title": "XYZ1234",
    "title_lang": "XYZ1234"
  }
  }]
}

Eine ausführliche Liste aller in i-doit benutzten Kategorien kann man unter folgendem URL-Anhang aufrufen:


Darüber hinaus kann man über die i-doit API nicht nur Daten aus einer CMDB herauslesen, sondern auch erstellen, aktualisieren oder löschen. Diese Methoden werde ich im Teil 2 dieser Serie abhandeln.
 
Quellen: i-doit Knowledge Base


May Snap 2018


Hello Sunshine!!
With the little shower from the dearly sky in May, Fabian talks about the release of Ubuntu 18.04 LTS „Bionic Beaver“. And there is so much more for you to discover: Get all infos about Updating with Ansible from Thomas. Keya invites all monitoring lovers to Be a Speaker at the OS Monitoring Conference 2018 and Tim reveales some useful tips and tricks: Change your AD Password easily via OWA.
Keya announces NETWAYS’s Upcoming Training #Summer 2018 and We are ready, Are you Ready for the OSCamp? – Find out more! Nicole gives a fun insight in her experiences with Icinga 2 in Noob vs. Icinga 2, while Jennifer shares her experience with Training with NETWAYS in Software development and why it is worth doing. David packs a Handful of (Vagrant) Boxes. Everyone at NETWAYS is clapping. What for? Daniel let’s you know more about the Power Challenge #1min.care. Or you can follow Sebastian on the Road to OpenStack.
Michael reports about Releasing our Git and GitLab Training as Open Source, and Gabriel compares Rocket.Chat vs Slack, while Afeef reveales what happened in the fun and informative Apprentice Project week 2018. Last but not least, Keya has one really important reminder for you: Grab your OSDC Ticket! Last tickets alert!
 

Keya Kher
Keya Kher
Marketing Specialist

Keya ist seit Oktober 2017 in unserem Marketing Team. Nach ihrer Elternzeit ist sie seit Februar 2024 wieder zurück, um sich speziell um Icinga-Themen zu kümmern. Wenn sie sich nicht kreativ auslebt, entdeckt sie andere Städte oder schmökert in einem Buch. Ihr Favorit ist “The Shiva Trilogy”.  

NETWAYS Review 2017 – Just Awesome

Ganz schön turbulent war’s 2017 bei NETWAYS. Nun beginnt endlich die besinnliche Zeit des Jahres.
Das nehmen wir als Anlass, das ganze Jahr nochmal Revue passieren zu lassen.
Zu allererst stand unsere Skifahrt auf dem Programm, diesmal sind wir alle mit einem riesigen Bus zur Hütte gefahren und hatten tolle, verschneite Tage, viel Sahne im Gesicht und einen Heidenspaß.
Weiter ging’s auch direkt mit dem Jahresmeeting mit vielen spannenden Neuigkeiten, leckerem Essen und der Info zu unserem Unternehmenssommerseminar auf Mallorca. Ein guter Start schonmal, fanden wir.
Schwupps stand auch schon das erste Event vor der Türe. Das Icinga Camp war wie immer herzerwärmend – Vielen Dank an die 140 Teilnehmer, die das Event immer wieder zu dem machen, was es ist!
Kurz danach kam sofort der nächste Schrei, unsere Software as a Service Plattform nws.netways.de ging online. Mittlerweile hat das NMS-Team bei NETWAYS neun super praktische Apps in die Plattform eingebaut, die darauf warten, euch euren Arbeitsalltag zu erleichtern. Das ganze Team hat einen super Job gemacht, wie wir finden.
Im Mai hatten wir neben einer weiteren wunderbaren OSDC in Berlin eine Schulungspremiere im Kesselhaus – wir freuen uns sehr, dass Graylog nun fester Bestandteil in unserem Schulungsportfolio ist.
Neben den Teamevents aller Abteilungen, dem Sommermeeting, der NETWAYS Grillfeier und der Azubiprojektwoche im Sommer, waren wir mit auf den Deutschen OpenStack Tagen in München und auch auf der OSBConf in Köln war NETWAYS natürlich am Start.
Auch unsere Developer waren sehr fleißig und es ist einiges passiert. Alle Projekte liegen nun beispielsweise auf Github, der Icinga Exchange wurde gestemmt, es gibt ein Puppet Modul und ein Dashing für Icinga 2. Auch in Elasticsearch und Graylog ging es voran. Noch dazu haben wir so viele Azubis wie nie zuvor im Development, weiter so! Besonders stolz sind wir in diesem Jahr darauf, dass wir 2017 deutlich mehr Request-Tracker Projekte und Consulting hatten, aber auch mehr Datenbanken!
Außerdem neu war der NETWAYS Monitor als erste eigens entwickelte Hardware in unserem NETWAYS Shop. Nebenbei wurden zusätzlich neun super interessante Webinare gestemmt, die Ihr alle im Archiv finden könnt. Außerdem waren wir auf der Cebit vertreten und konnten hier tolle Kontakte zu Braintower knüpfen. Ein besonderes Highlight war Christians erster OSMC-Talk, den er mit Bravour gemeistert hat.
Bei Twitter sehen wir hauptsächlich Essens- und Reisebilder unserer Consultants, aber was diese Herren das Jahr über alles leisten, ist schon beachtlich. Neben dem festen Bürotag, allerhand Schulungen (122 Trainingstage) und vielen, vielen Remote-Tagen waren unsere flotten Herren insgesamt 1126 Tage beim Kunden. Chapeau!
Im September hatten wir unser absolutes Highlight: #netwaysgoesmalle, dieser Hashtag sollte reichen.
Ehe man sich versah wurden die Tage dunkler und die Bräune der Haut wandelte sich wieder in gewohntes Gelbwurst-Weiß um – Also muss wohl die OSMC vor der Tür stehen. Unser absolutes Lieblings- Open Source Event. Dieses Jahr war die Konferenz von einer ganz besonders herzlichen und aufgeschlossenen Atmosphäre der Teilnehmer geprägt, wir sind immer noch ganz hin und weg und können’s kaum in Worte fassen. DAS WAR DER WAHNSINN!!! 
Das letzte Event nach den erstmals durchgeführten NETWAYS Startupdays war unsere eigene Weihnachtsfeier, auf der wir das Jahr gemütlich ausklingen lassen konnten und nochmal gemampft haben was das Zeug hält.
Nun bleibt uns nur, euch allen ein gesundes, erfolgreiches, neues Jahr 2018 zu wünschen.