Calendar]』(https://qiita.com/advent-calendar/2019/ansible2)18日目の記事です。HatでAnsibleのテクニカルサポートエンジニアをしている八木澤(ひよこ大佐)です。3.6.2のノードを、人気の監視ツール「Prometheus」から監視する手順をご紹介します。※下記手順は、基本的に公式ドキュメントの以下のページの手順に基づきます。docs.ansible.comPrometheusとは?OSSとして公開されている監視ソフトウェアです。詳細については、以下の公式サイトを確認してください。prometheus.io検証環境さっそく、検証用に以下のような環境を構築します。Towerをセットアップ、もう1台にPrometheusを構築します。Towerのセットアップ作業については割愛させていただきます。Towerのインストレーションについては、公式ドキュメントを参照してください。docs.ansible.comTokenの取得Prometheusが情報を取得するためには、Prometheusが情報取得に利用するユーザーのTokenを取得する必要があります。以下のAPIエンドポイントにアクセスし、「POST」をクリックすることで新しいTokenが発行されます。Tokenの取得Prometheusノードでの操作Prometheusのセットアップは、Dockerなどのコンテナ上に構築する場合と、通常のアプリケーションとして構築する2通りの方法があります。今回は、通常のアプリケーションとしてセットアップします。Prometheusのダウンロード以下のコマンドを実行し、PrometheusのパッケージをGitHubからダウンロードします。https://github.com/prometheus/prometheus/releases/download/v2.14.0/prometheus-2.14.0.linux-amd64.tar.gzダウンロードしたら、tarコマンドでアーカイブを展開します。展開したPrometheusのディレクトリに移動すると、prometheus.ymlという設定ファイルがあります。Towerの情報を取得するかを定義します。Towerには「/api/v2/metrics」というAPIエンドポイントがあり、ここに出力される情報をPrometheusによる監視に利用することができます。Prometheusディレクトリ内のprometheus.ymlを開き、「scrape_configs」のセクションを検索し、以下の記述を追記します。上記を追記したら、以下のコマンドを実行して、Prometheusを起動します。「nohup」を利用してバックグラウンドで起動し、出力をすべて「prometheus.log」に出力させるようにしています。&起動したら、早速アクセスできるか確認してみましょう。この検証環境では、以下のURLにアクセスすることでPrometheusのダッシュボードを開くことができます。cursor」をクリックすると、様々な情報を表示させることができます。Tower関連の情報は、「awx_*」のアイテムを選択し、「Execute」をクリックすることで表示できます。GrafanaもセットアップしてみるPrometheusのダッシュボードはかなりシンプルな作りなので、本格的な監視を検討するうえでは、もっと高機能なダッシュボードが欲しくなると思います。Prometheusとあわせてよく使われるのが「Grafana」というツールです。こちらのツールと組み合わせることで、よりかっこよく高機能なダッシュボードを使って、取得した情報を整理することができます。Grafanaのインストールでは、早速インストールしてみましょう。Prometheusを実行しているツールで以下のコマンドを実行し、rpmファイルをインストールします。grafana-6.5.2-1.x86_64.rpmリポジトリを登録してインストールすることもできます。詳細な手順についてはGrafanaの公式ドキュメントを参照してください。grafana.comGrafanaの起動インストールが完了したら、systemctlコマンドでGrafanaのサービスを起動します。UIにアクセスしてみましょう。以下のURLから接続することができます。http://192.168.100.20:3000アクセスすると、以下のようなログイン画面が表示されるので、ID/パスワードともに「admin」と入力し、ログインします。初回ログイン時は、パスワードの変更を求められます。新しいパスワードを入力し、「Save」をクリックします。パスワードの変更Grafanaの設定まず、GrafanaとPrometheusを連携させる必要があります。source」から、Prometheusをデータソースとして選択し、「Select」をクリックします。次に、詳細な設定を入力します。Test」をクリックします。これで、Prometheusから情報を取得することができるようになります。最後に、実際に取得した情報を確認するDashboardを設定します。dashboard」をクリックし、新しくDashboardを作成します。Query」をクリックします。ここでさきほどPrometheusで確認していたようなmetricsの情報をDashboardに表示させることができます。Towerで実行しているジョブと、Pendingになっているジョブの数を監視するパネルを作成してみましょう。「Metrics」を選択し、Prometheusの時と同様に確認したい情報を選択します。ここでは、「awx_running_jobs_total」と「awx_pending_jobs_total」をグラフ形式で表示させます。パネルに表示させるMetricsの設定この設定を保存すると、以下のように新たにDashboardが確認され、作成したパネルの内容を確認することができます。これ以外にも監視できる情報は数多くあり、Prometheus側のexporterを追加することでPostgreSQLの状態などを監視することもできますので、いろいろと試してみてください。Analytics」という機能を提供しています。Towerの監視が可能になります。Analyticsについては別の機会にまた改めて記事として取り上げたいと思いますので、ぜひ利用をご検討いただければと思います。(2)めりーくりすます。Hatのさいとうです。オブジェクト管理に関して皆さんこんにちは、ソリューションアーキテクトの岡野です。Hatのさいとうです。各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。