文章目录

  • 前言
  • 一、什么是Prometheus(普罗米修斯)?
    • 1.1特征
    • 1.2架构
  • 二、下载Prometheus
  • 三、安装
    • 3.1下载最新版本的Prometheus后
    • 3.2配置Prometheus
    • 3.3运行普罗米修斯
  • 四、添加到systemd来管理
    • 4.1先创建一个名为 prometheus 的用户:
  • 五、web端
    • 5.1用浏览器查看数据
  • 六、使用NODE EXPORTER监视LINUX主机指标
    • 安装并运行节点导出器
    • 节点导出器指标
    • 配置您的Prometheus实例
    • 6.1下载并安装
    • 6.2启动服务器
      • 6.2.1用systemd启动服务器

前言

安装,配置和使用简单的Prometheus实例。您将在本地下载并运行Prometheus,对其进行配置以抓取自身和示例应用程序,然后使用查询,规则和图形使用收集的时间序列数据。


一、什么是Prometheus(普罗米修斯)?

Prometheus是最初在SoundCloud上构建的开源系统监视和警报工具包 。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。现在,它是一个独立的开源项目,并且独立于任何公司进行维护。为了强调这一点并阐明项目的治理结构,Prometheus在2016年加入了 Cloud Native Computing Foundation,这是继Kubernetes之后的第二个托管项目。

1.1特征

  • prometheus server:主要用于抓取数据和存储时序数据,另外还提供查询和 Alert Rule 配置管理
  • client libraries:用于对接 Prometheus Server,检测应用程序代码可以查询和上报数据
  • push gateway:用于批量,短期的监控数据的汇总节点,主要用于业务数据汇报等
  • exporters:各种汇报exporter,例如node_exporter,mysql_exporter,HAProxy,StatsD,Graphite
  • alertmanager:告警通知管理

1.2架构

下图说明了Prometheus的体系结构及其某些生态系统组件:


Prometheus直接或通过中间推送网关从已检测作业中删除指标,以用于短期作业。它在本地存储所有报废的样本,并对这些数据运行规则,以汇总和记录现有数据中的新时间序列,或生成警报。Grafana或其他API使用者可以用来可视化收集的数据。

二、下载Prometheus

个人喜好在根目录下创建一个文件夹把软件下载过去

创建文件夹
# mkdir -p /data/source
# cd /data/source/
官网下载链接
# wget https://github.com/prometheus/prometheus/releases/download/v2.23.0/prometheus-2.23.0.linux-amd64.tar.gz

三、安装

3.1下载最新版本的Prometheus后

解压缩到/usr/local/share/prometheus
#tar -zxvf prometheus-2.23.0.linux-amd64.tar.gz -C /usr/local/share/
进入文件夹
#cd /usr/local/share/
给他起个短一点的名字
#mv prometheus-2.23.0.linux-amd64 prometheus

Prometheus服务器是一个称为prometheus的二进制文件。我们可以运行二进制文件,并通过传递–help标志来查看有关其选项的帮助。

查看帮助
#./prometheus --help
usage: prometheus [<flags>]The Prometheus monitoring serverFlags:-h, --help                     Show context-sensitive help (also try --help-long and --help-man).--version                  Show application version.--config.file="prometheus.yml"  Prometheus configuration file path.--web.listen-address="0.0.0.0:9090"  

*在启动Prometheus之前,先对其进行配置。

3.2配置Prometheus

Prometheus配置为YAML。Prometheus下载在一个名为的文件中带有一个示例配置,prometheus.yml这是一个入门的好地方。

删除了示例文件中的大多数注释,以使其更加简洁(注释以开头的行#)。

配置如下:

global:      #global块控制Prometheus服务器的全局配置scrape_interval:     15s        #scrape_interval控制,Prometheus多久刮一次目标。evaluation_interval: 15s        #evaluation_interval选项控制Prometheus多久评估一次规则。alerting:alertmanagers:- static_configs:- targets:rule_files:        #rule_files块指定希望Prometheus服务器加载的任何规则的位置。# - "first_rules.yml"# - "second_rules.yml"scrape_configs:      #scrape_configs控制Prometheus监视哪些资源。- job_name: 'prometheus'static_configs:- targets: ['localhost:9090']

3.3运行普罗米修斯

要使用我们新创建的配置文件启动Prometheus,转到包含Prometheus二进制文件的目录并运行:

./prometheus --config.file=prometheus.yml

运行log

理论上来说这样就算是安装完成了,但这样太简陋了。因为每次启动 Prometheus server 都需要手动执行命令:

# /usr/local/share/prometheus/prometheus --config.file=/usr/local/share/prometheus/prometheus.yml

这实在是太不方便了!应该把它配置成服务,用 systemd 来管理。

四、添加到systemd来管理

4.1先创建一个名为 prometheus 的用户:

# adduser prometheus

把目录 /usr/local/share/prometheus/ 的所有者设置为 prometheus 用户:

# chown -R prometheus:prometheus /usr/local/share/prometheus/

然后创建文件 /etc/systemd/system/prometheus.service,内容如下:

[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network.target[Service]
User=prometheus
Restart=on-failure
WorkingDirectory=/usr/local/share/prometheus/
ExecStart=/usr/local/share/prometheus/prometheus --config.file=/usr/local/share/prometheus/prometheus.yml[Install]
WantedBy=multi-user.target

好了,现在可以通过 systemd 来控制 Prometheus 服务了,
重新载入systemctl服务:

# systemctl daemon-reload

启动服务:

# systemctl start prometheus

再把服务配置为开机时启动:

# systemctl enable prometheus

检查一下服务的状态:

# systemctl status prometheus

五、web端

现在可以在浏览器上浏览到有关其自身的状态页。

还可以通过导航到自己的指标终结点:http:// localhost:9090 / metrics来验证Prometheus是否正在提供有关自身的指标。

5.1用浏览器查看数据

让我们尝试查看Prometheus收集的有关自身的一些数据。要使用Prometheus的内置表达式浏览器,请导航至 http:// localhost:9090 / graph并在“图形”选项卡中选择“控制台”视图。

正如您可以从http:// localhost:9090 / metrics收集的那样,称为Prometheus导出的有关其自身的一个指标 promhttp_metric_handler_requests_total(/metricsPrometheus服务器已处理的请求总数)。继续并将其输入到表达式控制台中:

promhttp_metric_handler_requests_total


Graphite InfluxDB Kapacitor OpenTSDB Nagios Sensu


六、使用NODE EXPORTER监视LINUX主机指标

Node Exporter公开了各种与硬件和内核相关的指标。

在localhost配置为从运行的Node Exporter刮取指标的Prometheus实例上启动

安装并运行节点导出器

Prometheus Node Exporter是一个单个静态二进制文件,可以通过tarball安装。从Prometheus下载页面下载后,将其解压缩并运行:

# wget https://github.com/prometheus/node_exporter/releases/download/v*/node_exporter-*.*-amd64.tar.gz
tar xvfz node_exporter-*.*-amd64.tar.gz
cd node_exporter-*.*-amd64
./node_exporter

您应该看到类似以下的输出,表明节点导出器正在运行,并且在端口9100上公开了指标:

节点导出器指标

安装并运行节点导出器后,可以通过对/metrics端点进行cURL验证来导出指标:

http://localhost:9100/metrics

您应该看到如下输出:

配置您的Prometheus实例

需要正确配置本地运行的Prometheus实例,才能访问Node Exporter指标。以下prometheus.yml示例配置文件将通过以下命令告诉Prometheus实例从Node Exporter进行抓取以及抓取频率localhost:9100:

本节说明如何下载和安装Grafana,如何在基于RPM的Linux系统上启动并运行该服务,以及安装软件包的详细信息。

6.1下载并安装

# wget <rpm package url>
# rpm -Uvh <local rpm package>

6.2启动服务器

grafana-server将以grafana用户身份启动该过程,该过程是在软件包安装期间创建的。systemd命令在大多数情况下都可以使用,但是某些较旧的Linux系统可能需要init.d。安装程序应提示您输入正确的命令。

如果安装了.rpm软件包,则可以使用systemd或启动服务器init.d。如果安装了二进制.tar.gz文件,则需要执行二进制文件。

6.2.1用systemd启动服务器

要启动服务并验证服务已启动:

# systemctl daemon-reload
# systemctl start grafana-server
# systemctl status grafana-server

配置Grafana服务器以在启动时启动:

# systemctl enable grafana-server

Promethus(普罗米修斯)监控系统相关推荐

  1. 一篇文章搞定Prometheus普罗米修斯监控系统的部署

    Prometheus普罗米修斯监控系统 一.普罗米修斯监控概述 1.1 什么是普罗米修斯监控 二.时间序列数据 2.1 什么是序列数据 2.2 时间序列数据特点 2.3 普罗米修斯特征 三.普罗米修斯 ...

  2. 普罗米修斯监控系统_基于Prometheus和Grafana的监控平台 - 环境搭建

    导读 微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics. Logging - 用于记录离散的事件.例如,应用程序的调试信息或错误信息.它是我们诊断问题的依据.比如 ...

  3. linux安装Promethus普罗米修斯监控

    1.Node_export 下载地址:Releases · prometheus/node_exporter · GitHub node_export 用来监控主机信息,每台机器上都要部署一个该组件 ...

  4. 普罗米修斯监控系统_一步步教你用Prometheus搭建实时监控系统系列(二)——详细分析拉取和推送两种不同模式...

    前言 本系列着重介绍Prometheus以及如何用它和其周边的生态来搭建一套属于自己的实时监控告警平台. 本系列受众对象为初次接触Prometheus的用户,大神勿喷,偏重于操作和实战,但是重要的概念 ...

  5. Centos7安装Promethus(普罗米修斯)监控系统完整版

    相关博文: 1.Centos7安装Promethus(普罗米修斯)监控系统完整版 2.Promethus(普罗米修斯)监控Mysql数据库 3.Promethus(普罗米修斯)安装Grafana可视化 ...

  6. 普罗米修斯 监控_接近完美的监控系统—普罗米修斯

    普罗米修斯(Prometheus)是一个SoundCloud公司开源的监控系统.当年,由于SoundCloud公司生产了太多的服务,传统的监控已经无法满足监控需求,于是他们在2012年决定着手开发新的 ...

  7. Promethus(普罗米修斯)监控随笔

    Promethus(普罗米修斯)监控随笔 promethus安装 安装consul用于普罗米修斯监控端注册服务统一监控 安装node_exporter 修改普罗米修配置文件新增监控项 安装grafan ...

  8. centos7安装promethus(普罗米修斯)

    前言 Prometheus(go语言开发)是一套开源的监控&报警&时间序列数 据库的组合.适合监控docker容器.因为kubernetes(俗称k8s)的流行带动 了promethe ...

  9. 普罗米修斯监控linux,Prometheus(普罗米修斯)搭建监控

    Prometheus(普罗米修斯) 实验环境:(各个主机,ip,所需服务) docker01 docker02 docker03 1.10 1.20 1.30 NodeEXporter NodeEXp ...

  10. 阿尔萨斯监控平台普罗米修斯监控平台对服务器资源的监控

    一.arthas-阿尔萨斯监控平台 内存监控: 1.打开RDMS,选择应用实例,在'快捷方式'下拉选项中选择arthas 2.打开监控界面,输入:dashboard -i 5000 备注:-i 刷新实 ...

最新文章

  1. 替换Android系统镜像system.img的方法
  2. synchronized关键字实现原理
  3. OpenYurt:延伸原生 Kubernetes 到边缘场景下的落地实践
  4. 安卓服务Service详解
  5. Python函数式编程指南
  6. php做通讯录界面,PHP 制作通讯录(三)
  7. 如何找到Eclipse左侧项目栏
  8. java随机姓名_Java生成随机姓名、性别和年龄的实现示例
  9. 可读性代码:为什么、怎样以及什么时候
  10. “要源码上门自取”,结果人真上门了!国内企业再惹争议
  11. Qt_QDir_常见的操作
  12. Windows Mobile入门
  13. springboot实现任务调度的第三种方式------使用第三方quartz插件调度(springBoot+quartz+cronTrigger进行任务调度)
  14. Luogu P2525题解
  15. Golang编程语言简介 go语言特点
  16. 项目管理课程体系——世纪德本PMCD品牌课程
  17. OutMan——Foundation框架中的集合类(一)(二)
  18. 了解计算机软件系统教学设计,认识计算机》教学设计
  19. 刷题总结——宠物收养所(bzoj1208)
  20. linux内核模块Makefile的解析

热门文章

  1. python+ffmpeg视频转码转格式
  2. 你知道大量群发邮件用什么邮箱好吗?
  3. HTML5期末大作业:旅游网站设计——北京旅游(1页) 北京旅游网页设计制作 简单静态HTML网页作品 我的旅游网页作业成品 学生旅游网站模板
  4. idea 中静态图片资源无法导入
  5. 嵌入式系统ARM期末总复习
  6. H3CNE概念思维导图
  7. 关于paypal账户限制的话题
  8. python click 函数
  9. kvm文档翻译-第六章
  10. QT 代码添加QScrollArea