Das Menü auf der linken Seite des klassischen Web-Interface enthält Eintrage, die einen schnellen Zugriff auf die Informationen bieten, die die meisten Leute benötigen. Sie können diese Parameter ändern oder auch andere Optionen wählen. Einige CGIs benötigen einen Objekttyp ("host", "hostgroup", "service" oder "servicegroup"), oftmals gefolgt von einer oder mehreren Optionen. Der beste Weg ist es, einen Blick auf die existierenden URLs zu werden und sie Ihren Bedürfnissen anzupassen.
Nachfolgend finden Sie eine Tabelle mit den Parametern und den CGIs, die sie anbieten. Die Namen der CGIs sind abgekürzt (damit die Tabelle nicht so breit wird). Eine Erklärung der Abkürzungen zusammen mit einem Hinweis auf den Source-Code finden Sie hier.
Nach dieser Tabelle folgt eine Erklärung der Parameter (in Bearbeitung).
Anstelle ihres Browsers können sie die CGIs auch auf der Kommandozeile ausführen, und deren Ergebnisse mit anderen Tools verarbeiten.
Um einen ersten Eindruck zu erhalten, wechseln Sie in den Ordner mit den *.cgi Dateien (z.B. /usr/local/icinga/sbin
),
setzen Sie einige Umgebungsvariablen und führen Sie eines der CGIs aus.
$> export REMOTE_USER=icingaadmin # or choose the appropriate user $> export REQUEST_METHOD='GET' # if you enter queries $> export QUERY_STRING='host=all' # see the tables below $> ./status.cgi
Abhängig von der Anzahl von Hosts wird diese viele HTML Zeilen liefern. Für die meisten Leute ist es schwierig, dazwischen die Informationen herauszulesen, also sollten Sie"&csvoutput" oder "&jsonoutput" zum QUERY_STRING mit anderen Argumenten hinzufügen.
Setzen Sie QUERY_STRING wie erforderlich und führen Sie das CGI aus.
Falls Sie eine Umgebungsvariable vergessen haben, werden Sie folgende Zeilen sehen:
$> ./status.cgi getcgivars(): Unsupported REQUEST_METHOD -> '' I'm guessing you're trying to execute the CGI from a command line. In order to do that, you need to set the REQUEST_METHOD environment variable to either "GET", "HEAD", or "POST". When using the GET and HEAD methods, arguments can be passed to the CGI by setting the "QUERY_STRING" environment variable. If you're using the POST method, data is read from standard input. Also of note: if you've enabled authentication in the CGIs, you must set the "REMOTE_USER" environment variable to be the name of the user you're "authenticated" as.
Mehr Beispiele finden Sie here.
Sie können status.cgi
benutzen, um Objekte mit einem oder mehreren "Statustypen" (hoststatustype /
servicestatustype) und mit bestimmten Eigenschaften (hostprops / serviceprops) anzuzeigen. Jeder Statustyp / jede Eigenschaft wird durch
eine Zahl identifiziert (die hier und hier am Ende
des Abschnitts zu finden sind). Bitte addieren Sie die entsprechenden Zahlen und setzen die resultierende Summe jeweils bei der Option
ein.
Das Beispiel zeigt alle Services im nicht-OK-Zustand, die weder in einer Ausfallzeit (downtime) sind noch bestätigt (acknowledged) wurden:
http://localhost/icinga/cgi-bin/status.cgi?host=all&servicestatustypes=29&serviceprops=10
"29" enthält auch "PENDING" Services (die seit dem Start noch nicht geprüft wurden).
![]() |
Anmerkung |
---|---|
Bitte beachten Sie, dass "properties" nur die Objekte anzeigt, die ALLE Bedingungen gleichzeitig erfüllen, während bei "statustypes" nur EINE Bedingung erfüllt sein muss (kann). |
Einzelheiten zu den Parametern
Mehr Informationen zu den einzelnen Parametern finden Sie nachfolgend. Für ein tiefergehendes Verständnis sollten Sie einen Blick auf den Source-Code werfen.
Parameter | Beschreibung | Mögl. Werte | Beispiel | Anmerkungen |
---|---|---|---|---|
ahas | Der Befehl beeinflusst den Host und seine Services | ahas | ||
alerttypes | Host- und/oder Service-Alarme anzeigen | 1=Host-Alarme; 2=Service-Alarme; 3=Host- und Service-Alarme | alerttypes=3 | |
assumeinitialstates | yes; no | |||
assumestatesduringnotrunning | yes; no | |||
assumestateretention | yes; no | |||
attr | Zurücksetzen der modifizierten Attribute und keine Veränderungen mehr zulassen | 0 | attr=0 | siehe [4] |
backtrack | Wieviele Archiv-Log-Dateien sollen durchsucht werden, um den initialen Zustand zu ermitteln | 0-n | backtrack=1 | Bitte beachten Sie, dass die Verarbeitung der Archivdateien eine Weile dauern kann |
breakdown | Aufteilen der Daten nach Zeitbereich | 0=monatlich; 1=Tag des Monats; 2=Tag der Woche; 3=stündlich | breakdown=2 | |
broadcast_notification | Benachrichtigung an alle Kontakte versenden ("non-escalated" und "escalated") | broadcast_notification | ||
childoptions | Ausfallzeitbehandlung für abhängige Hosts | 0=ohne Berücksichtigung von abh. Hosts; 1="triggered downtime" für abh. Hosts planen; 2="non-triggered downtime" für abh. Hosts planen | childoptions=1 | |
cmd_mod | Command mode | |||
cmd_typ | Command type | 0 - 169, 999 | cmd_typ=160 | Einzelheiten siehe .../include/common.h |
columns | Anzahl von Übersichtsspalten | >= 1 | Default ist 3 | |
com_author | Autor des Kommentars | ein gültiger Benutzer | com_author=icingaadmin | Kann ggf. von der Einstellung von "lock_author_names" in cgi.cfg abhängen |
com_data | Inhalt des Kommentars | eine Zeichenkette (urlencoded) | ||
com_id | Id des Kommentars | |||
contact | Ein gültiger Kontakt als Mail-Empfänger | |||
createimage | createimage | |||
csvoutput | Ob die Ausgabe im CSV-Format sein soll | yes;no | Diese Option setzt automatisch "noheader". In fast allen CGIs verfügbar (siehe [2]) | |
displaytype | Typ der Alarmauswertung | 1=recent alerts; 2=alert totals; 3=top alerts; 4=hostgroup alert totals; 5=host alert totals; 6=service alert totals; 7=servicegroup alert totals | ||
down_id | ID der Ausfallzeit | |||
eday | Ende des maßgeschneiderten Zeitfensters (Tag) | Nur gültig bei "maßgeschneiderten" Zeitfenstern | ||
ehour | Ende des maßgeschneiderten Zeitfensters (Stunde) | Nur gültig bei "maßgeschneiderten" Zeitfenstern | ||
embedded | verschiedenen HTML-Code und SSI-header/footer weglassen | embedded | ||
emin | Ende des maßgeschneiderten Zeitfensters (Minute) | Nur gültig bei "maßgeschneiderten" Zeitfenstern | ||
emon | Ende des maßgeschneiderten Zeitfensters (Monat) | Nur gültig bei "maßgeschneiderten" Zeitfenstern | ||
end_time | Endzeit der festen Ausfallzeit | Format "MM-DD-YYYY HH:MI" | ||
esec | Ende des maßgeschneiderten Zeitfensters (Sekunde) | Nur gültig bei "maßgeschneiderten" Zeitfenstern | ||
eyear | Ende des maßgeschneiderten Zeitfensters (Jahr) | Nur gültig bei "maßgeschneiderten" Zeitfenstern | ||
fixed | Feste oder flexible Ausfallzeit | 0=flexible, >0=fixed | ||
force_check | Die Service-Prüfung wird erzwungen | forcecheck | ||
force_notification | Benachrichtigung ungeachtet von Restriktionen versenden (Zeitfenster oder andere) | force_notification | ||
full_log_entries | Vollständige oder gekürzte Log-Eintrage anzeigen | full_log_entries | Default ist gekürzte Ansicht | |
get_date_parts | maßgeschneiderte Zeitbereiche ermitteln | get_date_parts | ||
graphevents | Welche Objekte in welchem Zustand dargestellt werden sollen | graphevents=112 (alle Service-Probleme) | Ein logisches ODER von: 1=Host up; 2=Host down; 4=Host unreachable; 8=Service OK; 16=Service Warning; 32=Service Unknown; 64=Service Critical | |
graphstatetypes | Hard- und/oder Soft-Zustande darstellen | 1=Soft-states; 2=Hard states; 3=Hard- und Soft-states | graphstatetypes=3 | |
host | Alle Hosts oder einen bestimmten Host auswählen, dessen Service angezeigt werden sollen | all; <host name> | host=monitor | Spezielle Zeichen im Namen müssen kodiert werden ("urlencoded", z.B. "%20" statt eines Leerzeichens) |
hostgroup | Alle Hostgruppen oder eine bestimmte Hostgruppe auswählen, deren Hosts und Services angezeigt werden sollen | all; <hostgroup name> | hostgroup=linux-boxes | Spezielle Zeichen im Namen müssen kodiert werden ("urlencoded", z.B. "%20" statt eines Leerzeichens) |
hostprops | Alle Hosts auswählen, die dem angegebenen Bitmuster entsprechen. Bitte beachten Sie, dass die Hosts ALLE angegebenen Bedingungen entsprechen müssen | hostprops=131088 (aktive Prüfungen, die deaktiviert sind) | Ein logisches ODER der Bedingungen, die in include/cgiutils.c angegeben sind [1] (HOST AND SERVICE FILTER PROPERTIES) | |
hoststates | Der Zustand, in dem der Host sein sollte | 1 - 7 | hoststates=3 (Hosts in einem Problemzustand) | Ein logisches ODER der Zustände: 1=DOWN; 2=UNREACHABLE; 4=UP |
hoststatustypes | Der Zustand, in dem der Host sein sollte | 1 - 15 | hoststatustypes=12 (Hosts in einem Problemzustand) | Ein logisches ODER der Zustände: 1=Pending; 2=Up; 4=Down; 8=Unreachable |
hours | Dauer der flexiblen Ausfallzeit in Stunden (siehe "minutes") | >= 0 | Nur gültig für flexible Ausfallzeiten | |
includesoftstates | "soft"-Zustände einschließen | yes; no | includesoftstate=yes | Default: "soft"-Zustände nicht berücksichtigen |
initialassumedhoststate | ||||
initialassumedservicestate | ||||
initialstateslogged | ||||
input | ||||
item_name | Suche nach exakter Übereinstimmung der angegebenen Zeichenkette (für regex-Suche siehe search_string) | item_name=localhost | [5] | |
jsonoutput | Ob die Ausgabe im json-Format sein soll | yes;no | Diese Option setzt automatisch "noheader". In fast allen CGIs verfügbar (siehe [2]) | |
limit | max. Anzahl von anzuzeigenden Einträgen pro Seite | 1-n | limit=10 | Nutzbar für Paging-Fähigkeit [5], ausgenommen summary.cgi, default=25. |
minutes | Dauer der flexiblen Ausfallzeit (siehe "hours") | >= 0 | ||
navbarsearch | ||||
newstatesonly | Nur "neue" Zustände anzeigen | yes; no | newstatesonly=yes | Default: alle Zustände anzeigen |
nodowntime | Ausfallzeiten nicht anzeigen | nodowntime | ||
noflapping | "Flatter"-Alarme nicht anzeigen | noflapping | ||
nofrills | Don't display frills (?) | nofrills | ||
noheader | Globale Statusinformationen weglassen und nur Status-Details anzeigen | noheader | ||
not_dly | Benachrichtigung um n Minuten verzögern | >= 0 | ||
notimebreaks | Don't display timebreaks (?) | |||
nosystem | Keine Systemmeldungen anzeigen | nosystem | Default: Systemmeldungen (des Icinga-Prozesses) anzeigen | |
oldestfirst | Sortierreihenfolge umdrehen | oldestfirst | Default: aktuelle Einträge zuerst anzeigen; siehe [6] | |
order | Sortierreihenfolge festlegen | old2new / new2old | order=old2new | Default: aktuelle Einträge zuerst anzeigen; siehe [5] |
performance_data | Die als Performance-Daten zu sendende Zeichenkette | |||
persistent | Der Kommentar ist persistent, wenn diese Option gesetzt ist | persistent | ||
plugin_output | Die als Plugin-Output zu sendende Zeichenkette | Die Länge ist begrenzt durch den Wert von MAX_INPUT_LENGTH (festgelegt während des Compile-Vorgangs) | ||
plugin_state | Zustand des Plugins festlegen | 0=OK; 1=Warning; 2=Critical; 3=Unknown | plugin_state=2 | |
ptc | Der Befehl wird an abhängige Hosts propagiert | ptc | ||
report | Report erzeugen | report | ||
report_type | Reporttyp auswählen | hostgroups; servicegroups; hosts; services | report_type=hostgroups | |
rpttimeperiod | Angeben eines Zeitfensters, die für den Availability-Bericht benutzt wird | Eins der definierten Zeitfenster | Benutzen Sie den Kurznamen der Zeitfenster-Definition | |
sched_dly | Befehlsausführung um n Minuten verzögern | >= 0 | ||
sday | Start des maßgeschneiderten Zeitfensters (Tag) | |||
search_string | Suche nach der angegebenen Zeichenkette mit Hilfe von regulären Ausdrücken | [5] | ||
send_notification | Eine Benachrichtigung für die Bestätigung senden | 0=disabled, 1=enabled (default) | send_notification | [5] cmd.cgi erfordert 0|1 Werte, wenn nicht gesetzt, wird 1 als Standard verwendet. Siehe auch Bug #2926 für weitere Informationen. |
service | Alle oder einen bestimmten Service auswählen, der angezeigt werden soll | all; <service description> | service=PING | Spezielle Zeichen im Namen müssen kodiert werden ("urlencoded", z.B. "%20" statt einen Leerzeichens) |
servicefilter | Nur Service selektieren, deren Beschreibung auf das angegebene Muster passt | servicefilter=Current; servicefilter=[PL] | Das Muster ist abhängig von Groß-/Kleinschreibung. Reguläre Ausdrucke scheinen bis zu Icinga 1.6 zu funktionieren. Siehe search_string | |
servicegroup | Alle oder eine bestimmte Servicegruppe auswählen, deren Hosts und Services angezeigt werden sollen | all; <servicegroup name> | servicegroup=disk | Spezielle Zeichen im Namen müssen kodiert werden ("urlencoded", z.B. "%20" statt einen Leerzeichens) |
serviceprops | Alle Services auswählen, die dem angegebenen Bitmuster entsprechen. Bitte beachten Sie, dass die Services ALLE angegebenen Bedingungen entsprechen müssen | serviceprops=131088 (aktive Prüfungen, die deaktiviert sind) | Ein logisches ODER der Bedingungen, die in include/cgiutils.c angegeben sind [1] (HOST AND SERVICE FILTER PROPERTIES) | |
servicestates | Zustand, in dem die Services sein sollten | servicestates=56 (Services in einem Problemzustand) | Ein logisches ODER der Zustände: 8=Warning; 16=Unknown; 32=Critical; 64=OK | |
servicestatustypes | Zustand, in dem die Services sein sollten | 1 - 31 | servicestatustype=28 (services in problem state) | Ein logisches ODER der Zustände: 1=Pending; 2=OK, 4=Warning; 8=Unknown; 16=Critical |
service_divisor | Wichtigkeit der Service in Relation zu Hosts | >=1 | Services sind 1/n so wichtig wie Hosts. Default: n=4 | |
shour | Start des maßgeschneiderten Zeitfensters (Stunde) | Nur gültig für flexible Ausfallzeiten | ||
showscheduleddowntime | Geplante Ausfallzeiten anzeigen | yes; no | Default: yes | |
show_log_entries | Log-Eintrage anzeigen | show_log_entries | Default: keine Log-Einträge anzeigen | |
smin | Start des maßgeschneiderten Zeitfensters (Minute) | Nur gültig für flexible Ausfallzeiten | ||
smon | Start des maßgeschneiderten Zeitfensters (Monat) | Nur gültig für flexible Ausfallzeiten | ||
sortoption | Angeben der Spalte, nach der sortiert werden soll | 1-n | sortoption=3 | Default ist Spalte 1 |
sorttype | Sortierrichtung für die Spalte, die über "sortoption=<n>" angegeben wurde | 1=ascending; 2=decending | sorttype=2 | |
ssec | Start des maßgeschneiderten Zeitfensters (Sekunde) | Nur gültig für flexible Ausfallzeiten | ||
standardreport | Standard-Report | 1=recent alerts; 2=recent host alerts; 3=recent service alerts; 4=top host alert producers; 5=top service alert producers | ||
start | Ergebniszähler | [5] Nutzbar für Paging-Fähigkeit | ||
start_time | Start der festen Ausfallzeit | Format "MM-DD-YYYY HH:MI" (kann ggf. von Ihren Ländereinstellungen abhängen, das ist aber unklar) | ||
statetype | Hard- und/oder Soft-states | 0=Hard- und Soft-states; 1=Soft-states; 2=Hard-states | statetype=2 | |
statetypes | Hard- und/oder Soft-states | 1=Soft-states; 2=Hard-states; 3=Hard- und Soft-states | statetypes=2 | |
sticky_ack | Die Bestätigung ist "sticky" | 0=disabled, 1=enabled (default) | sticky_ack | [5] cmd.cgi erfordert 0|1 Werte, wenn nicht gesetzt, wird 1 als Standard verwendet. Siehe auch Bug #2926 für weitere Informationen. |
style | Angabe der anzuzeigenden Informationen | overview; detail; summary; grid; hostdetail | Trifft nur auf die Objekttypen "hostgroups" und "servicegroups" zu; hostdetail=host status details; detail=service status details; summary=status summary; grid=status grid; | |
syear | Start des maßgeschneiderten Zeitfensters (Jahr) | Nur gültig für flexible Ausfallzeiten | ||
t1 | Startpunkt eines maßgeschneiderten Zeitfensters | t1=1296109300 | Unix timestamp | |
t2 | Endpunkt eines maßgeschneiderten Zeitfensters | t2=1296189360 | Unix timestamp | |
timeperiod | Zeitfenster, das für den "Availability report" benutzt werden soll | today; yesterday; thisweek; lastweek; thismonth; lastmonth; thisquarter; lastquarter; thisyear; lastyear; last24hours; last7days; last31days; custom | timeperiod=lastmonth | |
trigger | Die Ausfallzeit wird von der Downtime-ID <n> ausgelöst | Eine gültige Downtime-ID | ||
ts_end | Daten bis zu ts_end anzeigen (Unix-Timestamp) | Ein gültiger Unix-Timestamp | siehe [5] | |
ts_start | Daten ab ts_start anzeigen (Unix-Timestamp) | Ein gültiger Unix-Timestamp | siehe [5] | |
type | Objekttyp | hosts; hostgroups; services; servicegroups; contacts; contactgroups; timeperiods; commands; hostescalations; serviceescalations; hostdependencies; servicedependencies | type=hosts |
![]() |
Anmerkung |
---|---|
Seit 1.8 gibt es 'scroll' als Parameter für status.cgi. Dies dient dazu, die aktuelle Scrollposition abzuspeichern und wiederherzustellen. Dies ist nicht essenziell, da diese Variable nur intern verwendet wird, wenn refresh_type=javascript gesetzt ist in der cgi.cfg |
Abkürzungen, die in der ersten Tabelle benutzt werden, Beziehungen zu CGIs- und Menüeintragen sowie Verweise auf den Source-Code in <icinga-core>/cgis.
Abkürzung | CGI | Menüeintrag | Source-Code |
---|---|---|---|
avail | avail.cgi | Availability | avail.c |
cmd | cmd.cgi | N/A | cmd.c |
config | config.cgi | Configuration | config.c |
ext | extinfo.cgi | Comments, Downtime, Process Info, Performance Info, Schedulung Info | extinfo.c |
hgram | histogram.cgi | Alert Histogram | histogram.c |
hist | history.cgi | Alert History | history.c |
notif | notifications.cgi | Notifications | notifications.c |
out | outages.cgi | Network Outages | outages.c |
log | showlog.cgi | Event Log | showlog.c |
status | status.cgi | Hostgroup Overview, Servicegroup Overview, Host Problems, Service Problems | status.c |
map | statusmap.cgi | Status Map | statusmap.c |
summary | summary.cgi | Alert Summary | summary.c |
tac | tac.cgi | N/A | tac.c |
trends | trends.cgi | Trends | trends.c |
Ausschnitt aus include/cgiutils.h
/****************** HOST AND SERVICE FILTER PROPERTIES *******************/ #define HOST_SCHEDULED_DOWNTIME 1 #define HOST_NO_SCHEDULED_DOWNTIME 2 #define HOST_STATE_ACKNOWLEDGED 4 #define HOST_STATE_UNACKNOWLEDGED 8 #define HOST_CHECKS_DISABLED 16 #define HOST_CHECKS_ENABLED 32 #define HOST_EVENT_HANDLER_DISABLED 64 #define HOST_EVENT_HANDLER_ENABLED 128 #define HOST_FLAP_DETECTION_DISABLED 256 #define HOST_FLAP_DETECTION_ENABLED 512 #define HOST_IS_FLAPPING 1024 #define HOST_IS_NOT_FLAPPING 2048 #define HOST_NOTIFICATIONS_DISABLED 4096 #define HOST_NOTIFICATIONS_ENABLED 8192 #define HOST_PASSIVE_CHECKS_DISABLED 16384 #define HOST_PASSIVE_CHECKS_ENABLED 32768 #define HOST_PASSIVE_CHECK 65536 #define HOST_ACTIVE_CHECK 131072 #define HOST_HARD_STATE 262144 #define HOST_SOFT_STATE 524288 #define HOST_STATE_HANDLED 1048576 #define HOST_NOT_ALL_CHECKS_DISABLED 2097152 #define SERVICE_SCHEDULED_DOWNTIME 1 #define SERVICE_NO_SCHEDULED_DOWNTIME 2 #define SERVICE_STATE_ACKNOWLEDGED 4 #define SERVICE_STATE_UNACKNOWLEDGED 8 #define SERVICE_CHECKS_DISABLED 16 #define SERVICE_CHECKS_ENABLED 32 #define SERVICE_EVENT_HANDLER_DISABLED 64 #define SERVICE_EVENT_HANDLER_ENABLED 128 #define SERVICE_FLAP_DETECTION_ENABLED 256 #define SERVICE_FLAP_DETECTION_DISABLED 512 #define SERVICE_IS_FLAPPING 1024 #define SERVICE_IS_NOT_FLAPPING 2048 #define SERVICE_NOTIFICATIONS_DISABLED 4096 #define SERVICE_NOTIFICATIONS_ENABLED 8192 #define SERVICE_PASSIVE_CHECKS_DISABLED 16384 #define SERVICE_PASSIVE_CHECKS_ENABLED 32768 #define SERVICE_PASSIVE_CHECK 65536 #define SERVICE_ACTIVE_CHECK 131072 #define SERVICE_HARD_STATE 262144 #define SERVICE_SOFT_STATE 524288 #define SERVICE_STATE_HANDLED 1048576 #define SERVICE_NOT_ALL_CHECKS_DISABLED 2097152
Excerpt from include/statusdata.h
/*************************** SERVICE STATES ***************************/ #define SERVICE_PENDING 1 #define SERVICE_OK 2 #define SERVICE_WARNING 4 #define SERVICE_UNKNOWN 8 #define SERVICE_CRITICAL 16 /**************************** HOST STATES ****************************/ #define HOST_PENDING 1 #define HOST_UP 2 #define HOST_DOWN 4 #define HOST_UNREACHABLE 8
[1] Logisches ODER bedeutet, dass die jeweiligen Zahlen addiert werden. Es werden dann die Objekte angezeigt, die ALLE Bedingungen erfüllen.
[2] Verfügbar ab Icinga 1.4.
[3] avail, log, notif, out, status, sum: Alle Views/Reports unterstützen jsonoutput; config: Alle Typen außer command expansion; ext: Alle Views außer hostgroup/servicegroup info (immer außer Performance-Daten); tac: Datenausgabe im json-Format. Mehr Informationen finden Sie im Icinga-Wiki.
[4] Verfügbar ab Icinga 1.7.
[5] Verfügbar ab Icinga 1.8.
[6] Entfällt ab Icinga 1.8.
© 2009-2012 Icinga Development Team, http://www.icinga.org