Prometheus 安装
简介
prometheus存储的是
时序数据,即按相同时序(相同名称和标签),以时间维度存储连续的数据的集合。
时序(
time series)是由名字(Metric)以及一组key/value标签定义的,具有相同的名字以及标签属于相同时序。
Metric类型:
Counter: 一种累加的metric,如请求的个数,结束的任务数,出现的错误数等Gauge: 常规的metric,如温度,可任意加减。其为瞬时的,与时间没有关系的,可以任意变化的数据。Histogram: 柱状图,用于观察结果采样,分组及统计,如:请求持续时间,响应大小。其主要用于表示一段时间内对数据的采样,并能够对其指定区间及总数进行统计。根据统计区间计算Summary: 类似Histogram,用于表示一段时间内数据采样结果,其直接存储quantile数据,而不是根据统计区间计算出来的。不需要计算,直接存储结果
PromQL:
PromQL (Prometheus Query Language) 是 Prometheus 自己开发的数据查询 DSL 语言。
查询结果类型:
- 瞬时数据 (
Instant vector): 包含一组时序,每个时序只有一个点,例如:http_requests_total - 区间数据 (
Range vector): 包含一组时序,每个时序有多个点,例如:http_requests_total[5m] - 纯量数据 (
Scalar): 纯量只有一个数字,没有时序,例如:count(http_requests_total)
架构图

安装部署
环境准备
| 主机名 | 角色 | IP | 系统版本 | 内核版本 |
|---|---|---|---|---|
| es01.k8s.com | node01 | 10.0.20.11 | CentOS 7.5 | 5.1.4-1.el7.elrepo.x86_64 |
官网: prometheus.io
prometheus 下载地址: https://github.com/prometheus/prometheus/releases/download/v2.14.0/prometheus-2.14.0.linux-amd64.tar.gz
安装
prometheus 安装使用二进制安装,解压后即可直接启动。
[root@es01 soft]# ls -l prometheus-2.14.0.linux-amd64.tar.gz
-rw-r--r-- 1 root root 58625125 Nov 12 00:21 prometheus-2.14.0.linux-amd64.tar.gz
[root@es01 soft]# tar xf prometheus-2.14.0.linux-amd64.tar.gz
[root@es01 soft]# ls prometheus-2.14.0.linux-amd64
console_libraries consoles LICENSE NOTICE prometheus prometheus.yml promtool tsdb
[root@es01 soft]# mv prometheus-2.14.0.linux-amd64 /opt/prometheus-2.14
[root@es01 soft]# mkdir /opt/prometheus-2.14/{bin,config,data,logs}
[root@es01 soft]# cd /opt/prometheus-2.14/
[root@es01 prometheus-2.14]# mv prometheus promtool tsdb bin/
[root@es01 prometheus-2.14]# mv prometheus.yml config/
[root@es01 prometheus-2.14]# ll
total 20
drwxr-xr-x 2 root root 52 Nov 21 16:43 bin
drwxr-xr-x 4 root root 151 Nov 25 09:30 config
drwxr-xr-x 2 3434 3434 38 Nov 12 00:17 console_libraries
drwxr-xr-x 2 3434 3434 173 Nov 12 00:17 consoles
drwxr-xr-x 12 root root 4096 Nov 25 09:00 data
-rw-r--r-- 1 3434 3434 11357 Nov 12 00:17 LICENSE
drwxr-xr-x 2 root root 23 Nov 21 16:49 logs
-rw-r--r-- 1 3434 3434 3184 Nov 12 00:17 NOTICE
配置环境变量
[root@es01 prometheus-2.14]# echo '/opt/prometheus-2.14/bin:$PATH' >> /etc/profile
[root@es01 prometheus-2.14]# source /etc/profile
[root@es01 prometheus-2.14]# prometheus --version
prometheus, version 2.14.0 (branch: HEAD, revision: edeb7a44cbf745f1d8be4ea6f215e79e651bfe19)
build user: root@df2327081015
build date: 20191111-14:27:12
go version: go1.13.4
能输出以上内容,及表示配置完成。
配置
默认的配置文件,既可以直接启动
[root@es01 prometheus-2.14]# egrep -v '^#' prometheus.yml
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['localhost:9090']
启动
直接使用 nohub 把进程放到后台运行
[root@es01 config]# nohup /opt/prometheus-2.14/bin/prometheus --config.file=/opt/prometheus-2.14/config/prometheus.yml --web.enable-lifecycle --storage.tsdb.path=/opt/prometheus-2.14/data/ --log.level=info --log.format=json &>> /opt/prometheus-2.14/logs/prometheus.log &
--config.file指定配置文件目录--web.enable-lifecycle开启通过 http://prometheus:port/-/reload 访问重新加载配置文件--storage.tsdb.path配置prometheus数据保存目录--log.level配置输出日志级别--log.format配置日志输出格式
更多启动参数,请使用 prometheus -h 进行查看。
[root@es01 config]# netstat -lntup | grep 9090
tcp6 0 0 :::9090 :::* LISTEN 25469/prometheus
安装完成
Prometheus 安装的更多相关文章
- Prometheus安装
Prometheus安装 下载地址: https://prometheus.io/download/ 现在时间是: 2019.09.07 安装环境: Linux centos7 minimal 虚拟机 ...
- Prometheus 安装Alertmanager集成
Prometheus 安装Alertmanager集成 # 下载地址 地址1:https://prometheus.io/download/ 地址2:https://github.com/promet ...
- Prometheus 安装Grafana与Prometheus集成
Prometheus 安装Grafana与Prometheus集成 Grafana是一个开源的度量分析和可视化系统. 下载地址:https://grafana.com/grafana/download ...
- Prometheus 安装部署
Prometheus 安装部署 安装版本:prometheus-2.6.1 百度云下载:https://pan.baidu.com/s/1w16lQZKw8PCHqlRuSK2i7A 提取码:lw1q ...
- Prometheus安装教程
Prometheus安装教程 欢迎关注H寻梦人公众号 参考目录 docker安装Prometheus 基于docker 搭建Prometheus+Grafana prometheus官方文档 dock ...
- Prometheus安装和配置node_exporter监控主机
Node_exporter是可以在* Nix和Linux系统上运行的计算机度量标准的导出器. Node_exporter 主要用于暴露 metrics 给 Prometheus,其中 metrics ...
- prometheus安装、使用
本文主要参考https://songjiayang.gitbooks.io/prometheus/introduction/what.html 二进制包安装 我们可以到 Prometheus 二进制下 ...
- Prometheus安装部署说明
本文主要介绍了如何二进制安装Prometheus.使用 Node Exporter 采集主机信息并使用Grafana来进行图形化的展示. 1. 安装Prometheus Server Promethe ...
- prometheus学习系列二: Prometheus安装
下载 在prometheus的官网的download页面,可以找到prometheus的下载二进制包. [root@node00 src]# cd /usr/src/ [root@node00 src ...
随机推荐
- Flask:Flask-script插件
Flask-Script插件扩展提供向Flask插入外部脚本的功能,包括一个开发用的服务器,一个定制的python shell,设置数据库的脚本,cronjobs,及其它运行在web应用之外的命令行任 ...
- 前端技术之:如何创建一个NodeJs命令行交互项目
方法一:通过原生的NodeJs API,方法如下: #!/usr/bin/env node # test.js var argv = process.argv; console.log(argv) ...
- C++等号操作符重载
在新学操作符重载时最令人头疼的可能就是一些堆溢出的问题了,不过呢,只要一步步的写好new 与 delete.绝对不会有类似的问题. 当时我们编译可以通过,但是运行会出错,因为对象s1与s2进行赋值时, ...
- ctf pwn ida 分析技巧
几年前的笔记,搬运过来 --- 1 先根据运行程序得到的信息命名外围函数,主要函数大写开头 2 /添加注释 3 直接vim程序,修改alarm为isnan可以patch掉alarm函数 4 y 可 ...
- MySQL传统点位复制在线转为GTID模式复制
1. GTID优缺点 MySQL传统点位复制在5.7版本前是主要的主从复制模式,而随着MySQL5.6版本引入GTID,并且MySQL5.7进行各方面的优化以后,在mySQL5.7(尤其是MySQL ...
- 浅谈OI中的底层优化!
众所周知,OI中其实就是算法竞赛,所以时间复杂度非常重要,一个是否优秀的算法或许就决定了人生,而在大多数情况下,我们想出的算法或许并不那么尽如人意,所以这时候就需要一中神奇的的东西,就是底层优化: 其 ...
- 你了解MySQL中的多表联合查询吗?
前言: 多表联合查询,其实就是我们MySQL中的join语句,经常会看到有人说join非常影响性能,不建议使用,你知道这是为什么呢?我们究竟可不可以用呢? 测试数据: CREATE TABLE `t2 ...
- 一个excel(20M)就能干趴你的poi,你信吗?
自从上一篇:一个普通类就能干趴你的springboot,你信吗?后,很巧的是这次又发现一个问题,所以有了这篇文章,还是想沿用上篇的”流水帐“的方式查找问题和解决问题.这篇文章主要是因为使用POI导入一 ...
- 深入理解计算机系统 第八章 异常控制流 part2
关于进程,需要关注其提供给应用程序的两个关键抽象: 1.一个独立的逻辑控制流,它提供一个假象,好像我们的程序独占地使用处理器 2.一个私有的地址空间,它提供一个假象,好像我们的程序独占地使用内存系统 ...
- Python数据可视化之matplotlib
常用模块导入 import numpy as np import matplotlib import matplotlib.mlab as mlab import matplotlib.pyplot ...