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
Oracle Database ODBC konfigurace¶
Ovladače Oracle ODBC (konkrétně Oracle Instant Client ODBC) získáte z Oracle Instant Client stránky.
Po stažení a dekomprimování, umístěte ovladače do adresáře /odbc/oracle
.
Záznam v souboru /odbc/odbcinst.ini
:
[Oracle 19 ODBC driver]
Description=Oracle ODBC driver for Oracle 19
Driver=/odbc/oracle/libsqora.so.19.1
UsageCount=1
Příklad připojovacího řetězce:
Driver={Oracle 19 ODBC driver};Dbq=//<host>:<port>/<service_name>;Uid=<username>;Pwd=<password>;
PostgreSQL ODBC konfigurace¶
Entry in the /odbc/odbcinst.ini
:
[PostgreSQL Unicode]
Description=PostgreSQL ODBC driver (Unicode)
Driver=/odbc/postgresql/psqlodbcw.so
UsageCount=1
Záznam v souboru /odbc/odbcinst.ini
:
Driver={PostgreSQL Unicode};Server=<host>;Port=5432;Database=<database>;Uid=<username>;Pwd=<password>;
Ř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