ZabbixでOCI Dbaas監視 - SQLで監視項目の取得


SQLを作成しOCI Dbaasの情報を取得して、Zabbixで表示させる設定。

前提

  • 対象ノードでZabbixでOCI Dbaas監視 - エージェント設定が完了していること。
  • 手順はASMのデータ使用率を取得する例(上記リンクの手順でインポートするZabbixテンプレートには既にASM使用率の監視アイテムが含まれています)。

ASMについて: ociのDbaaSは、ASM(Oracle Automatic Storage Management)という技術が使われており、ストレージ管理に使用されています。データファイルや、RedoログファイルなどASMに格納されているため、使用率など監視する必要があります。

SQLの配置

zabbixエージェント (ノード) にログイン。

SQLの作成、配置

以下pathに監視情報を取得するSQL配置する。SQLファイル名は任意で、ここではdb_asmdata.sqlとする。

# vi /etc/zabbix/scripts/agentd/zabbix-oci-dbaas/sql/db_asmdata.sql

監視情報取得のSQLについて

以下templateで"SQL文を記載"の箇所に、監視したい情報を取得するSQLを記載する。
・取得したい値のみが表示されるSQLにすること (SET~ で書式部分を非表示、where句で値をひとつに絞ること)。
・値は整数、浮動小数点、文字列等どれでもよいが、zabbixの監視アイテム設定時にデータ型を合わせること。
・最後にQUIT;を必ず記載する。でないと実行エラーとなる。

template

SET pagesize 0
SET heading OFF
SET feedback OFF
SET verify OFF

"SQL文を記載"

QUIT;

templateをもとに、ASMのデータ使用率取得SQLを作成 (db_asmdata.sql)

SET pagesize 0
SET heading OFF
SET feedback OFF
SET verify OFF

SELECT
ROUND(((total_mb-free_mb)/total_mb*100))
FROM v$asm_diskgroup
WHERE NAME in ('DATA');

QUIT;

Zabbixコンソールで監視アイテム設定

zabbixコンソールにログイン

設定 > テンプレート より Template_OCI_Dbaas を選択。

アイテム > アイテムの作成 をクリック。

各項目を入力して更新。

[項目]
名前: [Oracle]に続けて監視項目のアイテム名を記載。
タイプ: Zabbixエージェントのまま
キー: zabbix-oci-dbaas[{$ORACLE_SID},db_asmdata,1] ⇒ db_asmdataの部分は、SQLファイル名(db_asmdata.sql)の.sql以前を記載する。
データ型: 数値(整数)のまま。
監視の値が小数で、ここが浮動小数点型でないとエラーになるので、ちゃんと合わせること。
単位: ここでは%
監視間隔: 600
ヒストリの保存期間: 7d
トレンドの保存期間: 15d
アプリケーション: Oracleを指定

監視データ > 最新データ より値が取得できていることを確認する。

関連記事

・ZabbixでOCI Dbaas監視 - エージェント設定
・GrafanaでOCI Monitoring メトリクスのダッシュボード作成手順
・GrafanaでZabbixとOCI Monitoringのメトリクスを一元化