HinemosでOracleのSQL監視を設定する方法をを知りたい方へ
Hinemosの監視機能を使って、OracleデータベースのSQL監視をしたいと考えているけれど、
Hinemosサーバ側の設定のやり方、CentOSへのOracle用のJDBCドライバの追加インストールの仕方が分からない、
と悩んでいませんか。
あと、インフラエンジニアになるためにおすすめの勉強法があれば知りたい、と考えていませんか?
HinemosでOracleデータベースのSQL監視をする手順を解説します。
本記事では、下記の内容を解説します。
- CentOS7.7サーバに Oracle(19c) 用のJDBCドライバを追加する手順
- Hinemos6.2マネージャ(CentOS7.7)に、OracleデータベースへのSQL監視を設定する手順
- インフラエンジニアになるためのおススメの勉強法の紹介
この記事を書いている私は、某SIerに勤務しながら、WEB系エンジニア・インフラエンジニアに憧れて、
プログラミングおよびインフラ技術の勉強をしています。
私が実機で試したコマンドや画像を載せて書いていますので、記事の信頼性担保に繋がると思います。
- HinemosでOracleのSQL監視を設定する方法をを知りたい方へ
- インフラエンジニアになるための勉強のやり方
- HinemosでOracleデータベースのSQL監視をする手順まとめ
Oracle用のJDBCドライバの入手(Oracleの公式サイトからダウンロード)
まず最初に、Oracleの公式サイトから、JDBCドライバのjarファイルをダウンロードする必要があります。
Hinemosインストール直後の状態だと、JDBCドライバは、「PostgreSQL」「SQL Server」用のものしか設定されていないからです。
※1 Linux版マネージャとWindows版マネージャはデフォルトではPostgreSQLとSQL Serverが利用可能です。
MySQLとOracleはプルダウンリストより選択可能な状態 になっておりますが、 JDBCドライバを別途配置する必要があります。
JDBCドライバの追加手順については、 「管理者ガイド 6.1.1 監視対象のRDBMSの追加」を参照してください。 引用元: 「Hinemos ver.6.2 ユーザーマニュアル 第3版 7.8 SQL監視」
OracleのJDBCドライバのダウンロード元
下記のURLにアクセスして、gzファイルをダウロードしてから展開すると、jarファイルが取得できます。
https://www.oracle.com/jp/database/technologies/appdev/jdbc.html
Oracle Database 19c (19.3) drivers
ojdbc8-full.tar.gz
ダウンロードした「ojdbc8-full.tar.gz」を展開する
Hinemosマネージャサーバの設定
JDBCドライバのjarファイルをHinemosマネージャサーバ(CentOS7)にアップロード
HinemosマネージャからJDBC Driver経由でRDBMSに接続します。
このため、SQL監視の対象RDBMSを追加するには、 そのRDBMSに対応したJDBC Driverを用意する必要があります。
(Java Runtime Environment 8.0で動作するJDBC Driverとなります) 引用元: 「Hinemos ver.6.2 管理者ガイド(Linux版マネージャ) 第3版 6.1.1 監視対象のRDBMSの追加」
ダウンロードしたtar.gzファイルを展開した中に入っていた「ojdbc8.jar」を
Hinemos6.2マネージャサーバ(CentOS7.7)の下記ディレクトリにアップロードします。
/opt/hinemos/plugins/
Hinemosマネージャの再起動
JDBC Driverを配置後、Hinemosマネージャを再起動する必要があります。
Hinemosマネージャを再起動しないと、HinemosにJDBCドライバが認識されません
Hinemosマネージャのステータス確認
service hinemos_manager status
[root@SV-SATURN ~]# service hinemos_manager status Redirecting to /bin/systemctl status hinemos_manager.service ● hinemos_manager.service - Hinemos Manager Loaded: loaded (/usr/lib/systemd/system/hinemos_manager.service; enabled; vendor preset: disabled) Active: active (running) since 水 2020-01-01 21:58:16 JST; 2 weeks 2 days ago Main PID: 5179 (java) CGroup: /system.slice/hinemos_manager.service mq5179 /usr/lib/jvm/jre-1.8.0-openjdk/bin/java -Djdk.xml.entityExp... 1月 01 21:58:15 SV-SATURN jvm_start.sh[5113]: sysctl: reading key "net.ipv..." 1月 01 21:58:15 SV-SATURN jvm_start.sh[5113]: sysctl: reading key "net.ipv..." 1月 01 21:58:15 SV-SATURN jvm_start.sh[5113]: sysctl: reading key "net.ipv..." 1月 01 21:58:15 SV-SATURN jvm_start.sh[5113]: sysctl: reading key "net.ipv..." 1月 01 21:58:15 SV-SATURN jvm_start.sh[5113]: sysctl: reading key "net.ipv..." 1月 01 21:58:15 SV-SATURN jvm_start.sh[5113]: sysctl: reading key "net.ipv..." 1月 01 21:58:15 SV-SATURN jvm_start.sh[5113]: sysctl: reading key "net.ipv..." 1月 01 21:58:15 SV-SATURN jvm_start.sh[5113]: waiting for Java Virtual Mac.... 1月 01 21:58:16 SV-SATURN jvm_start.sh[5113]: Java Virtual Machine started...) 1月 01 21:58:16 SV-SATURN systemd[1]: Started Hinemos Manager. Hint: Some lines were ellipsized, use -l to show in full.
Hinemosマネージャの停止
service hinemos_manager stop
[root@SV-SATURN ~]# service hinemos_manager stop Redirecting to /bin/systemctl stop hinemos_manager.service
[root@SV-SATURN ~]# service hinemos_manager status Redirecting to /bin/systemctl status hinemos_manager.service ● hinemos_manager.service - Hinemos Manager Loaded: loaded (/usr/lib/systemd/system/hinemos_manager.service; enabled; vendor preset: disabled) Active: inactive (dead) since 土 2020-01-18 12:44:51 JST; 10s ago Process: 26577 ExecStop=/opt/hinemos/bin/jvm_stop.sh (code=exited, status=0/SUCCESS) Main PID: 5179 (code=exited, status=143) 1月 01 21:58:16 SV-SATURN jvm_start.sh[5113]: Java Virtual Machine started...) 1月 01 21:58:16 SV-SATURN systemd[1]: Started Hinemos Manager. 1月 18 12:44:13 SV-SATURN systemd[1]: Stopping Hinemos Manager... 1月 18 12:44:13 SV-SATURN jvm_stop.sh[26577]: waiting for Java Virtual Mac.... 1月 18 12:44:13 SV-SATURN jvm_stop.sh[26577]: Thread Dump 1 1月 18 12:44:14 SV-SATURN jvm_stop.sh[26577]: Thread Dump 2 1月 18 12:44:15 SV-SATURN jvm_stop.sh[26577]: Thread Dump 3 1月 18 12:44:51 SV-SATURN jvm_stop.sh[26577]: .......done 1月 18 12:44:51 SV-SATURN jvm_stop.sh[26577]: Java Virtual Machine stopped 1月 18 12:44:51 SV-SATURN systemd[1]: Stopped Hinemos Manager. Hint: Some lines were ellipsized, use -l to show in full.
Hinemosマネージャの起動
service hinemos_manager start
[root@SV-SATURN ~]# service hinemos_manager start Redirecting to /bin/systemctl start hinemos_manager.service
[root@SV-SATURN ~]# service hinemos_manager status Redirecting to /bin/systemctl status hinemos_manager.service ● hinemos_manager.service - Hinemos Manager Loaded: loaded (/usr/lib/systemd/system/hinemos_manager.service; enabled; vendor preset: disabled) Active: active (running) since 土 2020-01-18 12:45:18 JST; 2s ago Process: 26577 ExecStop=/opt/hinemos/bin/jvm_stop.sh (code=exited, status=0/SUCCESS) Process: 26729 ExecStart=/opt/hinemos/bin/jvm_start.sh -W (code=exited, status=0/SUCCESS) Main PID: 26790 (java) CGroup: /system.slice/hinemos_manager.service mq26790 /usr/lib/jvm/jre-1.8.0-openjdk/bin/java -Djdk.xml.entityEx... 1月 18 12:45:17 SV-SATURN jvm_start.sh[26729]: sysctl: reading key "net.ip..." 1月 18 12:45:17 SV-SATURN jvm_start.sh[26729]: sysctl: reading key "net.ip..." 1月 18 12:45:17 SV-SATURN jvm_start.sh[26729]: sysctl: reading key "net.ip..." 1月 18 12:45:17 SV-SATURN jvm_start.sh[26729]: sysctl: reading key "net.ip..." 1月 18 12:45:17 SV-SATURN jvm_start.sh[26729]: sysctl: reading key "net.ip..." 1月 18 12:45:17 SV-SATURN jvm_start.sh[26729]: sysctl: reading key "net.ip..." 1月 18 12:45:17 SV-SATURN jvm_start.sh[26729]: sysctl: reading key "net.ip..." 1月 18 12:45:17 SV-SATURN jvm_start.sh[26729]: waiting for Java Virtual Ma.... 1月 18 12:45:18 SV-SATURN jvm_start.sh[26729]: Java Virtual Machine starte...) 1月 18 12:45:18 SV-SATURN systemd[1]: Started Hinemos Manager. Hint: Some lines were ellipsized, use -l to show in full.
Oracleデータベースサーバ側のfirewalldファイアウォールのポート開放
次は、監視される側のOracleデータベースサーバの方のファイアウォールのポート開放をして
Hinemosマネージャから、データベースへ接続できるようにします。
Hinemos専用のゾーン追加
firewall-cmd --new-zone=hinemoszone --permanent
[root@SV-PLUTO ~]# firewall-cmd --new-zone=hinemoszone --permanent success [root@SV-PLUTO ~]# firewall-cmd --zone=hinemoszone --set-target=ACCEPT --permanent success [root@SV-PLUTO ~]# firewall-cmd --zone=hinemoszone --add-source=192.168.1.107/24 --permanent success
Oracle用のポート1521を追加
firewall-cmd --zone=hinemoszone --add-port=1521/tcp --permanent
[root@SV-PLUTO ~]# firewall-cmd --zone=hinemoszone --add-port=1521/tcp --permanent success
再読み込みしてアクティブゾーンの確認
firewall-cmd --reload
firewall-cmd --get-active-zones
[root@SV-PLUTO ~]# firewall-cmd --reload success [root@SV-PLUTO ~]# firewall-cmd --get-active-zones hinemoszone sources: 192.168.1.107/24 managerzone sources: 192.168.1.101/24 public interfaces: ens192
Hinemosクライアント画面からの設定
接続先DBは「Oracle」を選択
今回は適当に下記のように設定
jdbc:oracle:thin:@//ホスト名:ポート番号/サービス名
Hinemosクライアント画面の監視履歴の確認およびOracleリスナーログの確認
監視履歴パースペクティブ画面で結果を確認
Oracleリスナーログの確認
リスナーログには以下のように出力されていました。
/opt/oracle/diag/tnslsnr/SV-PLUTO/listener/trace/listener.log
2020-01-18T12:59:32.025490+09:00 18-1月 -2020 12:59:32 * (CONNECT_DATA=(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=root))(SERVICE_NAME=ORCLCDB)) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.107)(PORT=60934)) * establish * ORCLCDB * 0 2020-01-18T13:00:49.008584+09:00 18-1月 -2020 13:00:49 * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.107)(PORT=60946)) * <unknown connect data> * 12537
参考にしたサイト
https://atomitech.jp/study/entry-480/atomitech.jp
インフラエンジニアになるための勉強のやり方
私は、某SIerに勤務しながら、WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。
現在の会社で直接担当している業務の中では、決まった技術しか触れないけれど、
「他にも将来役に立ちそうなインフラ技術を勉強したい」「働きながらでもできる効率的なインフラエンジニアの勉強方法を知りたい」と考えている方のために、
①おすすめの書籍と、②おススメのオンライン学習サイト、③おすすめのエンジニアスクールを紹介します。
働きながら勉強するための、おススメの書籍と、オンラインで学習できるサイトの紹介です。
インフラエンジニアの勉強ができるおススメ書籍
朝の通勤時や帰宅時の電車の中や、社外打合せへの移動中などに勉強するなら、やはり書籍が一番だと思います。
インフラエンジニアの教科書
LINE社に創業時から在籍しているインフラエンジニア・プロマネの「佐野裕」さんの本です。 twitter.com
膨大なトラフィックをさばくLINE社にて構築・保守を行っている現役エンジニアが記すITインフラの必須知識と経験の数々! サーバ、OS、ネットワーク機器、データセンター、購買と商談、障害対応、大規模インフラ、成長するために必要なスキルなど、基礎知識から実践まで言及。 ITインフラの世界が理解できる珠玉の1冊!
インフラエンジニアの教科書 (C&R研究所) 佐野裕 |
1週間でLPICの基礎が学べる本
Linuxの資格「LPIC」の試験対策を初心者向けに書いた入門書です。
Linuxの資格として広く知られているLPICですが、あまり知識の無いまま試験対策を始める人も多いのではないでしょうか。しかし、試験対策書は試験範囲についてのみ解説しているものが多く、初心者が理解するのは困難です。本書は、初心者がスムーズに試験対策を行えるよう、事前に基礎固めを行うLinux入門書です。試験情報や模擬問題も掲載しているので、資格取得を視野に入れた効率的な基礎学習が行えます。
1週間でLPICの基礎が学べる本 第3版 徹底攻略シリーズ (インプレス) 中島能和 |
インフラエンジニアの勉強ができるオンライン学習サイト
Udemy (オンライン動画学習サイト)
Udemy(ユーデミー)は、オンラインで動画で学習できるサービスです。
ITエンジニア系の講座もたくさん公開されています。
Udemyの特徴
- ユーザー登録すれば、第1回の講座は無料で視聴できる
- 無料のコンテンツもある
- 過去に受講した人の人数や、受講した人の評価も表示されるので選びやすい
インフラエンジニアの勉強ができる専門スクール
リナックスアカデミー(ITエンジニア専門スクール)
スクールというと、昼間働いている人には難しいかもしれませんが、
以下に紹介するスクールには、
Linuxサーバとネットワークとを両分野ともに学べるコースが、
夜間・土日での5か月~7か月の期間で用意されています。
リナックスアカデミー(ITエンジニア専門スクール) http://www.linuxacademy.ne.jp
リナックスアカデミーの特徴
- 初心者でも最短4週間でエンジニアになれる「IT教育専門機関」
- 100%ライブ抗議の「少人数クラス担任制」
- 実務スキルを身につける「PBL(Project Based Learning)」が充実
- 圧倒的な合格実績と「合格保証制度」
- 就職実績と「就職・転職サポート」が充実
リナックスアカデミーが選ばれ続ける最大の理由、それはIT技術に特化した日本初のIT教育専門機関だからということです。他を寄せ付けないカリキュラムと講師の質で日本No.1のオープンソース専門スクールだと認知されています。 スクールとしては世界で初めてLPI(Linux技術者認定機関)プラチナスポンサーに加盟し、LPI-Jアカデミック認定校第一号スクール、OSS-DBアカデミック認定校第一号スクール、PostgreSQL CE認定校、国内唯一のPHP技術者育成認定校Zend Authorized Training Center など、数々の認定を受けています。 先日来日したLPIC資格試験の開発責任者であるMatthew Rice氏にも、「世界でNo.1と言われる日本の市場で、リナックスアカデミーはNo.1のスクールだと言われている。それは素晴らしいことだ」という言葉を頂いています。
リナックスアカデミー(ITエンジニア専門スクール)の資料請求(無料)について詳しく見てみる
HinemosでOracleデータベースのSQL監視をする手順まとめ
- HinemosマネージャサーバにJDBCドライバのjarファイルを配置
- Hinemosマネージャを再起動
- Oracleデータベースサーバ側のファイアウォールのポート開放
- Hinemosクライアント画面から監視の設定
以上、読んでいただきありがとうございました。