在Linux上运行Prometheus和Node Exporter(而不是容器)

这是我在实际操作以下文章时记录的笔记。

让我们一起开始使用Prometheus来进行系统监控吧!

以上的细节更详细,本篇文章是为了自己做工作备忘录。

假设

    • 環境は EC2

 

    • 利用した OS は AmazonLinux 2

 

    利用した Prometheus のバージョンは「2.33.1」

Prometheus的安装

看一下最新版本。

发布 · prometheus/prometheus
https://github.com/prometheus/prometheus/releases

普罗米修斯-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>.

好的

使用反向代理,在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>.

好的 – de

当使用公共IP地址访问时,可以看到一个表达式浏览器。

Screen Shot 2022-02-11 at 7.18.34.png

使用节点导出器

在这种状态下,由于没有监视任何内容,所以可以使用 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

如果出现以下类似的日志,那就没问题。

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.yml 文件,将 Node Exporter 的信息添加到 Prometheus 的配置中,以便能够查看 Node Exporter 的信息。

# backup
cp prometheus.yml prometheus.yml.back

vi prometheus.yml 

将Node Exporter(localhost:9100)作为目标添加到scrape_configs中。

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

稍后,重新启动 Prometheus。

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

# 改めて起動
./prometheus

当查看目标时,可以看到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
广告
将在 10 秒后关闭
bannerAds