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

推薦する

Zabbix で監視項目と集約されたグラフを設定するためのサンプルコード

1. ローカルマシンを監視するためにZabbixエージェントをインストールするエージェントソフトウェ...

SSL を実装するために nginx を設定する方法の例

環境説明サーバーシステム: Ubuntu 18.04 64ビットnginx: 1.14この記事では主...

MySQLインストーラがコミュニティモードで実行されている場合の解決策

今日、リモートデスクトップを実行してログインしているときにこのプロンプトを見つけました「MySQL ...

Vueはmockjsを使用してシミュレートされたデータケースの詳細を生成します

目次プロジェクトにmockjsをインストールするVueプロジェクトでmockjsを使用する基本的なプ...

Vue コンポーネント ライブラリ ElementUI はテーブル読み込みツリー データのチュートリアルを実装します

ElementUIは、参考のためにテーブルツリーリストの読み込みチュートリアルを実装しています。具体...

LinuxにComposerをインストールする方法

1. インストールスクリプト(composer-setup.php)を現在のディレクトリにダウンロー...

ウィンドウ表示効果を実現するJavaScript

この記事では、ウィンドウ表示効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

Vueスロットの実装原理についての簡単な説明

目次1. サンプルコード2. 現象を通して本質を見抜く3. 実施原則4. 親コンポーネントのコンパイ...

MySQL ストアド プロシージャの作成と呼び出しの詳細な説明

目次序文ストアドプロシージャ: 1. ストアドプロシージャの作成と呼び出し1. ストアドプロシージャ...

MySQL MHA 操作ステータス監視の概要

目次1. プロジェクトの説明1.1 背景1.2 実装設計1.2.1 従来の方法1.2.2 最適化され...

モバイルフロントエンド適応ソリューション(概要)

ネットで検索してみたところ、多くの面接でモバイル適応方法について質問されることが分かりました。最近い...

vue_drf は SMS 認証コードを実装します

目次1. 需要1. 需要2. SDKパラメータ設定1. ディレクトリ構造3. コードの実装1. バッ...

Linux でのマルチスレッドプログラミング例の分析

1 はじめにスレッド技術は 1960 年代にすでに提案されていましたが、マルチスレッドがオペレーティ...

MySQL シーケンス AUTO_INCREMENT の詳細な説明とサンプルコード

MySQL シーケンス AUTO_INCREMENT の詳細な説明とサンプルコードMySQL シーケ...