Přeskočit obsah

LogMan.io Velitel

LogMan.io Velitel umožňuje spouštět následující užitečné příkazy přes příkazovou řádku nebo API.

Přikaz encpwd

Hesla používaná v konfiguracích mohou být chráněna šifrováním.

Příkaz pro šifrování hesel šifruje heslo(a) do formátu hesla LogMan.io pomocí šifry AES.

Hesla jsou pak použita v deklarativní konfiguraci LogMan.io Kolektora v následujícím formátu:

!encpwd "<LMIO_PASSWORD>"

Konfigurace

Výchozí cesta ke klíči AES může být nastavena následujícím způsobem:

[pwdencryptor]
key=/data/aes.key

Použití

Docker kontejner

Příkazová Řádka
docker exec -it lmio-commander lmiocmd encpwd MyPassword
API

LogMan.io Velitel také slouží jako API endpoint, takže příkaz encpwd lze dosáhnout přes HTTP požadavek:

curl -X POST -d "MyPassword" http://lmio-commander:8989/encpwd

Přikaz library

Příkaz Library slouží k vložení struktury složky knihovny se všemi YAML deklaracemi do ZooKeeperu, odkud si ji ostatní komponenty jako LogMan.io Parser a Korrelátor mohou dynamicky stahovat.

Struktura složky může být umístěna v souborovém systému (namontovaná do Docker kontejneru) nebo na URL adrese GIT.

Takto se inicializuje načítání knihovny do ZooKeeper clusteru:

Konfigurace

Je nutné správně nakonfigurovat zdrojovou složku a výstupní cestu pro ZooKeeper.

[source]
path=/library

[destination]
urls=zookeeper:12181
path=/lmio

Zdrojová cesta může být cesta GIT repozitáře s předponou git://:

[source]
path=git://<username>:<deploy_token>@<git_url_path>.git

Tímto způsobem bude knihovna automaticky klonována z GITu do dočasné složky, nahrána do ZooKeeperu a následně dočasná složka smazána.

Použití

Docker kontejner

Příkazová Řádka
docker exec -it lmio-commander lmiocmd library load

S explicitně definovanou konfigurací:

docker exec -it lmio-commander lmiocmd -c /data/lmio-commander.conf library load
API

LogMan.io Velitel také slouží jako API endpoint, takže příkaz library lze dosáhnout přes HTTP požadavek:

curl -X PUT http://lmio-commander:8989/library/load

Podívejte se na oddíl Docker Compose níže.


Přikaz iplookup

Příkaz iplookup zpracovává databáze IP rozsahů a generuje IP lookup soubory připravené k použití s lmio-parser IP Enricher. Má dva podpříkazy: iplookup from-csv pro zpracování obecných CSV souborů a iplookup from-ip2location pro zpracování CSV souborů IP2LOCATION.

Konfigurace

Zdrojové a cílové adresáře lze nastavit v konfiguračním souboru

[iplookup]
source_path=/data
destination_path=/data

iplookup from-csv

Načítá obecný CSV soubor a vytváří soubor lookup IP Enricher. První řádek souboru by měl obsahovat hlavičku se jmény sloupců. První dva sloupce musí být ip_from a ip_to.

Interface příkazové řádky

lmiocmd.py iplookup from-csv [-h] [--separator SEPARATOR] [--zone-name ZONE_NAME] [--gzip] [--include-ip-range] file_name

Povinné argumenty:

  • file_name: Vstupní CSV soubor

Volitelné argumenty:

  • -h, --help: Zobrazí tuto nápovědu a ukončí program.
  • -g, --gzip: Komprimuje výstupní soubor pomocí gzip.
  • -i INPUT_IP_FORMAT, --input-ip-format INPUT_IP_FORMAT: Formát vstupních IP adres. Výchozí hodnota je 'ipv6'. Možné hodnoty:
  • ipv6: IPv6 adresa reprezentována jako řetězec, např. ::ffff:c000:02eb,
  • ipv4: standardní quad-dotted IPv4 adresa jako řetězec, např. 192.0.2.235,
  • ipv6-int: IPv6 adresa jako 128-bitové desetinné celé číslo, např. 281473902969579,
  • ipv4-int: IPv4 adresa jako 32-bitové desetinné celé číslo, např. 3221226219.
  • -s SEPARATOR, --separator SEPARATOR: Oddělovač sloupců CSV.
  • -o LOOKUP_NAME, --lookup-name LOOKUP_NAME: Název výstupního lookupu. Používá se jako název zóny lookupu. Ve výchozím nastavení je odvozeno od názvu vstupního souboru.
  • --include-ip-range: Zahrnout pole ip_from a ip_to do hodnot lookupu.
  • --force-ipv4: Zabránit mapování IPv4 adres na IPv6. Toto je nekompatibilní s IPv6 vstupními formáty.
Ukázkové použití
lmiocmd iplookup from-csv \
--input-ip-format ipv6 \
--lookup-name ip2country \
--gzip \
my-ipv6-zones.CSV

iplookup from-ip2location

Tento příkaz je podobný příkazu iplookup from-csv, ale je speciálně navržen pro zpracování IP2Location™ CSV databází. V případě IP2LOCATION LITE databází může příkaz odvodit formát vstupních IP a názvy sloupců z názvu souboru. Nicméně je možné explicitně specifikovat názvy sloupců

Interface příkazové řádky

lmiocmd.py iplookup from-csv [-h] [--separator SEPARATOR] [--zone-name ZONE_NAME] [--gzip] [--include-ip-range] file_name

Povinné argumenty:

  • file_name: Vstupní CSV soubor

Volitelné argumenty:

  • -h, --help: Zobrazí tuto nápovědu a ukončí program.
  • -g, --gzip: Komprimuje výstupní soubor pomocí gzip.
  • -s SEPARATOR, --separator SEPARATOR: Oddělovač sloupců CSV. Výchozí hodnota je ','.
  • -c COLUMN_NAMES, --column-names COLUMN_NAMES: Mezery oddělený seznam názvů sloupců k použití. Ve výchozím nastavení je odvozen z názvu souboru IP2LOCATION.
  • -i INPUT_IP_FORMAT, --input-ip-format INPUT_IP_FORMAT: Formát vstupních IP adres. Ve výchozím nastavení je odvozen z názvu souboru IP2LOCATION. Možné hodnoty:
  • ipv6-int: IPv6 adresa jako 128-bitové desetinné celé číslo, např. 281473902969579,
  • ipv4-int: IPv4 adresa jako 32-bitové desetinné celé číslo, např. 3221226219.
  • -o LOOKUP_NAME, --lookup-name LOOKUP_NAME: Název výstupního lookupu. Používá se jako název zóny lookupu. Ve výchozím nastavení je odvozen z názvu vstupního souboru.
  • -e, --keep-empty-rows: Nevyřazovat řádky s prázdnými hodnotami (označené '-').
  • --include-ip-range: Zahrnout pole ip_from a ip_to do hodnot lookupu.
  • --force-ipv4: Zabránit mapování IPv4 adres na IPv6.
Ukázkové použití

S automatickými názvy sloupců a formátem vstupních IP:

lmiocmd iplookup from-ip2location \
--lookup-name ip2country \
--gzip \
IP2LOCATION-LITE-DB1.IPV6.CSV

S explicitními názvy sloupců a formátem vstupních IP (výsledek bude ekvivalentní výše uvedenému příkladu):

lmiocmd iplookup from-ip2location \
--lookup-name ip2country \
--gzip \
--column names "ip_from ip_to country_code country_name" \
--input-ip-format ipv6-int
IP2LOCATION-LITE-DB1.IPV6.CSV

Docker Compose

Soubor

Následující soubor docker-compose.yml stahuje image LogMan.io Velitele z TeskaLabs Docker Registry a očekává konfigurační soubor ve složce ./lmio-commander.

version: '3'
services:
  lmio-commander:
    image: docker.teskalabs.com/lmio/lmio-commander
    container_name: lmio-commander
    volumes:
      - ./lmio-commander:/data
      - /opt/lmio-library:/library
    ports:
      - "8989:8080"

Cesta /opt/lmio-library vede k repozitáři knihovny LogMan.io.

Spustit kontejner

docker-compose pull
docker-compose up -d