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)

架构图

link

安装部署

环境准备

主机名 角色 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

安装完成

原文地址:https://www.cnblogs.com/winstom/p/11926151.html