Přeskočit obsah

Panely

Panely jsou vizualizace příchozích logovacích dat. Zatímco TeskaLabs LogMan.io přichází s knihovnou přednastavených panelů, můžete si také vytvořit vlastní. Prohlédněte si přednastavené panely v webové aplikaci LogMan.io v Panely.

Pro vytváření panelu je potřeba napsat nebo zkopírovat panelový soubor do Knihovny.

Vytváření panelového souboru

Panely píšeme v formátu JSON.

Vytvoření prázdného panelu

  1. V TeskaLabs LogMan.io, přejděte do Knihovny.
  2. Klikněte na Panely.
  3. Klikněte na Vytvořit novou položku v Panelech.
  4. Pojmenujte položku a klikněte na Vytvořit. Pokud se nová položka neobjeví okamžitě, aktualizujte stránku.

Kopírování existujícího panelu

  1. V TeskaLabs LogMan.io, přejděte do Knihovny.
  2. Klikněte na Panely.
  3. Klikněte na položku, kterou chcete duplikovat, a poté klikněte na ikonu nahoře. Klikněte na Kopírovat.
  4. Vyberte nové jméno pro položku a klikněte na Kopírovat. Pokud se nová položka neobjeví okamžitě, aktualizujte stránku.

Struktura panelu

Panely píšeme v JSON a pamatujte, že jsou citlivé na velikost písmen.

Panely mají dvě části:

  1. Základ panelu: lišta pro dotazy, výběr času, tlačítko pro obnovení a tlačítko pro možnosti
  2. Widgety: vizualizace (graf, grafy, seznam, atd.)

Základ panelu

Tuto sekci ponechejte přesně tak, jak je pro zajištění lišty pro dotazy, výběr času, tlačítko pro obnovení a tlačítko pro možnosti.

{
    "Prompts": {
        "dateRangePicker": true,
        "filterInput": true,
        "submitButton": true

Lišta pro dotazy vykreslená: lišta pro dotazy panelu lišta pro dotazy panelu

Widgety

Widgety jsou tvořeny páry datasource a widget. Při psaní widgetu musíte zahrnout jak sekci datasource, tak sekci widget.

Tipy na formátování JSON:

  • Oddělte každou sekci datasource a widget složenou závorkou a čárkou }, s výjimkou posledního widgetu v panelu, který čárku nepotřebuje (viz plný příklad)
  • Ukončete každý řádek čárkou ,, s výjimkou poslední položky v sekci

Umístění widgetu

Každý widget má řádky rozvržení, které určují velikost a pozici widgetu. Pokud při psaní widgetu nezahrnete řádky rozvržení, panel je generuje automaticky.

  1. Zahrňte rozvrhové řádky s navrhovanými hodnotami z každé šablony widgetu, nebo nezahrňte žádné rozvrhové řádky. (Pokud nezahrnete žádné rozvrhové řádky, ujistěte se, že poslední položka v každé sekci nekončí čárkou.)
  2. Přejděte na Panely v LogMan.io a změňte velikost a přesuňte widget.
  3. Když přemístíte widget na stránku Panelů, soubor panelu v Knihovně automaticky generuje nebo upravuje rozvrhové řádky. Pokud pracujete v souboru panelu v Knihovně a zároveň přemísťujete widgety v Panelech, ujistěte se, že uložíte a aktualizujete obě stránky po provedení změn na kterékoli stránce.

Pořadí widgetů ve vašem panelovém souboru neurčuje jejich pozici a pořadí se nezmění, když přemístíte widgety v Panelech.

Pojmenování

Doporučujeme dohodnout se na pojmenovacích konvencích pro panely a widgety ve vaší organizaci, abyste předešli zmatkům.

matchPhrase filtr

Pro datové zdroje Elasticsearch použijte Lucene syntaxe dotazů pro hodnotu matchPhrase.

Barvy

Ve výchozím nastavení používají widgety koláčového grafu a sloupcového grafu modré barevné schéma. Chcete-li změnit barevné schéma, vložte "color":"(barevné schéma)" přímo před rozvrhové řádky.

  • Modrá: Není potřeba žádné extra řádky
  • Fialová: "color":"sunset"
  • Žlutá: "color":"warning"
  • Červená: "color":"danger"
Řešení problémů s JSON

Pokud dostanete chybovou zprávu o formátování JSON při pokusu o uložení souboru:

  • Řiďte se doporučením chybové zprávy, která specifikuje, co JSON "očekává" - může to znamenat, že vám chybí požadovaný klíč-hodnotový pár, nebo je interpunkce nesprávná.
  • Pokud chybu nenajdete, zkontrolujte, zda je vaše formátování konzistentní s jinými funkčními panely.

Pokud váš widget nezobrazuje správně:

  • Ujistěte se, že hodnota datasource odpovídá jak v sekci datového zdroje, tak v sekci widgetu.
  • Zkontrolujte pravopisné chyby nebo problémy s strukturou dotazu v libovolných odkazovaných polích a v polích specifikovaných ve filtru matchphrase.
  • Zkontrolujte jakékoli jiné překlepy nebo nesrovnalosti.
  • Ujistěte se, že datový zdroj, na který se odkazujete, je připojen.

Použijte tyto příklady jako průvodce. Klikněte na ikony , aby se zobrazily jednotlivé řádky s vysvětlením.

Sloupcové grafy

Sloupcový graf zobrazuje hodnoty svislými sloupci na ose x a y. Délka každého sloupce je úměrná datům, která reprezentuje.

Příklad JSON sloupcového grafu:

    "datasource:office365-email-aggregated": { #(1)
        "type": "elasticsearch", #(2)
        "datetimeField": "@timestamp", #(3)
        "specification": "lmio-{{ tenant }}-events*", #(4)
        "aggregateResult": true, #(5)
        "matchPhrase": "event.dataset:microsoft-office-365 AND event.action:MessageTrace" #(6)
    },
    "widget:office365-email-aggregated": { #(7)
        "datasource": "datasource:office365-email-aggregated", #(8)
        "title": "Odeslané a přijaté e-maily", #(9)
        "type": "BarChart", #(10)
        "xaxis": "@timestamp", #(11)
        "yaxis": "o365.message.status", #(12)
        "ylabel": "Počet", #(13)
        "table": true, #(14)
        "layout:w": 6, #(15)
        "layout:h": 4,
        "layout:x": 0,
        "layout:y": 0,
        "layout:moved": false,
        "layout:static": true,
        "layout:isResizable": false
    },
  1. datasource označuje začátek sekce datového zdroje a také název datového zdroje. Název neovlivňuje funkci panelu, ale je potřeba na něj správně odkázat v sekci widgetu.
  2. Typ datového zdroje. Pokud používáte Elasticsearch, hodnota je "elasticsearch"
  3. Indikuje, které pole v logech je polem s datem a časem. Například v Elasticsearch logách, které jsou parsovány Elastic Common Schema (ECS), je pole s datem a časem @timestamp.
  4. Odkazuje na index, ze kterého se načítají data v Elasticsearch. Hodnota lmio-{{ tenant}}-events* odpovídá našim názvovým konvencím indexů v Elasticsearch a {{ tenant }} je místo upravitelného tenanta. Hvězdička * umožňuje neupřesněné další znaky v názvu indexu za events. Výsledek: Widget zobrazuje data z aktivního tenanta.
  5. aggregateResult nastavené na true provádí agregaci dat před jejich zobrazením v panelu. V tomto případě jsou počítány (součty) odeslané a přijaté e-maily.
  6. Dotaz, který filtruje konkrétní logy pomocí Lucene syntaxe dotazů. V tomto případě musí jakákoli data zobrazovaná v panelu pocházet z datasetu Microsoft Office 365 a mít hodnotu MessageTrace v poli event.action.
  7. widget označuje začátek sekce widgetu a také název widgetu. Název neovlivňuje funkci panelu.
  8. Odkazuje na sekci datového zdroje výše, která ji naplňuje. Ujistěte se, že hodnota zde přesně odpovídá názvu příslušného datového zdroje. (Tímto se widget dozví, odkud získá data.)
  9. Název widgetu, který se bude zobrazovat v panelu
  10. Typ widgetu
  11. Pole z logů, jehož hodnoty budou reprezentovány na ose x
  12. Pole z logů, jehož hodnoty budou reprezentovány na ose y
  13. Popisek pro osu y, který se zobrazí v panelu
  14. Nastavení table na true umožňuje přepínání mezi zobrazením grafu a tabulky na widgetu v panelu. Zvolení false zakazuje funkci přepínání mezi grafem a tabulkou.
  15. Viz poznámku výše o umístění widgetů pro informace o rozvrhových řádkích.

Sloupcový graf widget vykreslený:

Příklad widgetu sloupcového grafu Příklad widgetu sloupcového grafu

Šablona sloupcového grafu:

Pro vytvoření widgetu sloupcového grafu, zkopírujte a vložte tuto šablonu do panelového souboru v Knihovně a vyplňte hodnoty. Doporučené hodnoty rozvrhu, hodnoty specifikující datový zdroj Elasticsearch a hodnotu organizující sloupcový graf podle času jsou již vyplněny.

    "datasource:Name of datasource": {
        "type": "elasticsearch",
        "datetimeField": "@timestamp",
        "specification": "lmio-{{ tenant }}-events*",
        "aggregateResult": true,
        "matchPhrase": " "
    },
    "widget:Name of widget": {
        "datasource": "datasource:office365-email-aggregated",
        "title": "Widget display title",
        "type": "BarChart",
        "xaxis": "@timestamp",
        "yaxis": " ",
        "ylabel": " ",
        "table": true,
        "layout:w": 6,
        "layout:h": 4,
        "layout:x": 0,
        "layout:y": 0,
        "layout:moved": false,
        "layout:static": true,
        "layout:isResizable": false
    },

Koláčové grafy

Koláčový graf je kruh rozdělený na výseče, přičemž každá výseč představuje procento z celku.

Příklad JSON koláčového grafu:

    "datasource:office365-email-status": { #(1)
        "datetimeField": "@timestamp", #(2)
        "groupBy": "o365.message.status", #(3)
        "matchPhrase": "event.dataset:microsoft-office-365 AND event.action:MessageTrace", #(4)
        "specification": "lmio-{{ tenant }}-events*", #(5)
        "type": "elasticsearch", #(6)
        "size": 20 #(7)
    },
    "widget:office365-email-status": { #(8)
        "datasource": "datasource:office365-email-status", #(9)
        "title": "Status přijatých e-mailů", #(10)
        "type": "PieChart", #(11)
        "tooltip": true, #(12)
        "table": true, #(13)
        "layout:w": 6, #(14)
        "layout:h": 4,
        "layout:x": 6,
        "layout:y": 0,
        "layout:moved": false,
        "layout:static": true,
        "layout:isResizable": false
    },
  1. datasource označuje začátek sekce datového zdroje a také název datového zdroje. Název neovlivňuje funkci panelu, ale je potřeba na něj správně odkázat v sekci widgetu.
  2. Indikuje, které pole v logech je polem s datem a časem. Například v Elasticsearch logách, které jsou parsovány Elastic Common Schema (ECS), je pole s datem a časem @timestamp.
  3. Pole, jehož hodnoty budou reprezentovat každou "výseč" koláčového grafu. V tomto příkladu bude koláčový graf oddělovat logy podle jejich stavu zprávy. Pro každou hodnota stavu jako je "Doručeno", "Rozbaleno", "Karanténa" atd. bude separátní výseč, která ukazuje procentuální výskyt každého stavu zprávy.
  4. Dotaz, který filtruje konkrétní logy. V tomto případě budou zobrazeny pouze data z logů datasetu Microsoft Office 365 s hodnotou MessageTrace v poli event.action.
  5. Odkazuje na index, ze kterého se načítají data v Elasticsearch. Hodnota lmio-{{ tenant}}-events* odpovídá našim názvovým konvencím indexů v Elasticsearch a {{ tenant }} je místo upravitelného tenanta. Hvězdička * umožňuje neupřesněné další znaky v názvu indexu za events. Výsledek: Widget zobrazuje data z aktivního tenanta.
  6. Typ datového zdroje. Pokud používáte Elasticsearch, hodnota je "elasticsearch"
  7. Kolik hodnot chcete zobrazit. Protože tento koláčový graf ukazuje stavy přijatých e-mailů, hodnota size je 20 a zobrazuje top 20 typů stavu. (Koláčový graf může mít maximálně 20 výsečí.)
  8. widget označuje začátek sekce widgetu a také název widgetu. Název neovlivňuje funkci panelu.
  9. Odkazuje na sekci datového zdroje výše, která ji naplňuje. Ujistěte se, že hodnota zde přesně odpovídá názvu příslušného datového zdroje. (Tímto se widget dozví, odkud získá data.)
  10. Název widgetu, který se bude zobrazovat v panelu
  11. Typ widgetu
  12. Pokud je tooltip nastaveno na true: Když najedete myší na každou výseč koláčového grafu v panelu, zobrazí se malá informační okno s počtem hodnot ve výseči u kurzoru. Pokud je tooltip nastaveno na false: Informační okno se zobrazí v levém horním rohu widgetu.
  13. Nastavení table na true umožňuje přepínání mezi zobrazením grafu a tabulky na widgetu v panelu. Zvolení false zakazuje funkci přepínání mezi grafem a tabulkou.
  14. Viz poznámku výše o umístění widgetů pro informace o rozvrhových řádcích.

Koláčový graf widget vykreslený: Příklad widgetu koláčového grafu Příklad widgetu koláčového grafu

Šablona koláčového grafu

Pro