1. 概要Zabbix は非常に強力で、最も広く使用されているオープンソースの監視ソフトウェアです。この記事では、Zabbix + Python を使用して Oracle データベースを監視する方法を紹介します。 2. 環境の紹介以下は私がインストールした環境です。実際の展開は私のものと同じである必要はありません。 1. 監視マシン Redhat Linux 6.5 + Zabbix サーバー 3.4.10 + Python 2.6.6 (オペレーティング システムに含まれています) + Oracle Client 11.2 (x86_64) 2. 監視対象マシン Oracle 11.2.0.4 3. 監視方法を選択するZabbix の監視方法には主に 3 つの種類があります。 Zabbixエージェント 監視対象マシンに zabbix エージェントをインストールすると、zabbix エージェントは監視対象マシンによって収集されたデータを zabbix サーバーに送信します。この方法は最も一般的に使用されており、通常はサーバーの CPU やメモリなどの情報を収集するために使用されます。 SNMP の スイッチなどの一部のネットワーク デバイスには Zabbix エージェントをインストールできないため、ポートの状態やトラフィックなどの監視データは snmp 経由でのみ収集できます。 外部チェック zabbix サーバー上でクエリ スクリプトを実行して、監視対象マシン上のデータを直接クエリします。この方法では、監視対象マシンへのデプロイメントは必要ありません。すべてのクエリは zabbix サーバーから送信されるため、zabbix サーバーのパフォーマンス要件は比較的高くなります。公式では、この方法を大規模に使用することは推奨されていません。この方法は、少数の Oracle データベース サーバーに使用できます。 この記事では、外部チェックを使用して Oracle データベースを監視する方法について説明します。 4. 監視項目の計画データベースを監視する目的は、データベースの安定した運用を確保することです。障害が発生した場合、DBA はすぐにそれを発見し、介入して対処することができます。監視項目は次の 2 つのカテゴリに分かれています。 1. データベースのスペースが不足しているか、データベースに障害が発生しており、DBA がすぐに対処する必要があります。 監視項目には、表領域、ユーザー ステータス、インスタンス ステータス、ロック、大量の待機イベント、フラッシュバック領域の使用状況などがあります。このタイプの監視項目には、異常が発生した場合に適切なタイミングでアラームを発行できるようにトリガーを設定する必要があります。 2. データベース操作ステータスに関する統計情報の一部は、DBA がデータベース パフォーマンスの問題の時間とカテゴリを特定するための参考資料となります。 監視項目には、共通待機イベントの数、ヒット率、ハード解析率などが含まれます。 次の表は、添付ファイルのテンプレートの監視項目の一覧です。 5. インストール上記の説明の後、正式なインストール リンクに入りましょう。Zabbix サーバーはすでにインストールされていると想定しているため、ここでは Zabbix サーバーのインストール手順を省略します。 以下の操作はすべてZabbixサーバー上で実行されます Oracleクライアントをインストールする 公式サイトから以下の3つのrpmパッケージをダウンロードします。 Oracle-インスタントクライアント11.2-ベーシック-11.2.0.4.0-1.x86_64.rpm Oracle-インスタントクライアント11.2-devel-11.2.0.4.0-1.x86_64.rpm Oracle-インスタントクライアント11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm ルートを使用してOracleクライアントをインストールする rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm 環境変数の設定 vi + /etc/profile --------------------------------------------- エクスポート ORACLE_HOME=/usr/lib/oracle/11.2/client64 LD_LIBRARY_PATH=$ORACLE_HOME/lib をエクスポートします。 PATH=$PATH:$ORACLE_HOME/bin をエクスポートします。 設定を有効にするには、次のコマンドを実行します。 ソース /etc/profile 動的ライブラリ構成ファイルを追加する vi + /etc/ld.so.conf.d/oracle.conf --------------------------------------- oracle_client_lib は、次のディレクトリにあります。 ldconfigコマンドを実行する テストのためにOracleに接続する SQL> sqlplus scott/[email protected]:1521/orcltest SQL*Plus: リリース 11.2.0.4.0 プロダクション、2019 年 4 月 24 日水曜日 18:24:28 Copyright (c) 1982, 2013, Oracle. 無断複写・転載を禁じます。 接続先: Oracle Database 11g Enterprise Edition リリース 11.2.0.4.0 - 64 ビット製品 パーティショニング、OLAP、データマイニング、リアルアプリケーションテストのオプション SQL> 上記のプロンプトは、Oracle Clientが正常にインストールされていることを証明します。 Python関連パッケージをインストールする cx_Oracle(Oracleに接続するためのPythonパッケージ)をインストールします http://downloads.sourceforge.net/project/cx-oracle/5.1.2/cx_Oracle-5.1.2-11g-py26-1.x86_64.rpm を実行します。 rpm -ivh cx_Oracle-5.1.2-11g-py26-1.x86_64.rpm argparseをインストールする https://bootstrap.pypa.io/2.6/get-pip.py --no-check-certificate を実行します。 python 取得pip.py pip インストール argparse Pythonスクリプトをアップロードする 添付のpyora.pyスクリプトを/usr/lib/zabbix/externalscripts/ディレクトリに配置します。 zabbixユーザーがスクリプトを実行できるように権限を付与します chmod 755 /usr/lib/zabbix/externalscripts/pyora.py [注:まず、監視対象マシンの Oracle データベースに監視ユーザーを作成します。ユーザー名とパスワードは自由に指定できます。 zabbix によって識別されるユーザー zabbix を作成します。 接続を許可し、Zabbix に任意の辞書を選択します。 テストスクリプト python pyora.py --ユーザー名 zabbix --パスワード zabbix --アドレス 10.30.10.32 --ポート 1521 --データベース オフィス show_tablespaces 上記テストスクリプトのパラメータの説明 ユーザー名: ユーザー名 パスワード: パスワード アドレス: 監視対象マシンのIPアドレス ポート: ポート番号 データベース: Oracle サービス名 結果が返された場合は、スクリプトが正常に実行できることを意味します。 テンプレートファイルをアップロード 添付のPyora_ExternalCheck_11G.xmlテンプレートをzabbixサーバーにインポートします。 zabbix ページで、[構成] - [テンプレート] - [インポート] - [ファイルの選択] - [インポート] をクリックして、インポートを完了します。 監視データを表示する 監視 – 最新データ – ホスト(対応するホストを選択)を選択すると、監視データが表示されます。 参考: https://github.com/bicofino/Pyora 付録: pyora.py、Pyora_ExternalCheck_11G.xmlのアドレスはgithubにあります https://github.com/YangBaohust/zabbix_templates Zabbix を使用して Oracle データベースを監視する方法についての記事はこれで終わりです。Zabbix による Oracle データベースの監視の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: Vue カプセル化コンポーネント アップロード画像コンポーネント
<br />構造と階層により複雑さが軽減され、読みやすさが向上します。記事やサイトが整理...
この記事では、フォームデータの非同期取得を実現するためのJavaScriptの具体的なコードを例とし...
このデータベース クエリ ステートメントは、インターネット上の 50 個のデータベース クエリ練習問...
FileZilla Serverをサーバーにインストールすると、425データ接続を開けない問題が発生...
序文最近、穴を掘ってスペースを作っているだけなので、心が空っぽになっているように感じます。テクノロジ...
序文Linux 運用保守エンジニアとして、日々の業務の中で Linux サーバーの CPU 負荷が ...
目次1. 需要2. 効果3. すべてのコード1. 需要ユーザーが自分でテーブルを構成できるようになり...
1. 4つのrpmパッケージをダウンロードする mysql-コミュニティクライアント-5.7.26-...
GtkTreeView コンポーネントは、美しい通常のリストやツリーのようなリストを作成できる高度な...
前回の記事では、MySQL 5.7.19 無償インストール版 (64 ビット) の設定方法についての...
Win10 システムをインストールしていて、k8s クラスターを構築する場合、Win10 に付属する...
目次序文直接充填方式for ループの push() メソッド配列コンストラクタメソッド配列コンストラ...
mysql バッチで大量のデータを削除する1000万件のレコードを持つテーブル(syslogs)があ...
接続ツールを開きます。私はMobaXterm_Personal_12.1を使用します(公式サイトのダ...
フロントエンド プロジェクトとバックエンド プロジェクトは分離されており、フロントエンドとバックエン...