こんにちは、SCSK株式会社の小寺崇仁です。
今回は「データベースモニタ」について設定方法を紹介します。
データベースモニタとは
Zabbixのアイテムタイプに「データベースモニタ」があります。
データベースモニタでは、ZabbixサーバにインストールしたODBCドライバを使用して、監視対象のデータベースに接続し、任意のSQLを発行することができます。
このブログでは、ODBCドライバのインストール方法、アイテムの作成方法をご紹介します。
検証環境
AWS | EC2 |
OS | Red Hat Enterprise Linux release 9.4 (Plow) |
Zabbix | 7.0.0 |
MySQL/MariaDB | 10.5.22-MariaDB |
PostgreSQL | PostgreSQL 13.14 on x86_64-redhat-linux-gnu |
SQLサーバ(MSSQL) | Microsoft SQL Server 2019 (RTM-CU26) (KB5035123) – 15.0.4365.2 (X64) |
Oracle | Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 – Production |
MySQL/MariaDB
ODBCドライバのインストール(MySQL/MariaDB)
# dnf install mariadb-connector-odbc
インストールされたドライバのパスを確認(MySQL/MariaDB)
cat /etc/odbcinst.ini
~~~~~~~~~~
[MariaDB]
Description=ODBC for MariaDB
Driver=/usr/lib/libmaodbc.so
Driver64=/usr/lib64/libmaodbc.so
FileUsage=1
~~~~~~~~~~
アイテム作成(MySQL/MariaDB)
アイテム名 | 任意 | |
タイプ | データベースモニタ | |
キー ※1行です。 |
db.odbc.select[ mysql_example, , Driver=/usr/lib64/libmaodbc.so; Database=zabbix; Server=127.0.0.1; Port=3306] |
Select用のキー 任意文字(第1引数) 不使用(第2引数) 上記で確認したパス 接続先のDB名 接続先のサーバ 接続先のポート |
データ型 | 任意 | |
ユーザ | DB接続ユーザー | |
パスワード | DB接続パスワード | |
SQLクエリ | 実行SQL 例:select version(); |
PostgreSQL
ODBCドライバのインストール(PostgreSQL)
# dnf install postgresql-odbc
インストールされたドライバのパスを確認(PostgreSQL)
cat /etc/odbcinst.ini
~~~~~~~~~~
[PostgreSQL]
Description=ODBC for PostgreSQL
Driver=/usr/lib/psqlodbcw.so
Setup=/usr/lib/libodbcpsqlS.so
Driver64=/usr/lib64/psqlodbcw.so
Setup64=/usr/lib64/libodbcpsqlS.so
FileUsage=1
~~~~~~~~~~
アイテム作成(PostgreSQL)
アイテム名 | 任意 | |
タイプ | データベースモニタ | |
キー ※1行です。 |
db.odbc.select[ pgsql_example, , Driver=/usr/lib64/psqlodbcw.so; Database=zabbix; Server=127.0.0.1; Port=5432] |
Select用のキー 任意文字(第1引数) 不使用(第2引数) 上記で確認したパス 接続先のDB名 接続先のサーバ 接続先のポート |
データ型 | 任意 | |
ユーザ | DB接続ユーザー | |
パスワード | DB接続パスワード | |
SQLクエリ | 実行SQL 例:select version(); |
SQLServer(MSSQL)
ODBCドライバのインストール(MSSQL)
# curl https://packages.microsoft.com/config/rhel/9/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo # dnf install -y msodbcsql18
インストールされたドライバのパスを確認(MSSQL)
cat /etc/odbcinst.ini
~~~~~~~~~~
[ODBC Driver 18 for SQL Server]
Description=Microsoft ODBC Driver 18 for SQL Server
Driver=/opt/microsoft/msodbcsql18/lib64/libmsodbcsql-18.3.so.3.1
UsageCount=1
~~~~~~~~~~
アイテム作成(MSSQL)
アイテム名 | 任意 | |
タイプ | データベースモニタ | |
キー ※1行です。 |
db.odbc.select[ mssql_example, , Driver=/opt/microsoft/msodbcsql18/lib64/libmsodbcsql-18.3.so.3.1; Database=master; Server=10.0.0.1; Port=1433; TrustServerCertificate=yes;] |
Select用のキー 任意文字(第1引数) 不使用(第2引数) 上記で確認したパス 接続先のDB名 接続先のサーバ 接続先のポート 接続エラー対策 |
データ型 | 任意 | |
ユーザ | DB接続ユーザー | |
パスワード | DB接続パスワード | |
SQLクエリ | 実行SQL 例:SELECT @@VERSION AS ‘SQL Server Version’; |
Oracle
ODBCドライバのインストール(Oracle)
# mkdir /opt/oracle # cd /opt/oracle # wget https://download.oracle.com/otn_software/linux/instantclient/2111000/instantclient-basic-linux.x64-21.11.0.0.0dbru.zip # wget https://download.oracle.com/otn_software/linux/instantclient/2111000/instantclient-odbc-linux.x64-21.11.0.0.0dbru.zip # unzip instantclient-basic-linux.x64-21.11.0.0.0dbru.zip # unzip instantclient-odbc-linux.x64-21.11.0.0.0dbru.zip # echo /opt/oracle/instantclient_21_11 > /etc/ld.so.conf.d/oracle-instantclient.conf # ldconfig
参考:https://www.oracle.com/jp/database/technologies/instant-client/linux-x86-64-downloads.html
アイテム作成(Oracle)
アイテム名 | 任意 | |
タイプ | データベースモニタ | |
キー ※1行です。 |
db.odbc.select[ oracle_example, , Driver=/opt/oracle/instantclient_21_11/libsqora.so.21.1; Server_Name=10.0.0.2/ORCL; Port=1521] |
Select用のキー 任意文字(第1引数) 不使用(第2引数) 上記で確認しパス 接続先のサーバ/SID 接続先のポート |
データ型 | 任意 | |
ユーザ | DB接続ユーザー | |
パスワード | DB接続パスワード | |
SQLクエリ | 実行SQL 例:select * from v$version; |
動作状況
最後に
弊社ではZabbix関連サービスを展開しています。以下ページもご参照ください。
SCSK Plus サポート for Zabbix
★YouTubeに、SCSK Zabbixチャンネルを開設しました!★
★X(旧Twitter)に、SCSK Zabbixアカウントを開設しました!★