Prometheus連携
Prometheusは事前定義のエンドポイントからメトリックを抽出し、期限付きのデータとして保存するオープンソースの監視ツールです。
PrometheusとSite24x7サーバーエージェントを連携して、メトリックをオールインワンで集約し、アラートを行うことができます。このツールキットを使用して、アプリケーションのパフォーマンスの監視、レポートの表示、カスタムダッシュボードの作成を行えます。そのほかに、サードパーティアプリケーションとの連携、是正措置の自動化、ロードの効果的に操作させます。
目次
しくみ
Prometheusは、サーバー環境の複数のアプリケーションとサービスからメトリックを収集し、事前に設定したURLで記録されたアラートを生成します。Site24x7サーバー監視エージェントが、自動で対象のURLにアクセスし、設定した間隔でメトリックをプルしてSite24x7に送信します。その後、URLからのメトリックをサーバーが処理し、画面に表示します。IT自動化で、是正措置を自動で行うよう設定できます。ユーザー特有のレポートの出力、カスタムダッシュボードの作成、サードパーティ連携でのアラートの即時共有も行えます。しきい値を設定して、アラートの受信と、レポートでのメトリック把握を行えます。
これを実現するために、Prometheusはエクスポーターを使用しています。Prometheusでは160を超えるエクスポーターがサポートされています。このエクスポーターのカテゴリーリストはこちら
必要条件
- Linuxサーバー監視エージェントバージョン18.4.0以上で、Prometheusが有効化されています。
- 下記の各ReadMeファイルの手順で監視したいエクスポーターがダウンロードされていることを確認してください。
- エクスポーターがビルド、コンパイル、実行されていることを確認してください。これにより、対象URLの取得が有効化され、そのURLに関する全メトリックが監視されます。
- エクスポーターの対象URLが、連携時にエラーなく設定されていることを確認してください。
新規Site24x7サーバー監視エージェントのコマンドライン連携
次の手順で、Site24x7サーバー監視エージェントを新規にインストールします。
- 管理 > インベントリー > 監視の追加に移動します。
- Prometheus連携を選択します。
- トグルボタンを使用して、rootまたは非root権限で、エージェントをインストールし、インストール完了後、エージェントを実行してください。この手順で、自動化の有効または無効化を行えます。
- インスタンス名、Prometheus URLを指定して、監視したいメトリックの追加します。複数メトリックを監視したい場合は、パターンにマッチする正規表現を使用してください。
- コマンドをコピー後、実行して、エージェントをインストールし、Prometheus監視を有効にします。
例として、次の条件で、メトリックを取得したいとします:
名前がgc、またはmemstatsで、Site24x7サーバー監視エージェントにノードエクスポーターが連携されているメトリックを監視したいとします。エージェントはrootユーザーでインストールし、実行は非root権限で行います。プロキシ設定は有効にします。
wget https://staticdownloads.site24x7.com/server/Site24x7InstallScript.sh
bash Site24x7InstallScript.sh -i -key=xxxxxxxxxxxxxxxxxxxxxxxxx -proxy=user:password@proxyhost:proxyport -s24x7-agent -prometheus='[{ "instance_name" : "node-exporter" , "prometheus_url" : "http://localhost:9100/metrics" , "include_pattern" : "gc|memstats" }]'
Prometheus URL経由で取得されたメトリックが、この結果収集されます。このコマンド実行後、エージェントがメトリックを自動でプッシュします。
既存インストールエージェントのコマンドライン連携
エージェントがすでにインストールされている場合は、次の手順を行ってください。
- 次のエージェントインストールパスに移動します: <Agent-Installed-folder>/site24x7/monagent/
- 次のコマンドを実行して、エクスポーターを連携してください。
<Agent-Installed-folder>/site24x7/monagent/scripts/AgentManager.sh prometheus --add_config='[{"prometheus_url": "<url>","include_pattern": "<pattern_1>|<pattern_2>","instance_name": "<instance_name_to_add>"}]'
- コマンド実行後、エージェントが自動で再起動されます。
例として、次の条件でコマンドを実行するとします。
メトリック名がgcまたはmemstatsで、rootユーザーがインストールしたSite24x7サーバー監視エージェントをNodeエクスポーターと連携します。
/opt/site24x7/monagent/scripts/AgentManager.sh prometheus --add_config='[{"instance_name": "node-exporter", "prometheus_url": "http://localhost:9100/metrics","include_pattern": "gc|memstats"}]'
Prometheus URL経由でメトリックが取得され、収集が行われます。
エクスポーターを削除するには、次のコマンドを使用してください。
<Agent-Installed-folder>/site24x7/monagent/scripts/AgentManager.sh prometheus --remove_config='[{"instance_name": "exporter_name_to_remove"}]'
include_patternとして*を使用して、すべてのメトリックを監視できます。*を使用すると、膨大な数のメトリックが収集される可能性があるため、注意して使用してください。
手動連携
Site24x7サーバー監視エージェントをインストールして、次の手順でPrometheus連携を行ってください。
- サーバー監視エージェントホーム:/site24x7/monagent/metrics/prometheus/prometheus.cfgに移動します。
- デフォルトで、Prometheusは無効化されています。値をenabled = falseからenabled = trueに変更してください。
- 対象インスタンスデータを設定します。フォーマットは次のとおりです。
[exporter-name]
prometheus_url = <target url of the exporter>
include_pattern = <pattern_1>|<pattern_2>
- サーバー監視エージェントを再起動します。
設定が完了すると、エージェントがSite24x7にメトリックを送信します。メトリック > Prometheusに移動して、データの表示としきい値の追加を行えます。
連携した各エクスポーターで監視が作成されます。メトリック > Prometheusに移動して、それらを表示できます。
サンプル設定
- GitHubからエクスポーターをダウンロードして、監視に使用します。以下、サンプルとしてnode-exporterを使用しています。
- コンパイルの監視のReadMeファイルで、次の手順を行ってください。
- 次のコマンドを使用して、エクスポーターを実行します:
./node-exporter
- これにより、URLのメトリックが表示されます:http://localhost:9100/metrics
このURLをNodeエクスポーターの監視対象URLとして使用します。
- インストールパスで次のコマンドを実行してください。
<Agent-Installed-folder>/site24x7/monagent/scripts/AgentManager.sh prometheus --add_config='[{"prometheus_url": "http://localhost:9100/metrics","include_pattern": "node|gc","instance_name": "node-exporter"}]'
これにより、メトリック > Prometheus移動後の画面で、"node"および"gc"にマッチしたメトリックが表示されます。
パフォーマンスメトリック
ゲージ、カウンター、ヒストグラム、サマリーデータが、この連携により監視されます。Prometheusメトリック監視プロトコルでSite24x7にプッシュされたメトリックは、メトリック > Prometheusで表示されます。名前、タグ、タイプを基に検索を行えます。すべてのホスト名と対象インスタンス名もまたタグとしてメトリックに追加されます。
しきい値設定
各メトリックにしきい値を設定して、しきい値違反が起こった際にアラートを受信できます。各メトリックごとにしきい値を設定する方法は次のとおりです。
- Site24x7にログインし、メトリック > Prometheusに移動します。
- アクション列のメトリック横の鉛筆アイコンをクリックして、希望のしきい値を設定します。
- しきい値を入力し、条件 (<、<=、>、>=、=)を指定します。受け取りたいアラートタイプ(トラブルまたはクリティカル)を指定します。自動化機能を使用して、違反が発生した際に問題の是正措置を自動で行います。
- 保存をクリックします。
一括アクション:複数のメトリックに対して、同時にしきい値を設定できます。この設定を行うには、しきい値を関連付けたいメトリックを選択して、しきい値の編集をクリックします。同じしきい値設定を行い、選択したすべてのメトリックに適用したい場合、 チェックボックスすべてのインスタンスに適用を有効にします。
監視情報の編集
監視詳細の編集ページで、希望のユーザーグループの設定と通知設定を編集できます。
- ホームに移動し、表示されたPrometheus監視をクリックします。監視名横のハンバーガーアイコンをクリック後、編集をクリックします。
- 監視詳細の編集ページで、通知プロファイル、ユーザーアラートグループ、IT自動化、サードパーティ連携の設定を行えます。
- 保存をクリックします。
カスタムダッシュボードの作成
カスタムダッシュボードを使用して、単一ダッシュボードで、すべてのメトリックを表示するように作成できます。エージェントの連携が完了すると、メトリック > ダッシュボード > Prometheus - Default Dashboardにデフォルトのダッシュボードが作成されます。新規作成方法は次のとおりです。
- Site24x7にログインし、メトリック > Prometheusに移動します。
- ダッシュボードに追加したいメトリックを選択します。
- カスタムダッシュボードビルドタブをクリックします。
- ダッシュボード名を入力して、保存をクリックします。
新規タブにカスタムダッシュボードが開かれます。ダッシュボードの編集を使用して、メトリックを追加するか削除するかを選択します。共有機能を使用して、PDFやパーマリンクとしてダッシュボードの共有を行えます。 作成したダッシュボードはメトリック > ダッシュボードに表示されます。
カスタムダッシュボードページの各サーバー監視画面配下にすべてのメトリックが表示されます。
レポート
左側ペインのレポート項目で、時間ごと、日次、週次、月次ベースでレポートを出力できます。各サービスとアプリケーションの正常性トレンド、監視ステータス、インベントリーレポートを取得します。また、可用性サマリー、障害履歴、パフォーマンスレポートをメトリックレベルで、この項目から取得できます。
ライセンス
1アカウントごとに、しきい値チェックを除く500メトリックまで無料でご利用いただけます。それを超えると、しきい値チェックに関係なく、10メトリックごとに1ベーシック監視とみなされます。例は次のとおりです。
しきい値チェックのない500メトリック = 無料
100しきい値チェックのある500メトリック = 10ベーシック監視
500しきい値チェックのある1,000メトリック = 50ベーシック監視
デフォルトでは1,000メトリックまで追加することができます。これを超えて追加したい場合、サポート窓口までご連絡ください。