Prometheus的单机部署

一、什么是Prometheus

Prometheus是最初在SoundCloud上构建的开源系统监视和警报工具包 。是一个时间序列数据库。
时间序列数据:即按相同时序(相同名称和标签),以时间维度存储的连续的数据集合。
注意:
同一个指标名称上添加、删除、修改标签将会产生一个新的时间序列。如果我们为该时间系列配置了一系列的警报,该警报依赖于指标的标签来评判。如果更改或 添加标签,那么警报将变为无效。

二、Prometheus的特性

  1. 多维的数据模型
  2. 灵活的查询语言 PromQL
  3. 不依赖分布式存储;单个服务器节点是自治的
  4. 时间序列收集通过HTTP上的拉模型进行
  5. 通过中间网关支持推送时间序列
  6. 通过服务发现或静态配置发现目标
  7. 多种图形和仪表板支持模式

三、支持的指标类型

1、Counter 计数器

用于保存单调递增的数值,只能是正数,不能是负数,不可减少,但是可以重置为0。 比如: 某个http请求的访问次数。

2、Gauge 仪表盘

用于保存有着起伏变化的值,可以增加也可以较少。比如: 内存的使用情况

3、Histogram 直方图

直方图对观察值(通常是请求持续时间或响应大小之类的东西)进行采样,并将其计数在可配置的存储桶中。 它还提供所有观察值的总和。

4、Summary 摘要

类似于直方图,摘要会采样观察值(通常是请求持续时间和响应大小之类的东西)。 虽然它还提供了观测值的总数和所有观测值的总和,但它在滑动时间窗口内计算可配置的分位数

四、Prometheus单机部署

1、下载


Prometheus下载地址

2、下载之后解压重命名文件夹

1、文件夹内容

prometheus-2.25.0
├── LICENSE
├── NOTICE
├── console_libraries
│ ├── menu.lib
│ └── prom.lib
├── consoles
│ ├── index.html.example
│ ├── node-cpu.html
│ ├── node-disk.html
│ ├── node-overview.html
│ ├── node.html
│ ├── prometheus-overview.html
│ └── prometheus.html
├── prometheus (启动文件)
├── prometheus.yml (配置文件)
└── promtool

2、prometheus 为启动文件,默认启动会加载和它同级的prometheus.yml配置文件。
3、prometheus.yml 为配置文件

3、启动 prometheus

1、显示prometheus命令支持的所有命令行参数

./prometheus -h

2、指定运行配置文件

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

3、修改运行端口

./prometheus --web.listen-address="0.0.0.0:9080"

注意:
如果修改了默认的9090端口,则需要修改 prometheus.yml中默认监控自己的端口。

4、修改数据存储目录和数据保留时间

./prometheus --storage.tsdb.path="data/" --storage.tsdb.retention.time="15d"

5、 查看版本号

./prometheus --version

6、验证配置文件是否正确

./promtool check config prometheus.yml

启动命令:

/Users/huan/soft/prometheus/prometheus-2.25.0/prometheus \
--config.file="/Users/huan/soft/prometheus/prometheus-2.25.0/prometheus.yml" \
--web.listen-address="0.0.0.0:9080" \
--storage.tsdb.retention.time="15d" \
&

五、启动界面

1、访问指标数据

http://localhost:9080/metrics

2、访问图形化界面(表达式浏览器)

http://localhost:9080/graph

六、配置node_exporter监控系统主机

1、下载并解压

# wget https://github.com/prometheus/node_exporter/releases/download/v1.1.1/node_exporter-1.1.1.darwin-amd64.tar.gz
# tar -zxvf node_exporter-1.1.1.darwin-amd64.tar.gz
# mv node_exporter-1.1.1.darwin-amd64 node_exporter-1.1.1

2、启动node_exporter

./node_exporter --web.listen-address=":9081"

1、使用 --help 查看可用的命令行配置项
2、使用 --web.listen-address 指定启动的端口

3、访问度量指标数据

http://localhost:9081/metrics

4、集成到 Prometheus 中

修改 prometheus.yml文件,增加:

scrape_configs:
- job_name: 'node-exporter'
static_configs:
- targets: ['localhost:9081']

5、查看node_exporter是否集成成功

七、参考文档

  1. https://prometheus.io/docs/concepts/metric_types/
  2. https://prometheus.io/download/

Prometheus的单机部署的更多相关文章

  1. Hadoop系列之(一):Hadoop单机部署

    1. Hadoop介绍 Hadoop是一个能够对海量数据进行分布式处理的系统架构. Hadoop框架的核心是:HDFS和MapReduce. HDFS分布式文件系统为海量的数据提供了存储, MapRe ...

  2. Ecstore安装篇-2.单机部署【linux】

    单机部署实施-linux 单机部署实施-linux author :James,jimingsong@vip.qq.com since :2015-03-02 系统环境需求 软件来源 底层依赖 1. ...

  3. ETL作业调度软件TASKCTL4.1单机部署

    单机部署,实际上就是将EM节点和一个Server节点安装到同一个地方.EM节点是TASKCTL服务端的最顶层,主要负责客户端与服务端之间的通信.Server节点是TASKCTL的调度服务控制层,也有A ...

  4. 使用yum源的方式单机部署MySQL8.0.13

    使用yum源的方式单机部署MySQL8.0.13 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 基本上开源的软件都支持三种安装方式,即rmp方式安装,源码安装和二进制方式安装.在 ...

  5. 使用二进制安装包的方式单机部署MySQL8.0.13

    使用二进制安装包的方式单机部署MySQL8.0.13 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于MySQL的介绍我这里就不多做赘述了,如何下载MySQL详情请参考:MySQ ...

  6. solr单机部署tomcat

    所需软件:solr4.8.1.Tomcat7 下载完相应软件后开始单机部署(windows下) 在F盘根目录创建solr文件夹,并解压solr4.8和tomcat7到该文件夹 在F盘根目录创建solr ...

  7. Hadoop生态圈-CentOs7.5单机部署ClickHouse

    Hadoop生态圈-CentOs7.5单机部署ClickHouse 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 到了新的公司,认识了新的同事,生产环境也得你去适应新的集群环境,我 ...

  8. Kafka记录-Kafka简介与单机部署测试

    1.Kafka简介 kafka-分布式发布-订阅消息系统,开发语言-Scala,协议-仿AMQP,不支持事务,支持集群,支持负载均衡,支持zk动态扩容 2.Kafka的架构组件 1.话题(Topic) ...

  9. centos6.5环境下zookeeper-3.4.6集群环境部署及单机部署详解

    centos6.5环境下Zookeeper-3.4.6集群环境部署 [系统]Centos 6.5 集群部署 [软件]准备好jdk环境,此次我们的环境是open_jdk1.8.0_101 zookeep ...

随机推荐

  1. JS020. Array map()函数查到需要的元素时跳出遍历循环,不再执行到数组边界

    Array.prototype.map() map( )  方法创建一个 新数组 *,其结果是该数组中的每个元素是调用一次提供的 函数后的返回值 *.[ MDN / RUNOOB ] * map 添加 ...

  2. Stream流思想和常用方法

    一.IO流用于读写:Stream流用于处理数组和集合数据: 1.传统集合遍历: 2.使用Stream流的方式过滤: 其中,链式编程(返回值就是对象自己)中,filter使用的是Predicate函数式 ...

  3. vue 工作随笔

    现在工作要做一个电商项目,将工3作的笔记记在这儿,以后方便结总 本套项目用的前端方案 是: vue vue-router Element -ui Axios Echarts 后端技术采用node.js ...

  4. Maven专题4——Maven测试

    Java世界的主流测试框架是JUnit和TestNG,Maven在构建执行到特定生命周期阶段的时候,通过插件执行JUnit和TestNG的测试用例. Maven执行测试的插件是maven-surefi ...

  5. mysql将数据导入到另外一张操作

    insert into ydcq_member_class (ClassId,signcount,UserId) select 64,2,`员工编号` from `学员名单`

  6. photoshop 网页png图标保存后有锯齿解决办法

    有些人用png图片时为了要兼容在IE6下对png32或png24不透明的时候,他们都是用js处理的. png分为三种格式png8,png24,png32这三种格式,数值越高图片的精度质量就越好,相对的 ...

  7. Postman 如何调试加密接口?

    大家好,我是安果! 众所周知,Postman 是一款非常流行且易用的 API 调试工具,在接口调试或测试时经常被使用针对普通 API 接口,我们可以直接在 Postman 中输入 URL.Query ...

  8. Mysql Navicate 基础操作与SQL语句 版本5.7.29

    SQL数据的增删改查:此部分所有SQL语句在navicat中与mysql命令行执行效果一样,只是mysql服务端在命令行执行,而navicat只是在客户端的图形化打开操作. 一.进入数据库 .连接数据 ...

  9. Probius+Kubernetes任务系统如虎添翼

    Probius是一款自定义任务引擎,可以灵活方便的处理日常运维中的各种任务,我们所有的CI/CD任务都通过Probius来完成的,这篇文章Probius:一个功能强大的自定义任务系统对其有详细的介绍, ...

  10. modern php enable zend opcache

    字节码缓存能存储预先编译好的php代码 * 如果是自己编译PHP ./configure --enable-opcache 编译好后 php.ini zend_extension=opcache.so ...