Přeskočit obsah

LogMan.io Commander

LogMan.io Commander umožňuje spouštět následující pomocné příkazy prostřednictvím příkazového řádku nebo API.

Příkaz encpwd

Hesla používaná v konfiguracích lze chránit šifrováním.

Příkaz Encrypt Password zašifruje heslo(a) do formátu hesla LogMan.io pomocí šifry AES.

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

!encpwd "<LMIO_PASSWORD>"

Konfigurace

Výchozí cestu ke klíči AES lze nakonfigurovat následujícím způsobem:

[pwdencryptor]
key=/data/aes.key

Použití

Kontejner Docker

Příkazový řádek
docker exec -it lmio-commander lmiocmd encpwd MyPassword
API

LogMan.io Commander slouží také jako koncový bod API, takže příkaz encpwd lze dosáhnout prostřednictvím volání HTTP:

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

Příkaz library

Příkaz Library slouží k vložení adresářové struktury knihovny se všemi deklaracemi YAML do ZooKeeperu, kde se nacházejí další komponenty jako jsou LogMan.io Parser a Correlator, mohou dynamicky stahovat z.

Struktura složek může být umístěna v souborovém systému (připojeném ke kontejneru Docker) nebo na url GIT.

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

Konfigurace

Je nutné správně nakonfigurovat zdrojovou složku a výstup ZooKeeper.

[zdroj]
path=/library

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

Zdrojovou cestou může být cesta k úložišti GIT s předponou git://:

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

Tímto způsobem bude knihovna automaticky naklonována z GIT do adresáře dočasné složky, nahraje se do ZooKeeper a poté se dočasná složka odstraní.

Použití

Kontejner Docker

Příkazový řádek
docker exec -it lmio-commander lmiocmd library load

Použití explicitně definované konfigurace:

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

LogMan.io Commander také obsluhuje koncový bod API, takže příkaz library lze dosáhnout prostřednictvím volání HTTP:

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

Viz část Docker Compose níže.


Příkaz iplookup

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

Konfigurace ####

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

[iplookup]
source_path=/data
destination_path=/data

iplookup from-csv

Načte obecný soubor CSV a vytvoří soubor IP Enricher lookup. Očekává se, že první řádek souboru bude záhlaví obsahující názvy sloupců. První dva sloupce musí být ip_from a ip_to.

Rozhraní příkazového řádku

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

Poziční argumenty:

  • file_name: Vstupní soubor CSV

Nepovinné argumenty:

  • -h, --help: ``: zobrazí tuto nápovědu a ukončí ji.
  • -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 reprezentovaná jako řetězec, např. ::ffff:c000:02eb,
  • ipv4: standardní řetězec adresy IPv4 se čtyřmi tečkami, např. 192.0.2.235,
  • ipv6-int: IPv6 adresa jako 128bitové celé desítkové číslo, např. 281473902969579,
  • ipv4-int: IPv4 adresa jako 32bitové desítkové celé číslo, např. 3221226219.
  • -s SEPARATOR, --separator SEPARATOR: Oddělovač sloupců CSV.
  • -o LOOKUP_NAME, ---název LOOKUP_NAME: Název výstupního vyhledávání. Používá se jako název vyhledávací zóny. Ve výchozím nastavení je odvozen od názvu vstupního souboru.
  • --include-ip-range: Zahrnuje pole ip_from a ip_to do hodnot vyhledávání.
  • --force-ipv4: Zabrání mapování adres IPv4 na IPv6. To je nekompatibilní se vstupními formáty IPv6.
Příklad 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ý výše uvedenému příkazu iplookup from-csv, ale je přizpůsoben speciálně pro zpracování IP2Location™ CSV databází. V případě databází IP2LOCATION LITE dokáže příkaz odvodit vstupní formát IP a názvy sloupců z názvu souboru. Názvy sloupců je však možné zadat explicitně

Rozhraní příkazového řádku

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

Poziční argumenty:

  • file_name: Vstupní soubor CSV

Nepovinné argumenty:

  • -h, --help: ``: zobrazí tuto nápovědu a ukončí ji.
  • -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: Seznam názvů sloupců oddělených mezerami, které se mají použít. 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 128bitové desítkové celé číslo, např. 281473902969579,
  • ipv4-int: IPv4 adresa jako 32bitové desítkové celé číslo, např. 3221226219.
  • -o LOOKUP_NAME, --lookup-name LOOKUP_NAME: Název výstupního vyhledávání. Používá se jako název vyhledávací zóny. Ve výchozím nastavení je odvozen od názvu vstupního souboru.
  • -e, --keep-empty-rows: Nevylučovat řádky s prázdnými hodnotami (označené '-').
  • --include-ip-range: Zahrnout pole ip_from a ip_to do hodnot vyhledávání.
  • --force-ipv4: Zabrání mapování adres IPv4 na IPv6.
Příklad použití

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

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

S explicitními názvy sloupců a vstupním formátem IP (výsledek bude odpovídat 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 LogMan.io Commander z registru Docker společnosti TeskaLabs a očekává konfigurační soubor ve složce ./lmio-commander.

verze: '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 do úložiště knihovny LogMan.io.

Spusťte kontejner

docker-compose pull
docker-compose up -d