Zabbix データベースモニタ設定方法

こんにちは、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

参考:https://learn.microsoft.com/ja-jp/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver16&tabs=redhat18-install%2Calpine17-install%2Cdebian8-install%2Credhat7-13-install%2Crhel7-offline

インストールされたドライバのパスを確認(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アカウントを開設しました!★

タイトルとURLをコピーしました