在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地址访问时,可以看到一个表达式浏览器。
使用节点导出器
在这种状态下,由于没有监视任何内容,所以可以使用 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作为终端节点。
另外,我们也可以看到 Prometheus 在本地主机(localhost:9090/metrics) 上对自己进行监控。
接下来能够确认与文章相同的内存等信息。