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