CentOS7.9快速搭建prometheus

介绍

Prometheus是一个开源的系统监控和报警系统,监控功能很完善和全面,性能也足够支持上万台规模的集群。它是基于Go语言开发的一套开源的系统监控报警框架和时序列数据库(TSDB)。

容器监控的实现对比虚拟机或者物理机来说有比较大的区别,比如容器在k8s环境中可以任意横向扩容与缩容,那么就需要监控服务能够自动对新创建的容器进行监控,当容器删除后又能及时的从监控服务中删除,而传统的zabbix的监控方式需要在每一个容器中安装并启动zabbix agent,并且在容器自动发现注册及模板关联方面并没有比较好的实现方式。

搭建

搭建环境

首先搭建三台CentOS7.9虚拟机

虚拟机角色规划

|----------|----------------|-----------|-------------------|
| 主机名 | IP | 配置 | 角色 |
| hadoop64 | 192.168.193.64 | 2C+2G+20G | Prometheus server |
| hadoop65 | 192.168.193.65 | 1C+1G+20G | node-exporter |
| hadoop66 | 192.168.193.66 | 1C+1G+20G | node-exporter |

虚拟机配置端口映射

由于此处用的是虚拟机进行实验,可以配置虚拟机端口映射,方便在宿主机浏览器上进行效果

点击虚拟机左上角编辑 -虚拟网络编辑器

点击NAT模式 下的NAT设置

点击添加

如下图所示,添加两个端口映射30009090

添加hosts

三台机器均编辑 /etc/hosts 文件,添加如下内容保存

修改host

三台机器均按照下图所示修改host名称

配置网络

三台机器都按照图下所示配置网络

各个主机之间可以ping通

yum源搭建

三台机器均搭建好yum源(此处使用阿里云yum源.repo文件)

关闭防火墙

为方便实验,三台机器均关闭防火墙

创建安装目录

三台机器均创建好**/opt/software** 和 /opt/module 目录

上传安装资源包

资源包下载地址:CentOS7.9安装prometheus资源包资源-CSDN下载

将图下4个文件都传到hadoop64主机 /opt/software 目录下

只需要将node_exporter-install.tar.gz 文件上传到 hadoop65hadoop66 主机 /opt/software 目录下

服务安装

安装prometheus

解压文件

然后进入 prometheus-install 文件夹内,直接执行 install.sh 脚本即可

安装完成

查看 prometheus-server 服务,已经启动

此时可以在宿主机 浏览器输入192.168.193.64:9090 可以进入到prometheus的网页

点击图下所示Targets

进入图下所示界面代表服务正常运行

安装node-exporter

三台主机均按照下方指示进行操作,进入 /opt/software/node_exporter-install

执行脚本 install.sh

查询到三台机器的 node-exporter 服务均在正常运行

配置监控

hadoop64 这台机器上 /opt/module/prometheus-2.37.9 目录下编辑 prometheus.yml文件

原有文件

修改为(注意:node-exporter主机的目标端口号是9100,不是9090

重新加载配置文件

curl -X POST http://hadoop64:9090/-/reload

查看 192.168.193.64:9090可以看到被监控的主机情况

安装grafana

hadoop64 主机进入**/opt/software/grafana-install** 目录,执行 install.sh脚本

安装完成

启动服务

systemctl enable --now grafana-server.service

查看服务状态

访问grafana网页

浏览器输入 192.168.193.64:3000 用户名和密码都是admin

要求修改密码,可以选择skip跳过

配置grafana

按照路径点击

点击第一项Prometheus

按照图中所示编写,其他不用管

点击save & test后提示绿色即可

按照下图所示点击

导入模板,资源里面的 16098_rev5.json文件

按照下图所示点击Import

效果展示

最终呈现效果如下图所示

注:本文仅供学习使用,实际生产环境建议做好测试。

相关推荐
曲幽1 天前
FastAPI服务半夜又挂了?先别急着重启,查查你的数据库连接池“池子”是不是漏了
python·prometheus·fastapi·web·async·sqlalchemy·connection·pool
Dontla3 天前
高基数(High Cardinality)问题介绍(Prometheus、高基数字段、低基数字段)
前端·数据库·prometheus
川石课堂软件测试3 天前
requests接口自动化测试
数据库·python·功能测试·测试工具·单元测试·grafana·prometheus
没有口袋啦3 天前
基于 Prometheus + Grafana 的云原生立体化监控体系构建
grafana·prometheus
Dontla4 天前
Prometheus介绍(开源系统监控与告警工具)(时间序列数据库TSDB、标签化label-based多维分析、Pull模型、PromQL查询语言)
数据库·开源·prometheus
yunson_Liu5 天前
记一次logrotate.service处理过程
prometheus
TechWJ6 天前
Ansible 跨千台机器批量部署,Node Exporter 监控实现 Prometheus 统一采集
ansible·prometheus
却话巴山夜雨时i6 天前
互联网大厂Java面试:从Spring Boot到Kafka的业务场景深度剖析
spring boot·redis·spring cloud·微服务·kafka·prometheus·java面试
洒满阳光的午后7 天前
我做了一个“能理解业务语义”的可观测性 MCP Server:统一接入 Prometheus、OpenObserve 和 SkyWalking
人工智能·ai·prometheus·skywalking·openobserve·mcp