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のメトリクスを一元化