0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Linux で Prometheus と Node Exporterを動かす(コンテナではなくバイナリ)

Posted at

以下の記事を手元でやってみた時のメモです

今日から始めるPrometheusによるシステム監視(3) 〜Prometheusを使ってみよう〜

詳細は上記のほうが詳しく、本記事は自分用作業メモです

前提

  • 環境は EC2
  • 利用した OS は AmazonLinux 2
  • 利用した Prometheus のバージョンは「2.33.1」

Prometheus のインストール

現在の最新版を見る

Releases · prometheus/prometheus
https://github.com/prometheus/prometheus/releases

prometheus-2.33.1.linux-amd64.tar.gz

今回の環境は上記バイナリを使う

wget https://github.com/prometheus/prometheus/releases/download/v2.33.1/prometheus-2.33.1.linux-amd64.tar.gz

tar zxvf prometheus-2.33.1.linux-amd64.tar.gz

cd prometheus-2.33.1.linux-amd64/

 ls -laf
.   consoles           prometheus.yml  NOTICE      promtool
..  console_libraries  LICENSE         prometheus

./prometheus

接続確認

[ec2-user@ip-172-31-7-253 ~]$ curl http://localhost:9090/
<a href="/graph">Found</a>.

OK

リバースプロキシを使って 80番ポートでアクセスさせる

80番ポートでアクセスしたいのでリバースプロキシを使う

Apache 2.4 で リバースプロキシの設定 - Qiita

sudo yum install httpd -y

ただ、本環境では httpd.conf にはもモジュールは書いてないなく、00-proxy.conf に書いてあった

cat /etc/httpd/conf.modules.d/00-proxy.conf |grep mod_proxy
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_express_module modules/mod_proxy_express.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

00-proxy.conf の末尾に以下を追記

ProxyRequests Off
ProxyPass / http://localhost:9090/
ProxyPassReverse / http://localhost:9090/
sudo service httpd restart
Redirecting to /bin/systemctl restart httpd.service

確認

[ec2-user@ip-172-31-7-253 ~]$ curl http://localhost/
<a href="/graph">Found</a>.

OK

これで Public IP にアクセスすると式ブラウザ(expression browser)が見えた

Screen Shot 2022-02-11 at 7.18.34.png

Node Exporterの利用

この状態では何も監視していないので Node Exporter を使う

prometheus/node_exporter

wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz

tar -zxvf node_exporter-1.3.1.linux-amd64.tar.gz

cd node_exporter-1.3.1.linux-amd64/

./node_exporter

以下のようなログが出ていれば OK

ts=2022-02-10T22:24:33.633Z caller=node_exporter.go:199 level=info msg="Listening on" address=:9100
ts=2022-02-10T22:24:33.633Z caller=tls_config.go:195 level=info msg="TLS is disabled." http2=false

次に Prometheus 側の設定として、Node Exporter の情報を見れるようにする為に prometheus.yml を編集する

# backup
cp prometheus.yml prometheus.yml.back

vi prometheus.yml 

scrape_configs に target として Node Exporter(localhost:9100) を追加する。

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']
  - job_name: 'node'
    static_configs:
    - targets: ['localhost:9100']

その後、Prometheus を改めて起動

# Prometheus を一旦強制停止
kill -KILL 1181

# 改めて起動
./prometheus

これで Target を見るとエンドポイントとして Node Exporter が見える。

Screen Shot 2022-02-11 at 7.34.37.png

また、prometheus は自分自身(localhost:9090/metrics) で自分も監視している事が分かる。

次に記事と同じようにうメモリなどの情報が確認出来た。

Screen Shot 2022-02-11 at 7.40.53.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?