プロメテウスをAKにインストールする


導入


この記事の主な意図(他のだけでなく)は、各技術/アプリケーションのすべての詳細については非常に深いチュートリアルを持っていない/しかし、この記事で説明されたトピックを知り始めている人々を助けることができる何か特定のための短いと簡潔なガイドはもちろん、もちろん、これを改善するために任意の勧告があります.ちょっと私にメッセージ/コメントを落とすために自由に感じてください.

プロメテウスとは


だから、今日、我々がここで話していることに直接ジャンプしましょう.Prometheus KNCF(Cloud Native Computing Foundation)プロジェクトの一つとしてKubernetes Worldで非常に人気があるモニタリングツールです.そして、この意味はコミュニティで大きなサポートを持つ非常に成熟した製品です.
環境を監視するためのお気に入りツールの一つにprometheusを作るいくつかの特徴があります.
  • プルの方法論(プロメテウスサーバーは、アプリケーションがプロメテウスサーバーにメトリックをプッシュするのを待つのではなくメトリクスのためにプルを意味する)
  • 非常に高速メトリックを収集し、集約を行う
  • Kubernetes環境だけでなく、データベースやWebサーバのような他のアプリケーションを監視するアーキテクチャ
  • アプリケーション、ハードウェア、プラットフォームなどの何百ものサポートを監視するhere is the list
  • これを念頭に置いて、それをインストールして、最初の試みのためにそれを構成し続けましょう.

    インストール方法


    この例では、プロメテウスをアンインストールしますAKS cluster (AzureのPaasとして走るKubernetesクラスタ).
    Kubernetesクラスタにprometheusを展開するための複数の方法がありますが、最も簡単なものと、より意味のあるものはヘルムチャートと呼ばれるものを使用することです.これは、「単一の」アイテム(1つのチャート)としてインストールすることを意味しますが、代わりに、ソリューションを適切に動作させるために必要なリソースをクラスタに展開します(POD、レプリカセット、展開、サービス、秘密などを考えてください).

    ヘルムとは


    ヘルムは、我々は、ソリューションを動作させるために独立してすべてのリソースを管理するために必要な複雑さを削除している代わりに、チャートに設定ファイルを提供し、グラフを展開するために必要な複雑さを削除しているヘルムを使用して、解決策を解決するために全体として使用されるYAMLファイルの束をパッケージ化することができます技術です.これは、すべてのリソースを作成し、適切に設定します.
    ヘルムを使用する利点の1つは、これらのグラフを維持して使用するリポジトリに依存することができますが、グラフの独自のバージョンをローカルまたはプライベートリポジトリで維持することもできますので、必要に合わせて調整することができます(既定値を使用せずにグラフでカスタムDockerイメージを使用するように、例えばセキュリティの必要性を考えてください).
    別の特徴は、あなたがコンテナイメージを保存する同じリポジトリでそれらのチャートを保存することができます、そして、それらはあなたがコンテナイメージでするのと同じ方法をバージョンします.
    各グラフは、アプリケーションが動作するように動作するリソースのグループを表すため、独自のファイルセットを持っているので、プロメテウス用のヘルムチャートに必要なリソースは、たとえばCERTマネージャに必要なリソースではありませんが、このアイデアは同じですが、いったん展開されたYAMLファイルのセットは、アプリケーションを実行するために一緒に動作します.
    ヘルムチャートを使用するには、あなたのシステムにインストールされているヘルムを持っている必要がありますし、使用するリポジトリを追加するには、リポジトリ内の各ヘルムチャートの生活は、グラフを取得するために必要なファイルを取得する必要があります.

    リポジトリの追加
    この記事では、デフォルトのプロメテウスヘルムチャートを使用します

    必要条件


    この記事については、次のようになります.
  • AKクラスタのアップロードとランニング、何も特別な、ちょうどベース展開は素晴らしいです、あなたは次のことができますtutorial (今後はチュートリアルを作ります)
  • KubectlとHelmをインストールした端末
  • コミュニティのヘルムリポジトリ
  • インストール


    まず最初に、prometheus community helmリポジトリを追加し、ローカルリポジトリリストを次のコマンドを実行して更新します.
    helm repo add prometheus-community https://prometheus-community.github.io/helm-charts 
    helm repo update
    
    今すぐにインストールできるすべてのチャートをチェックすることができます.
    helm search repo prometheus-community
    

    パーフェクト!私たちはそこにたくさんのチャートを見ることができます.それらは私たちがインストールすることができる異なった要素です、しかし、今日、我々は「プロメテウス」と呼ばれるものに集中します
    あなたは、列名チャートバージョンがあることを参照してください、これはプロメテウスではなく、グラフ自体のバージョンです.これは、チャートが構成されている方法で変更を加えることができます.すべてのグラフのバージョンを見ることができます.
    helm search repo prometheus-community/prometheus -l | grep -v "prometheus-community/prometheus-"
    
    grepはリストから他のすべてのチャートを削除することです

    プロメテウスをインストールした場合、必要なグラフのバージョンを伝えることなく、最新版をインストールします.
    今すぐインストールしましょう.
    helm install prometheus prometheus-community/prometheus
    
    *リポジトリ/チャートの名前の前の「プロメテウス」は、この展開に与える名前です.

    今、私たちはプロメテウスサーバーをインストールし、準備ができて、我々が展開したものをKubernetesでチェックしましょう(私はチャートをインストールしている間、「デフォルト」名前空間を選んだので、私のチャートは「デフォルト」名前空間で展開されました).
    つの重要なことは、ヘルムチャートをインストールするとき、それがKubernetesの名前空間にインストールされ、別の名前空間に変更され、インストールされたグラフを参照しようとすると、他の名前空間にインストールされているものが表示されません.これをイメージに入れて、もっとよく説明しましょう.
    これはhelm list 私の「デフォルト」名前空間で

    これはhelm list 別の名前空間で

    Kubernetesでは、自動的に作成されたすべてのリソースを見ることができます.
    kubectl get all
    

    ヘルムチャートをインストールした後に説明した手順に従って、プロメテウスサーバが動作しているマシンにポートを転送する必要があります.
    export POD_NAME=$(kubectl get pods --namespace default -l "app=prometheus,component=server" -o jsonpath="{.items[0].metadata.name}")
    
    kubectl --namespace default port-forward $POD_NAME 9090
    
    あなたのKerbernetesコマンドを実行するためにWSLを使用しているならば、あなたは働くためにいくつかの余分なステップをする必要があります
  • まず実行しているWSLのIPアドレスを確認しますwsl hostname -I WSL内のポートを公開している場合は、localhost : portを実行してホストマシン( Windows )内のポートにアクセスできません.
  • 第二に、ポートフォワードコマンドを含める必要がありますkubectl --namespace default port-forward --address 0.0.0.0 $POD_NAME 9090
  • 第三に、代わりにWSL IP (ステップ1からのもの)を使うべきですlocalhost プロメテウスにアクセスする
  • これで、我々は現在我々のブラウザーとアクセスに行くことができますlocalhost:9090 このダッシュボードを見るには

    PromeTheusはデフォルトで収集されたデフォルトのメトリクスをたくさん持っており、チェックボックスで何かを書き始めることができます.
    例として:

    そして今、残っている唯一のものは、Memeics Prometheusを掘り出すことです、多分、いくつかの輸出業者を加えて、多分アラートマネージャを構成してください?(これは別のポストについての話題です.(これに関する記事は既にキューに入っています😉 )

    最終語


    私はあなたがPrometheusと非常に簡単に実装すると同時に、非常に強力な場合は、このガイドまたは任意の勧告に従って任意の問題がある場合は、コメントのセクションで教えてくださいとしてプロメテウスから始めることを願っています.