Zabbixを使用してOracleテーブルスペースの操作プロセスを監視する

Zabbixを使用してOracleテーブルスペースの操作プロセスを監視する

0. 概要

Zabbix は非常に強力なオープンソースの監視ツールです。以下では、Zabbix がテーブルスペースを監視する方法について説明します。この考え方に従えば、他の項目の監視も同様です。

前提条件は、zabbix サーバーと zabbix エージェントがすでに存在し、zabbix エージェントと Oracle データベースが同じマシン上で実行されていることです。

1.エージェント上でスクリプトを準備する

a. テーブルスペースの使用状況に関するスクリプトを定義する

/home/oracle/get_tablespace_usage.sh

#!/bin/bash
# テーブルスペースの使用状況を取得する
ソース ~/.bash_profile
機能チェック{
sqlplus -S "/ を sysdba として" << EOF
行サイズを200、ページサイズを200に設定
フィードバックをオフにする
/tmp/tablespace.log をスプールします
dba_tablespace_usage_metrics から tablespace_name、round(used_percent) used_percent を選択します。
巻き取る
やめる
終了
};
チェック &> /dev/null
エラー = `grep ERROR /tmp/tablespace.log | wc -l`
[ "$errors" -gt 0 ]の場合;
    エコー "" > /tmp/tablespace.log
フィ

chown oracle:get_tablespace_usage.sh

chmod 755 get_tablespace_usage.sh

b. 表領域の自動検出用のスクリプトを定義する

スクリプト

#!/bin/bash
# zabbix 自動検出 Oracle テーブルスペース
テーブルスペース=(`cat /tmp/tablespace.log | awk '{print $1}' | grep -v "^$"`)
長さ=${#テーブルスペース[@]}
printf "{\n"
printf '\t'"\"データ\":["
((i=0;i<$length;i++)) の場合
する
    printf "\n\t\t{"
    printf "\"{#TABLESPACE_NAME}\":\"${tablespaces[$i]}\"}"
    [ $i -lt $[$length-1] ]の場合;
        printf ","
    フィ
終わり
    printf "\n\t]\n"
printf "}\n"

chmod 755 /etc/zabbix/scripts/discovery_tablespace.sh

c. 表領域監視項目スクリプトを定義する

/etc/zabbix/scripts/テーブルスペースチェック.sh

#!/bin/bash
# Oracle 表領域チェック
テーブルスペース名=$1
grep "\b$TABLESPACE_NAME\b" /tmp/tablespace.log | awk '{print $2}'

chmod 755 /etc/zabbix/scripts/tablespace_check.sh

2. スクリプトaをcrontabに入れる

su - オラクル

crontab -e

*/5 * * * * /home/oracle/get_tablespace_usage.sh

実行結果は /tmp/tablespace.log にあります。最初の列は表領域の名前で、2 番目の列は対応する表領域の使用状況です。

例2                                                                                                                                                             
システム 3                                                                                                                                                             
システム5                                                                                                                                                             
TBS01 85                                                                                                                                                             
温度 0                                                                                                                                                             
非ドットBS1 0                                                                                                                                                             
ユーザー 1

3. エージェントパラメータを編集する

vi /etc/zabbix/zabbix_agentd.d/userparameter_oracle.conf
# テーブルスペースの使用状況
ユーザーパラメータ=discovery.tablespace、/etc/zabbix/scripts/discovery_tablespace.sh
ユーザーパラメータ=tablespace.check.[*],/etc/zabbix/scripts/tablespace_check.sh $1

4. Zabbixウェブインターフェースで関連オプションを設定する

a. テンプレートを作成します。テンプレートには好きな名前を付けることができます。ここではマクロを定義します

b. 自動検出ルールを作成する

c. 監視項目のプロトタイプを作成する

d. トリガータイプを作成する

e. グラフィックプロトタイプを作成する

5. テスト

テーブルスペースにテーブルを作成し、80% を超えるようにデータを挿入して、アラームが発生するかどうかを確認しました。

テスト合格しました!

Zabbix を使用して Oracle テーブル スペースを監視する操作プロセスに関するこの記事はこれで終わりです。Zabbix による Oracle テーブル スペースの監視に関する関連コンテンツの詳細については、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • 新しいプロジェクト用の Oracle テーブルの作成
  • Oracle一時表領域SQL文の実装
  • Oracleブロックチェーンテーブル作成プロセスの詳細な説明
  • Oracleテーブルパーティションの概念と操作
  • Oracleでテーブルデータを一括削除するいくつかの方法
  • PythonはOracleからデータを読み取り、グラフを生成します
  • Oracle 表領域拡張の詳細

<<:  Mysql で期間の交差をクエリする方法

>>:  Vue での this.$set の使用に関する詳細な説明

推薦する

この記事ではCSSボーダーの使い方を説明します

境界線のスタイルborder-style プロパティは、表示する境界線の種類を指定します。 bord...

トークンの有効期限が切れたときにページを更新するときに繰り返しプロンプトが表示されないようにする Vue について

トークンの有効期限が切れたら、ページを更新します。ページの読み込み時にバックエンドに複数のリクエスト...

IE のテキストモード! DOCTYPE の役割の紹介

前の記事で説明したフォームの自動入力の問題を解決した後、新しい問題が発生しました。ページの一部のスタ...

Reactはtodolistの追加、削除、変更、クエリを実装します

目次ToDoリストを例に挙げましょうディレクトリは次のとおりですアプリ入力.jsリスト.jsアイテム...

vue+tsは要素のマウスドラッグの効果を実現します

この記事の例では、要素のマウスドラッグ効果を実現するためのvue+tsの具体的なコードを参考までに共...

MySQLのイベントスケジューラEVENTを理解する

MySQL のイベント スケジューラ EVENT は、Unix crontab や Windows ...

ウェブページの表の分割線を削除する方法

<br />Web テーブルの分割線を削除する方法。実際、上記の 3 つの表はいずれも ...

MySQL の左結合操作における on 条件と where 条件の違いの紹介

優先度両方のケースで同じ条件を設定すると、異なる結果セットが生成される可能性があるのは、優先順位のた...

MySQL でデータ テーブルを作成し、主キーと外部キーの関係を確立する方法の詳細な説明

序文MySQL テーブルの主キーと外部キーを作成するときは、次の点に注意する必要があります。主キーと...

MySQL データベース開発の 36 の原則 (要約)

序文これらの原則は実際の戦闘から要約されています。あらゆる原則の背後には血なまぐさい教訓があるこれら...

Java は Apache.POI を使用して HSSFWorkbook を Excel にエクスポートします

Apache.POI の HSSFWorkbook を使用して Excel にエクスポートします。具...

Three.js が Facebook Metaverse 3D ダイナミック ロゴ効果を実現

目次背景メタバースとは何ですか?成果を達成するトライアル 1: THREE.TorusGeometr...

Linux は suid vim.basic ファイルを使用して権限昇格を実現します。

カリで再現まず、必要なvim.basicファイルにsuid権限を設定します。 chmod u+s /...

Tomcatディレクトリ構造の詳細な説明

目次ディレクトリ構造binディレクトリconfディレクトリlibディレクトリwebapps ディレク...