Prometheusは、アプリケーションからメトリックを収集し、それらをデータベース、特に時系列ベースのDBに保存できる優れたオープンソースの監視システムです。 Prometheusの最大の利点は、データ処理に提供されるクエリ言語です。インターネットに接続された任意のデバイスから簡単に監視できるWebインターフェースを備えており、メトリックが構成されたしきい値を超えた場合の電子メールおよびSMSメッセージによるアラートもサポートします。
ここLinuxAPTでは、サーバー管理サービスの一環として、お客様が関連するソフトウェアインストールクエリを実行するのを定期的に支援しています。
これに関連して、Ubuntu20.04LTSにPrometheusをインストールする方法を検討します。
Ubuntu 20.04 LTS Focal FossaにPrometheusをインストールする手順?
1.システムアップデートを実行します
まず、ターミナルで次のaptコマンドを実行して、すべてのシステムパッケージが最新であることを確認します。
$ sudo apt update
$ sudo apt upgrade
2.NginxWebサーバーをインストールします
NginxはデフォルトのUbuntuリポジトリで利用できます。インストールするには、次のコマンドを実行します。
$ sudo apt install nginx
インストールが完了したら、コマンドを実行して、サーバーの起動時にNginxが自動的に起動できるようにします。
$ sudo systemctl stop nginx.service
$ sudo systemctl start nginx.service
$ sudo systemctl enable nginx.service
3.Prometheusユーザーを作成する
prometheusというユーザーとグループ、およびPrometheusというディレクトリを作成する必要があります:
$ sudo useradd -s /sbin/nologin --system -g prometheus prometheussudo mkdir /var/lib/prometheus
for i in rules rules.d files_sd; do sudo mkdir -p /etc/prometheus/${i}; done
4.システムにPrometheusをインストールします
wgetコマンドを使用してPrometheusの最新の安定したリリースをダウンロードします:
$ mkdir -p /tmp/prometheus && cd /tmp/prometheus
curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest | grep browser_download_url | grep linux-amd64 | cut -d '"' -f 4 | wget -qi -
tar xvf prometheus*.tar.gz
ファイルの抽出が完了したら、抽出したPrometheusアーカイブフォルダーの下にあるprometheusおよびpromtoolバイナリを/ usr / local/bindirectoryに移動します。
$ sudo mv prometheus promtool /usr/local/bin/
5.Prometheusを構成する
/ etc/prometheusディレクトリにprometheus.ymlという名前の構成ファイルを作成します。
$ sudo mv prometheus.yml /etc/prometheus/prometheus.yml
$ sudo mv consoles/ console_libraries/ /etc/prometheus/
$ sudo nano /etc/prometheus/prometheus.yml
prometheus.ymlの内容は次のとおりです:
私のグローバル設定
グローバル:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
Alertmanager configuration
alerting:
alertmanagers:
static_configs: targets:
# - alertmanager:9093
ルールを1回ロードし、グローバルな「evaluation_interval」に従って定期的に評価します。
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
スクレイプするエンドポイントを1つだけ含むスクレイプ構成:
これがプロメテウスそのものです。
scrape_configs:
# The job name is added as a label job= to any timeseries scraped from this config.
job_name: 'prometheus'
metrics_path defaults to '/metrics'
scheme defaults to 'http'.
static_configs:
targets: ['localhost:9090']
6.PrometheusSystemdサービスを作成する
次に、systemdサービスのファイルを作成します:
$ sudo nano /etc/systemd/system/prometheus.service
次のファイルを追加します:
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/docs/introduction/overview/
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=prometheus
Group=prometheus
ExecReload=/bin/kill -HUP \$MAINPID
ExecStart=/usr/local/bin/prometheus \
--config.file=/etc/prometheus/prometheus.yml \
--storage.tsdb.path=/var/lib/prometheus \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries \
--web.listen-address=0.0.0.0:9090 \
--web.external-url=
SyslogIdentifier=prometheus
Restart=always
[Install]
WantedBy=multi-user.target
次に、これらのディレクトリの所有権をPrometheusユーザーとグループに変更します。
for i in rules rules.d files_sd; do sudo chown -R prometheus:prometheus /etc/prometheus/${i}; done
for i in rules rules.d files_sd; do sudo chmod -R 775 /etc/prometheus/${i}; done
sudo chown -R prometheus:prometheus /var/lib/prometheus/
上記の構成が完了したら、次のコマンドを使用してsystemdをリロードします。
$ sudo systemctl daemon-relaod
$ sudo systemctl start prometheus
$ sudo systemctl enable prometheus
7.ファイアウォールを構成する
一方、ファイアウォールがHTTP(80)、HTTPS(443)、および9090ポートでのトラフィックを許可するように構成されていることを確認する必要があります。 Nginxはそれ自体をufwにサービスとして登録します:
$ sudo ufw allow in "Nginx Full"
$ sudo ufw allow 9090/tcp
8.PrometheusWebインターフェイスにアクセスする
Prometheusは、デフォルトでHTTPポート9090で使用できます。
お気に入りのブラウザを開き、http://your-domain.com:9090またはhttp:// server-ip-addreess:9090に移動して、インストールを完了するために必要な手順を完了します。