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 の使用に関する詳細な説明

推薦する

デザイナーはコーディングを学ぶ必要がありますか?

多くの場合、 Web デザインが完成した後でデザイナーの無知が露呈し、批判されることがあります。彼ら...

HTML チュートリアル: HTML 水平線分

<br />このタグを使用すると、画面上に水平線を表示して、ページのさまざまな部分を区切...

例を通してMySQLの更新がテーブルをロックするかどうかを判定する

2つのケース: 1. 索引あり 2. 索引なし前提条件:方法: コマンドラインを使用してシミュレート...

Uniappがスライディングスコアリング効果を実現

この記事では、スライディングスコアリングを実装するためのuniappの具体的なコードを参考までに共有...

vue+openlayer をベースにマップの集約と散乱効果を実現

目次序文:結果: 1.重合効果: 2. 散布効果:具体的な実装手順: 1. プロジェクトにOpenL...

複数のネットワークカードを備えた Linux システムでのルーティング構成の詳細な説明

Linux でのルーティング設定コマンド1. ホストルーティングを追加する ルートを追加 -host...

Linux で rpm パッケージを見つけるために CD をマウントする方法

前面に書かれたLinux を使用する際にソフトウェアをインストールする必要がある場合があります。もち...

IOSデータベースアップグレードデータ移行の詳細な例

IOSデータベースアップグレードデータ移行の詳細な例まとめ:昔、データベースのバージョン アップグレ...

MySQL 8.0.15 のインストールと設定方法のグラフィック チュートリアル (Windows 10 X64)

最近私が学んでいるのは MySQL の知識なので、MySQL をインストールすることが非常に重要です...

CSSでイメージマッピングを実装する方法

1. はじめにイメージマップを使用すると、画像の領域をホットスポットとして指定できます。この領域にマ...

テキストエリアのテキスト入力領域に改行を実装する方法

textarea 入力領域でテキストを折り返す場合は、<br/> と入力すると <...

forループ内のvarの問題の解決

序文var は ES5 における変数宣言方法です。var で変数を宣言するとループ変数がグローバル変...

あなたが知らない Linux KDE アプリケーション 11 選

翻訳Kool Desktop Environment の略称。 Linux、Unix、FreeBSD...

MySQL のロックに関する問題

ロックの分類:データ操作の粒度から:テーブルロック:操作時にテーブル全体がロックされます。行ロック:...

CSS3アニメーションジャミングソリューションについての簡単な説明

なぜ詰まっているのでしょうか?言及しなければならない前提があります。フロントエンド開発者は皆、ブラウ...