Sbírejte logy z databáze pomocí ODBC
Úvod
Doporučený způsob získávání logů a dalších událostí z databází je pomocí ODBC. ODBC poskytuje jednotný způsob, jak připojit LogMan.io k různým databázovým systémům.
Tip
Příklady ODBC připojovacích řetězců naleznete zde.
ODBC ovladač a konfigurace
Musíte poskytnout ODBC ovladač pro databázový systém, který chcete integrovat s LogMan.io. Příslušný ODBC ovladač musí být kompatibilní s Ubuntu 20.04 LTS, 64bit.
ODBC ovladače je třeba nasadit do LogMan.io Collectoru, konkrétně do adresáře /odbc
.
Alternativně vám naše podpora pomůže nasadit správný ODBC ovladač pro váš databázový systém nebo poskytne LogMan.io Collector s integrovaným ODBC ovladačem.
Note
ODBC ovladače jsou vystaveny softwaru LogMan.io collector skrze Docker volumes.
Konfigurace ODBC se provádí v souborech /odbc/odbcinst.ini
a odbc.ini
.
Konfigurace inputu Collectoru
Specifikace zdroje inputu je input:ODBC:
.
Příklad konfigurace ODBC collectoru:
input:ODBC:ODBCInput:
dsn: Driver={FreeTDS};Server=MyServer;Port=1433;Database=MyDatabase;TDS_Version=7.3;UID=MyUser;PWD=MyPassword
query: SELECT * FROM viewAlerts WHERE {increment_where_clause} ORDER BY Cas Time;
increment_strategy: date
increment_first_value: "2020-10-01 00:00:00.000"
increment_column_name: "Time"
chilldown_period: 30
output: WebSocket
last_value_storage: /data/var/last_value_storage
MySQL ODBC konfigurace
MySQL ODBC ovladače lze získat na následující odkazu.
Balíček ovladače je třeba rozbalit do adresáře /odbc/mysql
.
Záznamy v souboru /odbc/odbcinst.ini
:
[MySQL ODBC 8.0 Unicode Driver]
Driver=/odbc/mysql/libmyodbc8w.so
UsageCount=1
[MySQL ODBC 8.0 ANSI Driver]
Driver=/odbc/mysql/libmyodbc8a.so
UsageCount=1
Microsoft SQL Server ODBC konfigurace
Microsoft SQL Server ODBC ovladače lze získat na následující odkazu.
Záznamy v souboru /odbc/odbcinst.ini
:
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/odbc/microsoft/msodbcsql17/lib64/libmsodbcsql-17.6.so.1.1
UsageCount=1
Příklad připojovacího řetězce:
Driver={ODBC Driver 17 for SQL Server};Server=<server_name>;Authentication=ActiveDirectoryPassword;UID=<username>;PWD=<password>;Database=<database>;TrustServerCertificate=Yes
Microsoft SQL Server ODBC alternativní konfigurace
Alternativní připojení k Microsoft SQL Server poskytuje projekt FreeTDS, konkrétně jeho ODBC ovladač.
Záznamy v souboru /odbc/odbcinst.ini
:
[FreeTDS]
Description=FreeTDS Driver for Linux & MSSQL
Driver=/odbc/freetds/libtdsodbc.so
Setup=/odbc/freetds/libtdsodbc.so
UsageCount=1
Příklad připojovacího řetězce:
Driver={FreeTDS};Server=<server_name>;Port=<server_port>;Database=<database>;UID=<username>;PWD=<password>;TDS_Version=7.3
MariaDB ODBC konfigurace
MariaDB ODBC ovladače lze získat na následující odkazu.
SAP IQ, Sybase IQ, Sybase ASE ODBC konfigurace
SAP IQ / Sybase IQ / Sybase ASE / SQL Anywhere ODBC ovladače musí být staženy z podpůrné stránky SAP.
Balíček ovladače je třeba rozbalit do adresáře /odbc/sybase
.
Záznam v souboru /odbc/odbcinst.ini
:
[ODBC Driver for Sybase IQ]
Description=Sybase IQ
Driver=/odbc/sybase/IQ-16_1/lib64/libdbodbc17.so
UsageCount=1
Příklad připojovacího řetězce:
Driver={ODBC Driver for Sybase IQ};UID=<username>;PWD=<password>;Server=<server_name>;DBN=<database_name>;CommLinks=TCPIP{host=<host>;port=<port>};DriverUnicodeType=1
Řešení problémů
Přidání ODBC Tracing
Pokud potřebujete větší náhled do ODBC připojení, můžete povolit sledování ODBC.
Přidejte tuto sekci do souboru /odbc/odbcinst.ini
:
[ODBC]
Trace = yes
TraceFile = /odbc/trace.log
Po spuštění collectoru bude výstup sledování ODBC systému uložen do souboru /odbc/trace.log
.
Tento soubor je dostupný také mimo kontejner.
Ověření konfigurace ODBC
Příkaz odbcinst -j
(spuštěný uvnitř kontejneru) lze použít k ověření připravenosti ODBC:
# odbcinst -j
unixODBC 2.3.6
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
Docker-compose
LogMan.io collector lze spustit pomocí docker-compose
.
Toto je výpis relevantních záznamů ze souboru docker-compose.yaml
:
lmio-collector:
image: docker.teskalabs.com/lmio/lmio-collector
...
volumes:
- /odbc/odbcinst.ini:/etc/odbcinst.ini
- /odbc/odbc.ini:/etc/odbc.ini
- /odbc:/odbc
...
network_mode: host
Následně je třeba LogMan.io Collector znovu vytvořit pomocí:
docker-compose up -d