Hallo cnu,
hast du dir das Objekt Speichersystem
schon einmal angesehen?
Dieses Objekt wird bei uns verwendet um ein NAS abzubilden.
Grüße
Simon
Hallo cnu,
hast du dir das Objekt Speichersystem
schon einmal angesehen?
Dieses Objekt wird bei uns verwendet um ein NAS abzubilden.
Grüße
Simon
Danke, funktioniert.
Ich wusste ich habe da einen Denkfehler.
Hallo,
ich benötige Hilfestellung bei der Zuweisung von Ports zu einem logischen Port über die API. Irgendwie möchte mir das nicht gelingen. Weise ich die Ports manuell übers Web zu, funktioniert alles wie erwartet.
Lasse ich mir die manuell zugewiesenen Ports über die API ausgeben bekomme ich folgenden Datensatz:
{
"jsonrpc": "2.0",
"result": [
{
"id": "6",
"objID": "4111",
"title": "Po1",
"net": null,
"mac": "aa:bb:cc:dd:ee:ff",
"port_type": null,
"ports": [
{
"id": 1964,
"title": "Te1/0/1",
"type": "C__CMDB__SUBCAT__NETWORK_PORT"
},
{
"id": 1965,
"title": "Te1/0/2",
"type": "C__CMDB__SUBCAT__NETWORK_PORT"
}
],
"parent": [
],
"standard": null,
"active": {
"value": "1",
"title": "Yes"
},
"addresses": [
],
"assigned_connector": [
],
"description": "..."
}
],
"id": null
}
Meine Versuche die Ports dann über die API zuzuweisen scheitern allerdings allesamt und entfernen einfach die manuell zugewiesenen Ports. Die Auflistung der API_properties liefert zu den logischen Ports aktuell die folgende Beschreibung:
Logische Ports (C__CMDB__SUBCAT__NETWORK_INTERFACE_L)
Feldname | Key | Datentyp | Referenz | Optional |
---|---|---|---|---|
Bezeichnung | title | text | Ja | |
Netz(e) | net | int | Ja | |
MAC | mac | text | Ja | |
Typ | port_type | int | isys_netx_ifacel_type__id | Ja |
Zuweisung | ports | int | Ja | |
Eltern-Port | parent | int | isys_catg_log_port_list__id | Ja |
Standard | standard | int | isys_netp_ifacel_standard__id | Ja |
Aktiv | active | int | Ja | |
Hostadresse | addresses | int | Ja | |
Verbunden mit Anschluss | assigned_connector | int | Ja | |
Beschreibung | description | text_area | Ja |
Mein Ansatz sieht aktuell so aus:
{
"jsonrpc": "2.0",
"method": "cmdb.category.update",
"params": {
"apikey": "XYZ",
"objID": "4111",
"category": "C__CMDB__SUBCAT__NETWORK_INTERFACE_L",
"data": {
"id": "6",
"ports": [
{
"id": 1964
},
{
"id": 1965
}
]
}
}
}
Das ganze mit und ohne " beim id Wert.
Kann mich jemand in die richtige Richtung schubsen?
Grüße
Simon
Hallo Benjamin,
aktuell habe ich eine 1.10.1 open im Einsatz und eine 1.10.1 pro (30 Tage test).
Auf der open hatte ich noch die API 1.8 laufen und habe nun auf 1.9 aktualisiert.
Die angebotene API auf der Webseite der open ist die angebotene API Version 1.8.
Die Ausgabe aller Stacking
-Objekte funktioniert problemlos. Dabei bekomme ich die folgende Ausgabe:
{
"jsonrpc": "2.0",
"result": [
{
"id": "2331",
"title": "My little stack",
"sysid": "SYSID_1521562362",
"type": "90",
"created": "2018-03-20 16:33:51",
"updated": "2018-03-20 16:33:51",
"type_title": "Stacking",
"type_group_title": "Other",
"status": "2",
"cmdb_status": "6",
"cmdb_status_title": "in operation",
"image": "https:\/\/de0001sido10002\/images\/objecttypes\/empty.png"
},
...
],
"id": null
}
Auch gelingt mir nun die korrekte Ausgabe dieses einzel Objektes via:
{
"jsonrpc": "2.0",
"method": "cmdb.object.read",
"params": {
"apikey": "xy",
"objID": "2331",
"category": "C__OBJTYPE__STACKING"
}
}
So lange eine der beiden Kategorien angesprochen werden kann, hilft mir das.
Bei der Prüfung welche Kategorie die ID 90
hat, bekomme ich die folgende Ausgabe:
+------------------+-------------------------+
| isysgui_catg__id | isysgui_catg__const |
+------------------+-------------------------+
| 90 | C__CATG__ASSIGNED_CARDS |
+------------------+-------------------------+
Was an dieser Stelle nicht weiter tragisch ist, da sich die benötigten Kategorien nun, wie oben beschrieben,editieren lassen.
An dieser Stelle nochmal vielen Dank für die ausführliche Hilfestellung.
Grüße
Simon
Hallo Benjamin,
danke für den passenden Link in die Knowledge Base. Schade, dass die Zuordnung noch nicht geht.
Dann muss diese halt später folgen.
Ich hätte da noch ein Thema zur API das mir heute aufgefallen ist. Ich kann Objekte der Kategorie C__OBJTYPE__STACKING
(CatgID: 90) anlegen aber nicht auslesen. Beim Versuch bekomme ich den Fehler:
"error=Unable to find desired category with ID "90". Please check the delivered category ID and try again"
Im Handbuch der Knowledge Base (i-doit JSON-RPC 1.8.3.docx) ist noch die Rede von der C__CATG__STACKING
.
Auf der Serveransicht der Objektkategorien unter https://hostname/index.php?load=api_properties wird STACKING
gar nicht gelistet.
Befindet sich diese Kategorie gerade im Umbau?
Gibt es eine andere elegante Möglichkeit gestackte Switche als solche zu dokumentieren?
Grüße
Simon
Hallo,
ich experimentiere gerade ein wenig mit der API und bin mir gerade nicht sicher ob die Dinge die ich vor habe nicht möglich sind, oder ich es nur falsch probiere. Ich würde gerne neue Objekte anlegen und dabei dann natürlich auch in der Modell Kategorie den entsprechenden Hersteller und den zugehörigen Modelltyp dokumentieren.
Wenn die Modelle schon existieren ist das auch erstmal kein Problem. Mein Problem bezieht sich auf die Erstellung von noch nicht existierenden Modellen die ich gerne den Herstellern zuordnen möchte. Wenn ich die Modelle über die API nur mit Ihrem Titel anlege, sind diese unfertig und es fehlt die Zuordnung zum Hersteller.
Über ein cmd.dialog.read der entsprechenden Modelle bekomme ich leider nur die spalten "id, const, title".
{
"jsonrpc":"2.0",
"result": [
...,
{
"id": "7",
"const": "",
"title": "Modelltitel"
}
],
"id":null
}
Für den API connect verwende ich die Powershell und für die Erstellung der Modelle folgenden body:
{
"jsonrpc": "2.0",
"method": "cmdb.dialog.create",
"params": {
"apikey": "xy",
"category": "C__CATG__MODEL",
"property": "title",
"value": "Modelltitel"
}
}
In i-doit sieht dies dann so aus:
Kann ich über die API Modelle korrekt zuordnen und wenn ja wie mache ich dies?
Hello kaitoukid,
here is the way i have done it:
Base installation
Install CentOS in Infrastructure Mode
yum install -y open-vm-tools mc
yum -y updateInstall MySQL
yum -y install mariadb-server mariadb
systemctl start mariadb.service
systemctl enable mariadb.service
mysql_secure_installationInstalling Apache2
yum -y install httpd
#Now configure your system to start Apache at boot time…
systemctl start httpd.service
systemctl enable httpd.serviceCustomizing Firewall to allow external access to port 80 (http) and 443 (https).
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reloadInstalling PHP5
yum -y install php
We must restart Apache afterwards:
systemctl restart httpd.service
Testing PHP5 / Getting Details About Your PHP5 Installation
#The document root of the default web site is /var/www/html. We will now create a small PHP file (info.php) in that directory and call it in a browser. The file will display lots of useful details about our PHP installation, such as the installed PHP version.
vi /var/www/html/info.phpphpinfo();
?>Now we call that file in a browser (e.g. http://yourserver/info.php
As you see, PHP5 is working, and it's working through the Apache 2.0 Handler, as shown in the Server API line. If you scroll further down, you will see all modules that are already enabled in PHP5. MySQL is not listed there which means we don't have MySQL support in PHP5 yet.
Getting MySQL Support In PHP5
yum -y install php-cli php-xmlrpc php-ldap php-gd php-mysql php-bcmath
systemctl restart httpd.serviceNow reload http://yourserver/info.php in your browser and scroll down to the modules section again. You should now find lots of new modules like curl etc there.
i-doit installation
create a folder in Apache webroot and enter it
mkdir /var/www/html/i-doit
cd /var/www/html/i-doitget the idoit-open-1.4.7.zip and extract it
wget http://sourceforge.net/projects/i-doit/files/i-doit/1.4.7/idoit-open-1.4.7.zip
unzip idoit-open-1.4.7.zipoptional remove the zip file
rm idoit-open-1.4.7.zip
to install or update add execute to the shell script and run it.
chmod +x idoit-rights.sh
./idoit-rights.sh setin the folder “/etc/httpd/conf.d” you need to create a file named “i-doit.conf” open it with vi and add the following content:
vi i-doit.conf
<directory var="" www="" html="" i-doit="">AddHandler php-script .php
Action php-script /cgi-bin/php5
Options ExecCGI Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all</directory>disable SELinux and
sed -i 's/enforcing/disabled/g' /etc/selinux/config /etc/selinux/config
reboot#or try to make '/var/www/html/i-doit/' writeable
chmod 777 /var/www/html/i-doit/
yum -y install policycoreutils-python
semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/i-doit(/.*)?'
restorecon -R /var/www/html/i-doitchange the mysql options
vi /etc/my.cnf
add after [mysqld] the following values and restart service or reboot
max_allowed_packet=32M
query_cache_limit=4Mnow you can start the installation via http://yourserver/i-doit/
to set the operating rights, you have to run
./idoit-rights.sh unset
if you want to update your system to i-doit 1.4.8 open you need the following commands
./idoit-rights.sh set
wget http://sourceforge.net/projects/i-doit/files/i-doit/1.4.8/idoit-open-1.4.8-update.zip
unzip idoit-open-1.4.8-update.zip to the /update folder and start the update via website
when you finished the update don't forget to send the system back into operating mode
./idoit-rights.sh unset
I hope you get the system running that way.
Hallo Maurice,
klicke mal auf das Auge neben der Lupe. So wie es für mich aussieht blendest du momentan alle leeren Objekttypen aus.
Grüße,
daffodil
Hi Montt,
hast du auf der OTRS Seite das Plugin installiert?
Wenn NEIN:
https://bitbucket.org/synetics/otrs-opm-referenceidoitobjects
Eine recht gute Erklärung zum Einrichten der Schnittstelle hat Quentitux hier im Forum gepostet:
http://forum.i-doit.org/index.php/topic,3471.msg11469.html#msg11469
Wenn JA:
hast du es schon mit einem AJAX Proxy versucht?
ReferenceIDoitObjects::API
Please be aware of browsers' Same Origin Policy! This module uses AJAX requests access i-doit's API. If OTRS and i-doit are not available under the same domain name (or IP address), AJAX calls will fail.
To avoid this "problem" (actually this policy is very useful) you can setup an AJAX proxy. This module already provides such a proxy located in the project repository under scripts/i-doit_api_proxy.php. It's written in PHP, so you have to install PHP 5.4 or higher and the PHP extension curl on the same machine where OTRS is installed. Make this little script available through your Web server and edit the script by setting $l_url to the URL of i-doit's API, e. g.
http://example.org/i-doit/index.php?api=jsonrpc
In OTRS' site configuration ReferenceIDoitObjects::API has to be set to this script, e. g.
http://otrs.example.org/path/to/i-doit_api_proxy.php
Note: You may test the proxy by simple calling it via your Web browser. It should display an error describing this is not a proper API call.
Gruß
daffodil
Hi Oliver,
ich habe die 1.4.8 open von SuSe auf CentOS umgezogen. Dazu habe ich die beiden Datenbanken komplett übernommen.
Bei dem Umzug habe ich die folgenden Punkte festgehalten die mir Probleme gemacht haben.
1. Der Webserverpfad muss angepasst werden.
In der DB idoit_system
Table isys_settings
Spalte isys_settings__value
system.dir.file-upload
system.dir.image-upload
2. Der Host für den Mandanten muss aktualisiert werden.
In der DB idoit_system
Table isys_mandator
Spalte isys_mandator__db_host
Am besten du prüfst die Stellen mal um sicherzugehen, dass da keine falschen Pfade hinterlegt sind.
Gruß,
daffodil
Ich hätte den Bug vom 2. Punkt heute mal im Demo System nachgestellt mit dem Objekt "Switch-03".
Das Phänomen taucht übrigens nicht mit der PRO Version auf. Vielleicht wurde das da in der Vergangenheit schon gefixt. In dem Fall wäre es super wenn ihr die Moduldatei/en benennen könntet die das Monitoring verwendet um unter anderem den Hostnamen auszulesen.
Dann würde ich da selbst mal schauen ob ich schlau draus werde.
Grüße,
daffodil
Hallo jkondek,
beim 2. Punkt vermute ich irgend eine konvertierung (bewusst oder unbewusst) in der NDO Abfrage.
Der Titel des Objekts wird überall so dargestellt wie in der Datenbank hinterlegt, außer bei der Auswahl zum Monitoring.
Die Abfrage für das Monitoring verwendet dann auch offensichtlich den Namen mit Unterstrich, da die Abfrage zu keinem Ergebnis führt.
Hier ein paar Bilder anhand eines Testobjekts:
Datenbankeinträge:
i-doit Monitoring:
i-doit Object:
Als Workaround verwende ich momentan den Host-Namen.
Vielleicht hilft das zum Verständnis oder beim Nachstellen.
Gruß,
daffodil
hi jkondek,
das Suchfeld auf das ich mich beziehe ist dieses hier:
Ich habe jetzt noch einmal versucht den Fehler in meinem System nachzustellen und kann da nur noch einen "Fehler?" bei der Suche mit dem Filter Objectlink feststellen, nicht mehr mit allen Filtern.
Dieser äußert sich wie folgt:
Suche ich beispielsweise mit dem Filter Objectlink (egal ob direkt oder erst auf anderen Filter gewechselt und wieder zurück) in den virtuellen Servern nach dem Eintrag "66", werden mir sowohl Objekte angezeigt bei dem diese Zahl in der ID vorkommt als auch Objekte bei denen dieser Wert im ersten Moment nicht erkennbar vorkommt (bspw. nicht in der ID, dem Titel, der SYSID oder ähnlichem.)
Dieses Ereignis kann ich auch in der Demo reproduzieren:
Suche in "Virtual Server" Filter "Objectlink" Wert "30".
Ergebnis:
Es wird der Server VM-Server 03 angegeben mit der ID 1181 und auch dort ist nirgendwo erkennbar eine 30 enthalten.
bei einer Suche nach "36" kommt der Server "Demo Server PP".
Danke für die prompte Hilfe.
Gruß,
daffodil
Nachdem sich Punkt 3 so schnell klären ließ, hat noch jemand Lösungen und/oder Ideen für die ersten beiden Punkte und/oder die Fragen?
Hi jkondek,
ah, danke. Also Feature, kein Bug.
Gruß
daffodil
Hallo,
ich verwende seit ein paar Wochen die open Version und bin gerade dabei die Datenbank zu befüllen. Dabei sind mir einige Bugs über den Weg gelaufen, die ich hier gerne mitteilen möchte.
1. der Filter für das untere Suchfeld funktioniert nicht. Der zu suchende Wert wird immer in allen Spalten gesucht, egal welchen Filter man angibt.
2. Verknüpft man ein Objekt mit einem NDO basierten Monitoring System anhand des Objekt Titels, ersetzt dieser schon in der Anzeige ein "-" stets mit einem "_". Bei der Verwendung des Hostnamens passiert dies nicht, auch ist in der Datenbank der Titel korrekt mit einem "-" hinterlegt.
3. Bestimmte Eigenschaften können für ein neues Objekt nicht vergeben werden, wenn ein altes Objekt diese Werte bereits besitzt. Auch dann nicht wenn das alte Objekt auf "Archiviert" oder "Deleted" geändert wurde. Dies macht es bei einem Gerätetausch unmöglich das neue Gerät korrekt zu erfassen, wenn man es unter dem selben Namen und / oder der selben IP-Adresse verwenden möchte und das alte Gerät in der Datenbank erhalten bleiben soll. Die Werte die mir bisher aufgefallen sind: "Titel", "IP-Adresse", "Host Name".
Besteht die Aussicht auf ein Bugfix oder ist die open einfach immer nur ein beschnittener dump einer aktuellen Pro-Version?
Wie steht es um die ausstehende Entscheidung die open Version in ein öffentliches Repository zu committen?
Hallo,
ich verwende eine frisch installierte i-doit 1.4.8 open Version und habe ein paar Fragen zur Einbindung der NDO unseres bestehenden Nagios Systems.
Die Verbindung habe ich jetzt mal über die Administration eingerichtet, habe aber keine Ahnung ob ich jetzt noch irgendwo anders etwas einrichten muss. Ehrlich gesagt bin ich ein wenig verwirrt über die Dokumentation die ich bisher zu i-doit finden konnte. Im Handbuch ist die Rede von "Modulen", allerdings kann ich diesen Reiter nirgendwo im Programm finden. Beispielsweise ist im Handbuch zur NDO Einrichtung folgendes zu lesen:
3.7.1 Statusdaten auslesen
…
Die Zugangsdaten zur NDO-Datenbank können i-doit unter Module->Nagios->NDO
MySQL Server bekannt gemacht werden.
Tatsächlich habe ich die Einrichtung jedoch hier vorgenommen:
Administration -> Interfaces / External Data -> Monitoring -> livestatus / NDO
Nicht ganz klar ist mir an dieser Stelle ob ich in i-doit die komplette Konfiguration der Host- und Servicechecks erneut vornehmen muss und diese im Anschluss doppelte Pflege erfordern. Für mich liest sich das zumindest aus den folgenden Kapiteln so. Vielleicht kann mir hier jemand Klarheit verschaffen.
Dann ist mir aufgefallen, dass viele Dokumentationen noch immer auf die alte Version 0.9.9x verweisen, wie beispielsweise das Wiki. Ist hier geplant die Informationen auf einen aktuellen Stand zu bringen oder soll das alles über die Akademie erschlagen werden?
Abschließend hätte ich noch eine Frage zu einem öffentlichen Repository. Im November 2013 wurde bereits gefragt ob so etwas in Planung ist, im Sommer gab es eine Aussage, dass dies aktuell noch nicht entschieden wurde. Gab es hierzu mittlerweile eine Entscheidung?