前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >普罗米修斯の初体験

普罗米修斯の初体験

原创
作者头像
Bess Croft
发布于 2021-12-24 01:23:00
发布于 2021-12-24 01:23:00
5290
举报
文章被收录于专栏:贝丝的专栏贝丝的专栏

前言

为什么我会选择普罗米修斯(Prometheus)?Prometheus 是按照 Google SRE 运维之道的理念构建的,具有实用性和前瞻性。同时也是基于 Go 语言开发的,性能好,安装部署也简单,甚至跨平台(包括 arm 平台)。作为对服务基础和业务监控,Prometheus 是一个非常好的选择。

什么是普罗米修斯?

咱们这里引用官方的术语:

Prometheus 是一个开源系统监控和警报工具包,它可以收集系统信息,并将其发送到一个或多个监控中心。Prometheus 将其指标收集并存储为时间序列数据,即指标信息与记录它的时间戳一起存储,以及称为标签的可选键值对。

这里引入官网的图,说明 Prometheus 的架构及其一些生态系统组件:

安装

安装方式有很多,二进制包或者 Docker 都可以,这里我们选择二进制包。

安装环境

这里俺用的是 Ubuntu 20.04,别问我为啥,主要是我内存最大的机器就是这台了(24G 内存),只不过,它是 arm64 架构的,所以下面的教程是运行在 arm64 架构的服务器上面的,当然,你也可以用本教程在 amd64 架构下安装,包括腾讯云 KVM 以及轻量应用服务器,只有一些细微的区别,咱们下面会讲到。

安装 Prometheus

下载 Prometheus

你可以去官网,或者 GitHub发布页面下载安装包,这里我下载的是 GitHub 仓库的包。

  • 如果你是 amd64 架构的服务器
代码语言:txt
AI代码解释
复制
wget https://github.com/prometheus/prometheus/releases/download/v2.31.0/prometheus-2.31.0.linux-amd64.tar.gz
tar xfz prometheus-2.31.0.linux-amd64.tar.gz
sudo cp prometheus-2.31.0.linux-amd64/prometheus /usr/local/bin/
sudo cp prometheus-2.31.0.linux-amd64/promtool /usr/local/bin/
  • 如果你是 arm64 架构的服务器
代码语言:txt
AI代码解释
复制
wget https://github.com/prometheus/prometheus/releases/download/v2.31.0/prometheus-2.31.0.linux-arm64.tar.gz
tar xfz prometheus-2.31.0.linux-arm64.tar.gz
sudo cp prometheus-2.31.0.linux-arm64/prometheus /usr/local/bin/
sudo cp prometheus-2.31.0.linux-arm64/promtool /usr/local/bin/

最主要的差异,就是要下载不同的包,后面的配置几乎相同

配置 Prometheus
  • 检查
代码语言:txt
AI代码解释
复制
prometheus --version

执行命令,出现如下图所示,就成功了!

我们在刚才解压后的文件夹下面,可以找到一个子目录 prometheus ,然后可以找到一个配置文件 prometheus.yml 。咱们现在需要把 prometheus.yml 这个初始配置文件复制到 /etc/prometheus 目录下,然后简单配置就可以启动啦。当然,你也可以按照自己的需求来配置,具体可以参考官方的配置文档

代码语言:txt
AI代码解释
复制
sudo mkdir -p /etc/prometheus
sudo cp prometheus.yml /etc/prometheus/
  • 默认的部分配置如下:
代码语言:txt
AI代码解释
复制
scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]

我们可以看到端口是 9090 ,你可以按需求改为其它的。

启动 Prometheus

接下来咱们启动看看

代码语言:txt
AI代码解释
复制
prometheus --config.file "/etc/prometheus/prometheus.yml"
  • 如果发生了异常,则可以使用 prometool 工具来检查你的配置文件。
代码语言:txt
AI代码解释
复制
promtool check config "/etc/prometheus/prometheus.yml"

如果输出如下提示,说明没问题了!

代码语言:txt
AI代码解释
复制
Checking /etc/prometheus/prometheus.yml
  SUCCESS: 0 rule files found

配置 service 方式运行 Prometheus

  • 新建一个 service 文件
代码语言:txt
AI代码解释
复制
sudo vim /etc/systemd/system/prometheus.service
  • 编辑如下内容保存即可!
代码语言:txt
AI代码解释
复制
[Unit]
Description=prometheus

[Service]
User=root
ExecStart=prometheus --config.file "/etc/prometheus/prometheus.yml"
Restart=on-abort

[Install]
WantedBy=multi-user.target
  • 设置开机启动
代码语言:txt
AI代码解释
复制
sudo systemctl enable prometheus
  • 启动 Prometheus
代码语言:txt
AI代码解释
复制
sudo systemctl start prometheus

这样便大功告成啦!

配置 HTTPS 和反向代理

如果你的服务器是 HTTPS 的,那么需要配置 HTTPS 的证书和私钥,这里俺使用的是 Let's Encrypt 的证书,可以去官网下载。具体如何操作就不说了,如果你不会,应该去学习如何使用 Nginx,并学会配置 HTTPS 证书。

  • 配置 Nginx 反向代理

这里我放出我的配置吧,你可以根据你的需求,参考使用:

代码语言:txt
AI代码解释
复制
location /
{
    proxy_pass http://127.0.0.1:9090;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    
    add_header X-Cache $upstream_cache_status;
    
    #Set Nginx Cache
    add_header Cache-Control no-cache;
}

Prometheus 启动监听在本地回环地址 localhost:9090 ,所以公网是无法直接访问的,我也不太建议你开放防火墙,这样能带来一定的安全保护。

预览

这时候咱们访问域名,就能看到页面啦!

这里提示,我这不是生产环境,只是拿来练手学习,所以无所谓,生产环境不建议这么做!可以通过 ssh 端口转发方式实现远程访问。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
普罗米修斯Prometheus监控神器
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/161742.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/09
2K0
搞定Prometheus普罗米修斯监控系统
AAA公司是一家电商网站,由于公司的业务快速发展,公司要求对现有机器进行为业务监控,责成运维部门来实施这个项目。
全栈程序员站长
2022/09/09
6.1K0
搞定Prometheus普罗米修斯监控系统
Centos7安装Promethus(普罗米修斯)监控系统完整版
Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数 据库的组合。适合监控docker容器。因为kubernetes(俗称k8s)的流行带动 了prometheus的发展。 https://prometheus.io/docs/introduction/overview/
全栈程序员站长
2022/09/05
3.7K0
Centos7安装Promethus(普罗米修斯)监控系统完整版
从指标到洞察力的普罗米修斯
普罗米修斯官网的首页简单的对普罗米修斯做了定义:从指标到洞察力 ,普罗米修斯通过领先的开源监控解决方案为用户的指标和告警提供强大的支持。
宋小生
2023/01/16
1.4K0
从指标到洞察力的普罗米修斯
监控神器普罗米修斯Prometheus安装配置「建议收藏」
普罗米修斯默认配置文件 vim /usr/local/Prometheus/prometheus.yml
全栈程序员站长
2022/06/27
4.5K0
监控神器普罗米修斯Prometheus安装配置「建议收藏」
(linux-arm64)UOS安装开源Prometheus-2.30.0—普罗米修斯
【摘要】 (linux-arm64)UOS安装开源Prometheus-2.30.0—普罗米修斯
QGS
2021/10/12
9200
普罗米修斯监控openGauss
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/161777.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/09
1.4K0
普罗米修斯监控openGauss
普罗米修斯 -- 基本使用
普罗米修斯是用 go 语言编写的软件并且利用了 go 语言的交叉编译特性编译成了纯二进制文件, 运行的时候不需要额外安装依赖。 直接从官网上下载就可以。 下载地址: https://prometheus.io/download/ 这里面除了普罗米修斯的主程序意外, 一些 额外的组件,比如 pushgateway, alertmanager 以及各种官方 exporter 的下载包都可以在这里找到。 由于我们现在部署普罗米修斯都是容器化部署的, 所以这里我选择用 docker 进行部署。
TesterHome小助手
2022/01/11
1.3K0
普罗米修斯安装
Prometheus是一个最初在SoundCloud上构建的监控系统。自2012年成为社区开源项目,拥 有非常活跃的开发人员和用户社区。为强调开源及独立维护,Prometheus于2016年加入云原生云计算基金 会(CNCF),成为继Kubernetes之后的第二个托管项目。
summerking
2022/09/19
5100
普罗米修斯安装
Prometheus(普罗米修斯)监控系统「建议收藏」
Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,由 SoundCloud 公司开发。
全栈程序员站长
2022/09/09
1.9K0
监控利器:普罗米修斯介绍和安装
我们的程序想要稳定的运行,或者说当出现问题时能第一时间知道,这就离不开监控,目前比较主流的就是 Prometheus(普罗米修斯)+ Grafana 的组合。
oec2003
2023/11/01
3.8K0
监控利器:普罗米修斯介绍和安装
linux安装Promethus普罗米修斯监控
下载地址:Releases · prometheus/node_exporter · GitHub
全栈程序员站长
2022/09/09
1.1K0
Prometheus 普罗米修斯 安装
注意 端口是 9090 可在Linux:curl 127.0.0.1:9090 可输出:
收心
2022/04/28
3310
springboot集成普罗米修斯
Prometheus 是一套开源的系统监控报警框架。它由工作在 SoundCloud 的 员工创建,并在 2015 年正式发布的开源项目。2016 年,Prometheus 正式加入 Cloud Native Computing Foundation,非常的受欢迎。
方志朋
2022/01/06
1.8K0
springboot集成普罗米修斯
普罗米修斯
Prometheus(普罗米修斯)是一套开源的监控系统,其基本原理是通过 HTTP 协议周期性抓取被监控组件的状态,不需要任何 SDK 或者其他的集成过程,其架构如图:
六个核弹
2022/12/23
2.9K0
普罗米修斯
prometheus+telegraf+grafana监控学习(一)
普罗米修斯下载地址:https://prometheus.io/download/
Bob hadoop
2020/12/09
6.1K1
prometheus+telegraf+grafana监控学习(一)
Prometheus➕Grafana监控node节点资源情况
上图中的空白处需要添加一个json文件,需要从grafana的官网进行下载,这里可以选择关于Docker的仪表盘,很多种类,这里以官方使用的为主,点击这里使用接下里要用的dashboard,进入页面后,如图所示,根据图中红线处即可下载
全栈程序员站长
2022/06/29
1.3K0
Prometheus➕Grafana监控node节点资源情况
Prometheus➕Grafana监控node节点资源情况
上图中的空白处需要添加一个json文件,需要从grafana的官网进行下载,这里可以选择关于Docker的仪表盘,很多种类,这里以官方使用的为主,点击这里使用接下里要用的dashboard,进入页面后,如图所示,根据图中红线处即可下载
互联网-小阿宇
2022/11/21
6150
Prometheus➕Grafana监控node节点资源情况
初玩prometheus
因为Prometheus是基于GoLang编写,编译后的软件包,不依赖于任何的第三方依赖。用户只需要下载对应平台的二进制包,并解压添加基本配置即可正常启动Prometheus server。
张琳兮
2019/11/04
8920
初玩prometheus
搭建普罗米修斯Prometheus监控系统「建议收藏」
Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库的组合。适合监控docker容器。因为K8S的流行带动了Prometheus的发展。
全栈程序员站长
2022/09/09
9K0
搭建普罗米修斯Prometheus监控系统「建议收藏」
相关推荐
普罗米修斯Prometheus监控神器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档