Prometheusを使用してUbuntu14.04サーバーを監視する方法

前書き ##

Prometheusは、SoundCloudによって開発されたオープンソースの監視システムです。他の監視システム(InfluxDBやGraphiteなど)と同様に、Prometheusはすべてのデータを時系列データベースに保存します。ただし、多次元データモデルと強力なクエリ言語を提供するため、システム管理者はインジケーターの定義を簡単に微調整できるだけでなく、より正確なレポートを生成することもできます。

さらに、Prometheusプロジェクトには、PromDash(カスタムダッシュボードの開発に使用できるブラウザーベースのツール)と、電子メール、Flowdock、Slack、HipChatなどを介してアラートを送信できる実験的なAlertManagerも含まれています。

このチュートリアルでは、Prometheus Server、Node Exporter、およびPromDashをインストール、構成、および使用する方法を学習します。

前提条件

このチュートリアルに従うには、次のものが必要です。

注:32ビットサーバーを使用する必要がある場合は、このチュートリアルに記載されているすべてのファイル名とリンクで、必ず-amd64 -386 **に置き換えてください。

ステップ1-Prometheusサーバーをインストールする

まず、このチュートリアルでダウンロードしたすべてのファイルを保存する新しいディレクトリを作成し、そのディレクトリに移動します。

mkdir ~/Downloads
cd ~/Downloads

wgetを使用して、GitHubからPrometheusサーバーと時系列データベースの最新バージョンをダウンロードします。

wget "https://github.com/prometheus/prometheus/releases/download/0.15.1/prometheus-0.15.1.linux-amd64.tar.gz"

Prometheus監視システムはいくつかのコンポーネントで構成されており、それぞれを個別にインストールする必要があります。すべてのコンポーネントを親ディレクトリに保持することをお勧めします。そのため、Prometheusサーバーのすべてのバイナリを格納するために1つと別のサブディレクトリを作成します。

mkdir -p ~/Prometheus/server

作成したディレクトリを入力します。

cd ~/Prometheus/server

tarを使用して prometheus-0.15.1.linux-amd64.tar.gzを抽出します。

tar -xvzf ~/Downloads/prometheus-0.15.1.linux-amd64.tar.gz

これで、Prometheusサーバーのインストールは完了です。次のコマンドを入力して、インストールを確認します。

. /prometheus -version

画面に次のメッセージが表示されます。

prometheus, version 0.15.1(branch: master, revision: 64349aa)
 build user:       julius@julius-thinkpad
 build date:20150727-17:56:00
 go version:1.4.2

ステップ2-ノードエクスポータをインストールする

Prometheusは、Webサービスを監視するために開発されました。 Ubuntuサーバーのメトリックを監視するには、NodeExporterと呼ばれるツールをインストールする必要があります。ノードエクスポータは、その名前が示すように、Prometheusが理解できる形式で、多数のメトリック(ディスクI / O統計、CPU負荷、メモリ使用量、ネットワーク統計など)をエクスポートします。

Prometheusディレクトリに node_exporterという名前の新しいディレクトリを作成し、次のディレクトリに入ります。

mkdir -p ~/Prometheus/node_exporter
cd ~/Prometheus/node_exporter

wgetを使用してノードエクスポーターの最新バージョンをダウンロードします。GitHubでダウンロードして、 Downloadsディレクトリに配置できます。

wget https://github.com/prometheus/node_exporter/releases/download/0.11.0/node_exporter-0.11.0.linux-amd64.tar.gz -O ~/Downloads/node_exporter-0.11.0.linux-amd64.tar.gz

これで、 tarコマンドを使用して node_exporter-0.11.0.linux-amd64.tar.gzを抽出できます。

tar -xvzf ~/Downloads/node_exporter-0.11.0.linux-amd64.tar.gz

手順3-ノードエクスポータをサービスとして実行する

ノードエクスポータの起動と停止を簡単にするために、ノードエクスポータをサービスに変換してみましょう。

/ usr / bin node_exporterバイナリファイルへのソフトリンクを作成します。

sudo ln -s ~/Prometheus/node_exporter/node_exporter /usr/bin

nanoまたはお気に入りのテキストエディタを使用して、 node_exporter.confという名前のUpstart構成ファイルを作成します。

sudo nano /etc/init/node_exporter.conf

このファイルには、 node_exporter実行可能ファイルへのリンクが含まれ、実行可能ファイルをいつ起動するかを指定する必要があります。したがって、次のコードを追加します。

# Run node_exporter
​
start on startup
​
script
 /usr/bin/node_exporter
end script

この時点で、ノードエクスポータは、次の serviceコマンドで開始できるサービスとして使用できます。

sudo service node_exporter start

ノードエクスポータが起動したら、ブラウザを使用して、利用可能なWebインターフェイスを http:// your_server_ip:9100 / metricsで表示します。多くのテキストを含むページが表示されます。

# HELP go_gc_duration_seconds A summary of the GC invocation durations.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"}0.00023853100000000002
go_gc_duration_seconds{quantile="0.25"}0.00023998700000000002
go_gc_duration_seconds{quantile="0.5"}0.00028122...

ステップ4-Prometheusサーバーを起動します

Prometheusサーバーがインストールされているディレクトリを入力します。

cd ~/Prometheus/server

Prometheusを起動する前に、まず構成ファイル prometheus.ymlを呼び出す必要があります。

nano ~/Prometheus/server/prometheus.yml

次のコードをファイルにコピーします。

scrape_configs:- job_name:"node"
 scrape_interval:"15s"
 target_groups:- targets:['localhost:9100']

これにより、 scrape_configsセクションが作成され、 nodeというジョブが定義されます。これには、ノードエクスポータのWebインターフェイスのURLが targets配列に含まれています。 scrape_intervalでは、プロメテウススクラッチインジケーターが15秒ごとに15秒に設定されます。

作品には好きな名前を付けることができますが、NodeExporterのデフォルトのコンソールテンプレートを「node」という名前で使用できます。

ファイルを保存して終了します。

Prometheusサーバーをバックグラウンドプロセスとして起動します。

nohup ./prometheus > prometheus.log 2>&1&

Prometheusサーバーの出力を prometheus.logという名前のファイルにリダイレクトすることに注意してください。 tailコマンドを使用して、ファイルの最後の数行を表示できます。

tail ~/Prometheus/server/prometheus.log

サーバーの準備が整うと、ファイルに次のメッセージが表示されます。

INFO[0000] Starting target manager...         file=targetmanager.go line=75
INFO[0000] Listening on :9090                 file=web.go line=118

ブラウザを使用して、 http:// your_server_ip:9090にあるPrometheusのホームページにアクセスします。次のホームページが表示されます。

PrometheusがNodeExporterからデータを確実に取得するには、ページ上部の[グラフ]タブをクリックします。開いたページで、を表すテキストフィールドにメトリックの名前(たとえば、** node_procs_running )を入力します。次に、青い実行ボタンを押します。下のチャート**(コンソールの横)をクリックすると、インジケーターのチャートが表示されます。

Prometheusには、一般的に使用されるいくつかのインジケーターのグラフを表示するために使用できるコンソールテンプレートがあります。これらのコンソールテンプレートにアクセスできるのは、Prometheus構成で job_nameの値が nodeに設定されている場合のみです。

http:// your_server_ip:9090 / consoles / node.htmlにアクセスしてノードコンソールにアクセスし、サーバー** localhost:9100 **をクリックしてそのメトリックを表示します。

ステップ5-PromDashをインストールする

Prometheusサーバーでは、グラフを表示して式を試すことができますが、通常は、デバッグ目的または1回限りのクエリの実行にのみ使用されます。 Prometheusの時系列データベースでデータを視覚化するための推奨される方法は、PromDashを使用することです。これは、高度に構成可能であるだけでなく、見た目にも美しいカスタムダッシュボードを作成できるツールです。

Prometheusディレクトリに入ります:

cd ~/Prometheus

PromDashはRubyon Railsアプリケーションであり、そのソースファイルはGitHubで入手できます。ダウンロードして実行するには、Git、Ruby、SQLite3、gem依存関係マネージャーであるBundler、およびそれらの依存関係をインストールする必要があります。これを行うには、 apt-getを使用します。

sudo apt-get update && sudo apt-get install git ruby bundler libsqlite3-dev sqlite3 zlib1g-dev

これで、 gitコマンドを使用してソースファイルをダウンロードできます。

git clone https://github.com/prometheus/promdash.git

promdashディレクトリに入ります。

cd ~/Prometheus/promdash

bundleを使用して、PromDashに必要なRubygemをインストールします。このチュートリアルではSQLite3を使用するようにPromDashを構成するため、 --withoutパラメーターを使用して[MySQL](https://cloud.tencent.com/product/cdb?from=10680)および[PostgreSQL](https://cloud.tencent.com/product/postgresql?from=10680)gemを必ず除外してください。

bundle install --without mysql postgresql

PromDashは複数のgemに依存しているため、このコマンドを完了するには数分待つ必要があります。終了すると、次のメッセージが表示されます。

...
Your bundle is complete!
Gems in the groups mysql and postgresql were not installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.

ステップ6-Rails環境をセットアップする

PromDashに関連付けられたSQLite3データベースを格納するディレクトリを作成します。

mkdir ~/Prometheus/databases

PromDashは、 DATABASE_URLという名前の環境変数を使用して、それに関連付けられているデータベースの名前を決定します。次のように入力して、PromDashが databasesディレクトリに mydb.sqlite3という名前のSQLite3データベースを作成します。

echo "export DATABASE_URL=sqlite3:$HOME/Prometheus/databases/mydb.sqlite3">>~/.bashrc

このチュートリアルでは、PromDashを実稼働モードで実行するため、 RAILS_ENV環境変数を productionに設定します。

echo "export RAILS_ENV=production">>~/.bashrc

.bashrcファイルに加えた変更を適用します。

.~ /.bashrc

次に、 rakeツールを使用して、SQLite3データベースにPromDashテーブルを作成します。

rake db:migrate

PromDashはRailsアセットパイプラインを使用するため、PromDashプロジェクトのすべてのアセット(CSSファイル、イメージ、およびJavascriptファイル)を事前にコンパイルする必要があります。次のように入力するだけです。

rake assets:precompile

ステップ7-PromDashを開始して構成する

PromDashは、薄くて軽量なWebサーバー上で実行されます。次のコマンドを入力して、サーバーをデーモンとして起動します。

bundle exec thin start -d

サーバーが起動するまで数秒待ってから、 http:// your_server_ip:3000 /にアクセスしてPromDashのホームページを表示します。

カスタムダッシュボードの作成を開始する前に、PromDashにPrometheusサーバーのURLを通知する必要があります。これを行うには、上部の[サーバー]タブをクリックします。 [**新しいサーバー] **をクリックし、フォームでPrometheusサーバーの名前を指定します。 ** Url フィールドを http:// your_server_ip:9090に設定し、 Server type フィールドを Prometheus **に設定します。

最後に、[サーバーの作成] をクリックして構成を完了します。ページにサーバーが正常に作成されましたと表示されます。 トップメニューのダッシュボードに戻ることができます。

ステップ8-ダッシュボードを作成する

PromdashダッシュボードはPromdashディレクトリに属している必要があるため、最初に[新しいディレクトリ]をクリックして新しいディレクトリを作成します。表示されたフォームで、ディレクトリにマイダッシュボードなどの名前を付け、[ディレクトリの作成]をクリックします。

フォームを送信すると、ホームページに戻ります。今すぐ[**新しいダッシュボード] ボタンをクリックして、新しいダッシュボードを作成します。表示されたフォームで、 Simple Dashboard **などのダッシュボードに名前を付け、ドロップダウンメニューから作成したディレクトリを選択します。

フォームを送信すると、新しいダッシュボードが表示されます。

ダッシュボードにはすでにグラフがありますが、構成する必要があります。チャートのタイトル(** Title **など)にマウスを合わせると、チャートを構成できるさまざまなアイコンが表示されます。タイトルを変更するには、[**グラフと軸の設定] **アイコン(左から4番目)をクリックして、[**グラフのタイトル] **フィールドに新しいタイトルを入力します。

データソースアイコン(左から2番目)をクリックして、1つ以上の式をグラフに追加します。 「**式の追加」をクリックし、「式の入力」フィールドに node_procs_running **と入力します。

次に、チャートタイトルの更新アイコン(左端のアイコン)をクリックして、グラフを更新します。これで、ダッシュボードに完全に構成されたチャートが含まれます。下部にある[チャートの追加]ボタンをクリックすると、チャートをさらに追加できます。

すべての変更を行った後、変更を永続的にするには、必ず右側の[**変更を保存] **ボタンをクリックしてください。次回PromDashのホームページにアクセスすると、ダッシュボードへのリンクが表示されます。

結論として ##

これで、Ubuntu 14.04サーバー上で完全に機能するPrometheusエコシステムを実行し、PromDashを使用して、ニーズに合った監視ダッシュボードを作成できます。

すべてのコンポーネントを単一のUbuntuコンピューターにインストールする場合でも、各コンピューターにノードエクスポーターのみをインストールし、新しいノードエクスポーターのURLを prometheus.yml配列の targetsに追加することで、コンポーネントを簡単に監視および更新できます。複数のコンピューター。

Prometheusの詳細については、その[ドキュメント](http://prometheus.io/docs/introduction/overview/)を参照してください。

Prometheusを使用してサーバー関連のチュートリアルを監視する方法の詳細については、[Tencent Cloud + Community](https://cloud.tencent.com/developer?from=10680)にアクセスして詳細を確認してください。


参照:「Prometheusを使用してUbuntu14.04サーバーを監視する方法」

Recommended Posts

Prometheusを使用してUbuntu14.04サーバーを監視する方法
Ubuntu16.04でSambaサーバーを使用する方法
PrometheusでCentOS7サーバーを監視する方法
ubuntuでhanlpを使用する方法
Ubuntu16.04にPrometheusをインストールする方法
Ubuntu14.04にBaculaServerをインストールする方法
Ubuntu14.04パート2でPrometheusをクエリする方法
Ubuntu14.04パート1でPrometheusをクエリする方法
Ubuntu16.04サーバーにZabbixをインストールする方法
Ubuntu14.04にDockerを使用してPrometheusをインストールする方法
Ubuntu18.04にSquidプロキシサーバーをインストールする方法
Ubuntu14.04でShinyServerをセットアップする方法
Ubuntu18.04サーバーで静的IPを設定する方法
UbuntuでTensorFlow使用環境を構成する方法
Ubuntu18.04サーバーで静的IPを設定する方法
Ubuntu20.04にアップグレードする方法
Ubuntu16.04でNginxのマップモジュールを使用する方法
Ubuntu20.04にDockerをインストールして使用する方法
ubuntuサーバー環境にpythonをインストールする方法
Ubuntuシステムでdpkgコマンドを使用する方法
ドッカーをubuntuサーバーにすばやくデプロイする方法
Ubuntu18.04にCurlをインストールして使用する方法
Ubuntu18.04にComposerをインストールして使用する方法
Ubuntu18.04にWineをインストールして使用する方法
Ubuntu14.04でDockerデータボリュームを使用する方法
Ubuntu20.04にComposerをインストールして使用する方法
Ubuntu14.04にBaasBoxをインストールして使用する方法
Jenkinsを使用してUbuntuで自動的にビルドする方法
Ubuntu16.04にPostgreSQLをインストールして使用する方法
Ubuntu14.04で解析サーバーを実行する方法
Ubuntu20.04にアップグレードする方法
Ubuntu16.04にDockerをインストールして使用する方法
LVMを使用してUbuntu18.04でストレージデバイスを管理する方法
Ubuntu18.04でDNSサーバーを設定する方法
Ubuntu14.04でMongoDBバックアップを作成して使用する方法
Ubuntu18.04にMySQLWorkbenchをインストールして使用する方法
Puttyを使用してVirtualBoxにインストールされているubuntuにログインする方法
Ubuntuのnginxサーバーでhttpsを開く方法
パイソンタプルの使い方
virtualboxを使用してubuntuをデプロイします
Ubuntu 16.04LTSにアップグレードする方法
UbuntuでGitサーバーを構築する方法を教えてください
Ubuntu16.04でNFSファイル共有サーバーを構築する方法
[クイックスタート] Ubuntu18.04にApacheWebサーバーをインストールする方法
UbuntuにHelmをインストールする方法
Ubuntu20.04にRubyをインストールする方法
Pythonのフィルター機能の使い方
pythonのヘルプ機能の使い方
Ubuntu20.04にJavaをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
pythonスレッドプールの使用方法
Ubuntu20.04にVirtualBoxをインストールする方法
Ubuntu20.04にElasticsearchをインストールする方法
UbuntuにProtobuf3をインストールするための詳細なチュートリアル
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu16.04にNode.jsをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
Ubuntu20.04にVagrantをインストールする方法
Ubuntu14.04にBacula-Webをインストールする方法