やりたい事
DatadogでRDS(Oracle)のテーブルスペースを監視したい!(タイトルのまんま)
やってみた環境
EC2 (Amazon Linux AMI 2018.03.0)
RDS (Oracle Standard Edition Two 12.1.0.2.v11)
やってみた大まかな流れ
- EC2へDatadog Agentをインストール
- EC2へOracle Instant Clientをインストール
- Oracle Instant Clientの設定
- RDSへDatadog用(メトリクス取得用)のユーザー作成と権限を付与
- Datadog Agentのconfigファイルを作成
つまづいたところ
基本的な手順は公式サイトに掲載されているのでその内容通りに進めていったところ、
監視用ユーザーに権限を付与するところでエラーとなりどうやってメトリクスを取得できるようにするかハマりました.....
エラーが発生したところ
GRANT SELECT ON gv_$sysmetric TO datadog;
※監視用に作成したユーザー名が「datadog」
解決した方法
とりあえず監視用ユーザーが動的パフォーマンスビュー(V$SYSMETRICなど)を
参照できる用になればいけるはず!ということで以下の権限付与を実行し実現しました。
動的パフォーマンスビュー参照権限を付与したコマンド
GRANT SELECT_CATALOG_ROLE TO datadog;
上記の大まか流れをもう少し詳しく記述した手順が以下の手順となります。
参考になれば幸いです (・∀・)
設定手順
EC2へDatadog Agentをインストール
Datadogの公式サイトからAmazon Linuxへのインストールコマンドを取得して実行します。
(DD_API_KEY=~~~~~~~~~ ってコマンド)
EC2へOracle Instant Clientをインストール (参考サイト)
Oracle Instant Clientのrpmをサイトからダウンロードします。
今回ダウンロードしたのは以下の2ファイル。
- oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
- oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
ダウンロードしたrpmファイルをEC2へアップロードします。
scp -i ~/<pemファイル保存場所パス>/<pemファイル名> ~/<rpmファイル保存場所パス>/oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm ec2-user@<EC2 IP address>:<EC2の保存先パス>
scp -i ~/<pemファイル保存場所パス>/<pemファイル名> ~/<rpmファイル保存場所パス>/oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm ec2-user@<EC2 IP address>:<EC2の保存先パス>
rpmファイルをインストールします。
yum install oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
yum install oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
Oracle Instant Clientの設定
sh -c "echo /usr/lib/oracle/12.1/client64/lib > /etc/ld.so.conf.d/oracle-instantclient.conf"
RDSへDatadog用(メトリクス取得用)のユーザー作成と権限を付与
RDSへ接続
sqlplus64 '<user name>@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<RDSエンドポイント>) (PORT=1521))(CONNECT_DATA=(SID=ORCL)))'
※SIDはデフォルト値で作成した場合のものです
ユーザー作成
CREATE USER <user name> IDENTIFIED BY <password>;
権限付与
GRANT CONNECT TO <user name>;
GRANT SELECT ON sys.dba_data_files TO <user name>;
GRANT SELECT_CATALOG_ROLE TO <user name>;
監視の設定
テーブルスペースのメトリクスが取れるようになっているのでDatadogで監視設定をして完!
最後まで読んで頂きありがとうございました。 (・ω・)ノシ