API

Zusätzlich zu den Logs besitzt EGOCMS eine Monitoring-Schnittstelle. Die Basis-Url lautet: /bin/monitor/.

warning
Die Monitorschnittstelle sollte per IP Beschränkung geschützt werden.

Es können verschiedene Bereiche von EGOCMS überwacht werden.

Es sind key/value Paare. Jeweils ein Paar pro Zeile. Der key endet immer mit einem Doppelpunkt und der Value beginnt immer an Position 23.

APCU

Die Daten betreffen allgemein den APCU Cache. Genauere Angaben finde Sie auch unter php.net/manual/en/book.apcu.php.

/bin/monitor/apcu.php

apcu_size:            536870776
apcu_free:            536836056
apcu_mem_size:        1680
apcu_memory_type:     mmap
apcu_num_slots:       4099
apcu_ttl:             0
apcu_num_hits:        96
apcu_num_misses:      10
apcu_num_inserts:     1
apcu_expunges:        0
apcu_start_time:      1526631626

Typen

  • apcu_size: int
    Gesamtgröße des Caches in Bytes
  • apcu_free: int
    Anzahl freier Bytes im Cache
  • apcu_mem_size: int
    Anzahl Bytes
  • apcu_memory_type: string
  • apcu_num_slots: int
    Anzahl Slots
  • apcu_ttl: int
    Anzahl Sekunden, wenn größer als 0, dann können neuere Einträge alte Einträge überschreiben, wenn die entsprechende Anzahl Sekunden abgelaufen sind
  • apcu_num_hits: int
    Anzahl der Cache Treffer; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück)
  • apcu_num_misses: int
    Anzahl der Cache Fehler; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • apcu_num_inserts: int
    Anzahl der neuen Cache Einträge; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • apcu_num_expunges: int
    Anzahl der gelöschten Cache Einträge; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • apcu_start_time: int
    Unix Timestamp des Starts

Trigger

  • EGOCMS apcu low
    {Template App EGOCMS:egocms.apcu[apcu_free].last()}/{Template App EGOCMS:egocms.apcu[apcu_size].last()}<0.2

Cache

Die Daten betreffen die Benutzung des Caches durch EGOCMS. EGOCMS kann sowohl APCU als auch das Dateisystem als Cache benutzen.

/bin/monitor/cache.php

cache_hit:            168478017
cache_miss:           3445459
cache_set:            1015466
cache_store:          201967
cache_fetch:          872873

Typen

  • cache_hit: int
    Anzahl der Cache Treffer; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • cache_miss: int
    Anzahl der Cache Fehler; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • cache_set: int
    Anzahl neuer Cache Einträge; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • cache_store: int
    Anzahl neuer Cache Einträge, die tatsächlich in den Cache gespeichert werden - aus Performancegründen speichert EGOCMS vielfach mehrere Einträge gemeinsam in den Cache, es handelt sich hierbei um Einträge, die immer gemeinsam benötigt werden; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • cache_fetch: int
    Anzahl der tatsächlichen lesenden Cache Zugriffe - Cache Einträge werden von der Cache Klasse auch direkt vorgehalten und müssen so ggf. nicht erst über APCU oder das Dateisystem geholt werden; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück

Trigger

  • EGOCMS cache ratio high
    {Template App EGOCMS:egocms.cache[cache_miss].last()}/{Template App EGOCMS:egocms.cache[cache_hit].last()}>0.5

Live

Die Liveabgleichstatistik ist nur auf dem Redaktionsserver sinnvoll. Hier werden die Dauer der Liveabgleiche protokolliert.

/bin/monitor/live.php

live_running:         0
live_count:           93
live_duration:        2623

Typen

  • live_running: int
    0 falls kein Liveabgleich läuft und 1 wenn gerade ein Abgleich läuft
  • live_count: int
    Anzahl der Abgleiche; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • live_duration: int
    Länge aller Abgleiche in Sekunden; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück

Trigger

  • EGOCMS live too long
    {Template App EGOCMS:egocms.live[live_running].now()}=5
  • EGOCMS live too long 2
    {Template App EGOCMS:egocms.live[live_duration].sum(#10)}=10

Search

Daten zur Suche.

/bin/monitor/search.php

search_update_count:  213
search_reset:         0
search_reset_all:     0
search_length:        90496
search_words:         15951
search_count:         9940
search_duration:      280977
search_global_count:  0
search_global_length: 0
search_global_words:  0
search_global_d1:     0
search_global_d2:     0

Typen

  • search_update_count: int
    Anzahl der Suchaktualisierungen; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • search_reset: int
    Anzahl der Suchresets; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • search_reset_all: int
    Anzahl der kompletten Suchresets; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • search_length: int
    Gesamtzeichenlänge der Suchen in Mandanten; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • search_words: int
    Gesamtanzahl Worte der Suchen in Mandanten; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • search_count: int
    Anzahl der Suchen in Mandanten; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • search_global_length: int
    Gesamtzeichenlänge der globalen Suchen; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • search_global_words: int
    Gesamtanzahl Worte der globalen Suchen; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • search_global_count: int
    Anzahl der globalen Suchen; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • search_global_d1: int
    Gesamtzeit in ms aller globalen Suchen; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • search_global_d2: int
    Gesamtzeit nur Lucene in ms aller globalen Suchen; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück

Trigger

  • EGOCMS search too long
    {Template App EGOCMS:egocms.search[search_global_average_d2].last()} - {Template App EGOCMS:egocms.search[search_global_average_d2].last(#2)} > 10000

Stats

Daten zur Frontendausgabe.

/bin/monitor/stats.php

stats_count:          358149
stats_size:           1945672324
stats_db_select:      54814475
stats_db_cache:       0
stats_gzipin:         6047630548
stats_gzipout:        1254231820
stats_count_duration: 326353
stats_duration:       55841865

Typen

  • stats_count: int
    Anzahl der Seiten, die generiert wurden; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • stats_size: int
    Summe der Größen der Seiten in Bytes, die generiert wurden; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • stats_db_select: int
    Anzahl der Datenbankabfragen; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • stats_db_cache: int
    Anzahl der gecachten Datenbankabfragen - seit Version 18 werden Datenbankabfragen nicht mehr gecached, da dies die Datenbank selbst übernimmt; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • stats_gzipin: int
    Summe der Größe der unkomprimierten Ausgabe in Bytes; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • stats_gzipout: int
    Summe der Größe der komprimierten Ausgabe in Bytes; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • stats_count_duration: int
    Anzahl der Einträge, deren Zeit gemessen wurde; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück
  • stats_duration: int
    Gesmatzeit in ms der Einträge, deren Zeit gemessen wurde; wird ständig hochgezählt, Neustart des php Prozesses setzt den Wert wieder zurück

Trigger

  • EGOCMS page too slow

    (
    {Template App EGOCMS:egocms.stats[stats_duration].last()} > 0
    ) and
    (
    {Template App EGOCMS:egocms.stats[stats_count_duration].last()} > 0
    ) and
    (
    ( {Template App EGOCMS:egocms.stats[stats_duration].last()} /
    {Template App EGOCMS:egocms.stats[stats_count_duration].last()} )
    > 5000
    )

Status

Allgemeine Informationen zum EGOCMS System.

/bin/monitor/status.php

cms_version:          18.2
cms_revision:         96141
db_driver:            innodb
db_version:           5.6.32-79.0
site_cache_type:      apcu
session_type:         apcu

Typen

  • cms_version: string
    EGOCMS Versionsnummer
  • cms_revision: int
    EGOCMS Revisionnummer
  • db_driver: string
    Datenbanktreiber
  • db_version: string
    Versionsangaben der verwendeten Datenbank
  • site_cache_type: string
    Speichermodul für Html Cache
  • session_type: string
    Speichermodul für die Sessions

Trigger

  • EGOCMS version changed
    {Template App EGOCMS:egocms.status[cms_version].diff()}>0 or {Template App EGOCMS:egocms.status[cms_revision].diff()}>0
  • EGOCMS database changed
    {Template App EGOCMS:egocms.status[db_version].diff()}>0 or {Template App EGOCMS:egocms.status[db_driver].diff()}>0
  • EGOCMS session type changed
    {Template App EGOCMS:egocms.status[session_type].diff()}>0
  • EGOCMS site cache type changed
    {Template App EGOCMS:egocms.status[site_cache_type].diff()}>0