1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

OCIのCompute InstanceをPrometheus Node Exporterのメトリックで監視

Posted at

OCIのCompute Instanceからメトリックが取りたい!!!

テーマにも書きましたが、クラウド上で提供されているメトリック収集機能だけでは
「APの監視や、OSレベルの詳細な情報」が出来なくて困ったので備忘メモとして公開したいと思いますーー。

■この検証に必要なもの

  • OCIコンソールユーザ(以下のリストをいじれる権限は必要です)
  • VCN, Subnet(外部と通信できるようにセキュリティリストの穴あけを忘れずに!)
  • Compute Instance(VMで今回はやりました)

■■ゴールまでに実施すること

  1. VCN, VMの用意(ここは省略)
  2. VMのOracle Cloudエージェント設定
  3. ポリシー設定
  4. Prometeus Node Exporterインストール
  5. カスタムメトリック設定
  6. カスタムメトリックの利用先紹介

■■■やってみる

1. VCN, VMの用意

省略します。。

2. VMのOracle Cloudエージェント設定

OCIコンソールから1. の手順で作成したVMの詳細画面に進み、
Oracle Cloudエージェントの設定を確認すると下図のようになっています。
vm_detail1.png

「管理エージェント」に着目すると無効になっています。
これを有効にしましょう!
VM_detail2.png
有効になるには時間がかかりますが、完了すると実行中というステータスに変化します。

3. ポリシー設定

ここでは、作成したVMのメトリックを収集するため必要な設定を実行します。

  • ポリシー名:任意の名称
  • 説明:VMのメトリック収集等自由に記載(任意)
  • ポリシー
Allow any-user to use metrics in compartment id <VM構築したコンパートメントのOCID> where all {instance.compartment.id='<VM構築したコンパートメントのOCID>'}

4. Prometeus Node Exporterインストール

作成したVMにopcユーザでログイン

ログイン後、GitHubからのPrometheus Node ExporterのDownloadを実行します。

wget -P /tmp https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz

ダウンロードしたものを解凍します

sudo mkdir -p /etc/prometheus/nodeExporter
sudo chmod 755 /etc/prometheus
sudo chmod 755 /etc/prometheus/nodeExporter
sudo tar xvfz /tmp/node_exporter-1.6.1.linux-amd64.tar.gz -C /etc/prometheus/nodeExporter --strip-components 1

Node Exporterの動作テストをします

cd /etc/prometheus/nodeExporter/node_exporter
curl http://localhost:9100/metrics

ここでメトリックがたくさん表示されたらOKです!
(メトリックの実例はいつか持ってきます。取得忘れました。。)

Node Exporterをサービス化します

sudo vi /etc/systemd/system/node_exporter.service

---記述例
[Unit]
Description=Node Exporter

[Service]
User=opc
ExecStart=/etc/prometheus/nodeExporter/node_exporter-1.6.1.linux-amd64/node_exporter

[Install]
WantedBy=multi-user.target
-----

sudo systemctl daemon-reload
sudo systemctl enable node_exporter
sudo systemctl start node_exporter
sudo systemctl status node_exporter

statusがActiveになっていたらOKです

5. カスタムメトリック設定

まずSELinuxをpermissiveにする
※変更後、再起動が必要です。

次にメトリックを飛ばす設定をします

vi /opt/oracle/mgmt_agent/agent_inst/discovery/PrometheusEmitter/<任意の名称>.properties

---記載例
url=http://<ip_address>:9100/metrics
nodeName=<vm_name>
namespace=<OCIコンソール上での表示名>
metricDimensions=nodeName
allowMetrics=*
compartmentId=<コンパートメントOCID>

今回はnamespace=test_metricにしました。

設定が完了すると、
OCIコンソール>メトリックエクスプローラ画面にて対象のメトリックを確認することが可能になります。
monitoring_metric1.png

この設定の参考資料

こちらで主な作業は終了です。

6. カスタムメトリックの利用先紹介

  • カスタムメトリックで収集できる情報について
    カスタムメトリックを用いることでHelidonなどのMicroProfile準拠フレームワークを用いたアプリからのメトリック収集も可能になります。
    これによりOSだけでなくAPの監視を実行することが可能です。

  • 収集したメトリックの活用

  1. 収集したメトリックはダッシュボードに表示し確認する。
  2. アラートを設定し、閾値を超えた場合にメール・slack等に通知を実施する。
    などの活用法があります。

監視にお悩みの方に参考になればと思います。

おしまい

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?