Azure

Azure Container Instances でPrometheus の Docker Image を展開して簡易監視環境を作る。

はじめに

くどうです。

今回はAzure Container Instances を利用してPrometheus 環境を構築する方法を説明していきます。
Container Instance 上で展開するメリットは一時的に展開して監視を行う場合です。
Containerを展開するのみなので、VMを立ち上げるより安易です。
あと、IaaSではないのでメンテナンスのさほどかからないですが費用面ではたぶん割高になると思います。
・・・Serverlessっぽくもありますね(白目

リクエスト
・DockerHubのアカウント
・Docker Imageを編集できる環境(ローカル、VMなど)

構成図は以下です。

・DockerHub
・Azure Container Instances
・VM(監視対象)

注意事項はセキュリティです。
上記の手法ではIP:9100とIP:9090はフルオープンです。

監視対象

監視対象となるVM(ex:ubuntu)を立ち上げます。
node-exporterをインストールします。

受信ポートに9100をanyで開けます。

グローバルIPを確認しておきます。
準備完了です。

Prometheus Container Imageを作成

Prometheus のContainer imageを作成します。

Prometheus のDocker ImageをBuildしようとすると下記のエラーが発生しました。

そこで、一度RunしてConfigを編集してCommitしてImageを作成しています。

編集ファイル
/etc/prometheus/prometheus.yml

targetsに監視対象(グルーバルIP:9100)を追記します。

対象をConfigに書き込んだらImageを取得しまします。

DockerHubにUploadします。
(事前に $sudo docker login が必要)

以上で準備完了です。
次は、Container Instanceを展開します。

Container imageをAzure Container Instancesに展開

ポータルから展開します。
DockerHubのレポジトリを指定します。

ポートは9090を指定します。

以上で完了です。
しばらくするとアクセス出来るようになります。

IPアドレス:9090にアクセスします。

しばらくするとグラフが確認できると思います。

まとめ

Container InstancesはDockerで利用できるものなら基本利用できるかと思います。
簡易環境の構築などにも利用できるのではないでしょうか。

再度書きますが注意事項はセキュリティです。
上記の手法ではIP:9100とIP:9090はフルオープンです。

Related post

  1. Azure

    elasticsearch + kibana を5分ぐらいで構築する。

    くどうです。Azure上にelasticsearchを5分で構…

  2. Azure

    Node Auto-Scaling + Kubernetes with ACS-Engine on …

    はじめにくどうです。Azure上に、ACS-Engineで…

  3. Azure

    AKS ( Kubernetes ) のPod からログをfluentd を使って収集してelast…

    はじめにくどうです。今回はKubernetesでのログ…

  4. Azure

    Azure PowerShell のインストールで注意すること。あれ? Azure Resource…

    はじめにくどうです。最近、PCを入れ替えてAzure PowerS…

  1. Azure

    Attunity Replicate Expressを使ってAzureにデータベ…
  2. dev

    Visual Studio 2017 をインストールしようとしたけど失敗、でも解…
  3. Azure

    AzureにVulsをインストールしてみる。コピペでどーん。
  4. Azure

    Azure DNS をポータルから使ってみた。シンプルです。
  5. Azure

    Power BIを使って仮想マシンのパフォーマンスログを確認してみる。
PAGE TOP