どのように迅速かつ簡単にインフラストラクチャ上の監視ツールを展開する!


皆さんこんにちは、私は今日あなたに私の最初の記事を提示することを非常に嬉しく思います.
監視ソリューションの自動化・展開とその適切な機能に必要なツールについて議論します.
今日展開している解決策はGrafanaです.このオープンソースのツールは、私たちの生産やテスト環境の監視を無料で設定することができます.
すべてのサービスはDockerizedです.サービスのコンテナ化へのこのアプローチは、個人的な選択です.私は様々なサービスをコンテナ化することが非常に重要であると考えます.

必要条件
あなたは私のgithubディレクトリから私の仕事をクローン/見ることができます
まず、サーバにSSHキーをコピーするために“ssh-copy-id”を使用する必要があります.これがなければ、実行できないでしょう.適切に実行するためにコードにいくつかの変更があります.
https://github.com/ArsNQ/deployMonitoring
ホストファイル
フォルダのルートにある“hosts”ファイルは、監視したいサーバのリストを含んでいます.[クラスタ]行の下にすべてのサーバ(IPアドレス、プライベートまたはパブリック)を追加する必要があります.そしてGrafanaをホストするサーバのIPアドレス[ GrafanaHost ]を追加する必要があります.

メールアドレス
フォルダの役割/deploygrafana/ファイルでは、alertManagerを変更する必要があります.以下の行のYMLファイル
      - to: "**mailaddress**"
      from: "**mailaddress**"
      smarthost: "smtp.gmail.com:465"
      auth_username: "**mailaddress**"
      auth_identity: "**mailaddress**"
      auth_password: "password
あなた自身のSMTPサーバーがあるならば、あなたはそれを使うことができます、しかし、あなたはSmarthost線を変える必要があります.プライベートSMTPサーバーを持っていない場合は、私のようにGoogleを使用することができます.それは非常に簡単で、多くのチュートリアルは、インターネット上に存在します.その後、あなただけの自分とすべてのメールアドレスを置き換える必要がありますし、それらに警告が表示されます.別の電子メールアドレスにこれらのアラートを受信したい場合は、単に“行”を変更する必要があります.

監視ファイル
次のファイルを変更する必要があります.京大理実際には、このファイルには、環境を監視するために列挙されたすべてのサービスが含まれます.これにより、どのサーバがアラートマネージャを実行しているか、ノードの輸出者がどこにいるかを知ることができます.
それで、我々はgrafanaと同じサーバー上で走っているalertManager(16行目)とprometheus(線20)を変更しなければなりません.それで、あなたはこれらの2つのフィールドで正確なIPアドレスを入力しなければなりません.
そして、ノード輸出者(ライン23 - xx)とCAdvisor(線29 - xx)部分のために、あなたはGrafanaのIPアドレスとモニターする環境を入力しなければなりません.
その後、ファイルの役割/deploygrafana/files/provisioning/ダッシュボード/データソースを変更しなければなりません.yml & prometheusが走っているサーバのIPアドレスを示します.これはPrometheus DataSourceにあるGrafanaに指示するファイルです.あなたがちょうど下記を見ることができるように、PrometheusはGrafanaとNode Exporter/CAdvisorをリンクさせることができます.そして、それはインターバル/syncronizerの役割を持ちます.

最後に、/deploygrafana/files/provisioning/configのパスワードを置き換える必要があります.Grafanaへの接続のパスワードです.

解説
この記事の冒頭に示すように、私はDockerを使用して、より良いサービスを管理することを決めました.これは、各コマンドが実行可能な使用中に実行されるためには、docker-compose up -dは、Dockerの構成を起動します.YMLは以前、各ロールのファイルフォルダに設定されていました.これらは右コンテナを起動するためにサーバー上で展開されます.
まず、スクリプトは異なる環境に接続し、最初のロールを実行します.これは、パッケージや依存関係のインストールの一連の構成されています.スクリプトが適切に実行できるようにします.

すべての環境が最新の状態になると、それはすべてのサーバー上の最初のノードの輸出者コンテナを実行します.私たちは、deploycAdvisorと呼ばれる2番目の役割に移ります.

そして、deployGrafanaと呼ばれる最後の役割は、Prometheus、GrafanaとAalertManagerコンテナを配備することに注意します.サービス内の構成ファイルと同様に.

そして、あなたのサービスの展開の後の結果は、ここにあります!

Grafanaプロメテウスを介してすべてのデータを収集し、あなたのWebインターフェイス上に表示することができます!
私はあなたの環境を監視する2つのテーブルをインポートしようと思った、1つの“Dockerの監視”&他の'インフラストラクチャ監視'.
あなたがそれにアクセスしたいならば、何もより簡単でありえません

表示するダッシュボードをクリックします.


概要
ここでは、データを簡単に概要を回復し、表示できるようになります.


パイプラインから展開を自動化する場合は、CI/CDでこの種の解決策を想像することができます.また、DRPでは、シンプルで効果的な監督を自動化する方法で展開することができます.
読書ありがとう!
私はあなたが私のためのフィードバックを持っている場合、このチュートリアルを楽しんでほしいと思う、躊躇しないでください!