时序数据库简介
时间序列数据库,time-series database。
时间序列数据库主要用于指处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。
主要用于:实时监测、检查与分析设备所采集、产生的数据。
特点:产生频率快(每一个监测点一秒钟内可产生多条数据)、严重依赖于采集时间(每一条数据均要求对应唯一的时间)、测点多信息量大(常规的实时监测系统均有成千上万的监测点,监测点每秒钟都产生数据,每天产生几十GB的数据量)。
详解参考:https://www.sohu.com/a/237660940_130419
下载安装启动
当前版本:2.21.0
下载
wget https://github.com/prometheus/prometheus/releases/download/v2.21.0/prometheus-2.21.0.linux-amd64.tar.gz
解压
tar zxvf prometheus-2.21.0.linux-amd64.tar.gz -C /cluster/apps/prometheus --strip-components 1
配置systemd管理
vim /usr/lib/systemd/system/prometheus.service
[Unit]
Description=https://prometheus.io
[Service]
Restart=on-failure
ExecStart=/cluster/apps/prometheus/prometheus --config.file=/cluster/apps/prometheus/prometheus.yml
[Install]
WantedBy=multi-user.target
启动
systemctl daemon-reload
systemctl enable prometheus --now
默认可通过9090端口在web端访问。
Prometheus架构图
Prometheus 主程序,主要是负责存储、抓取、聚合、查询方面。
Alertmanager 程序,主要是负责实现报警功能。
Pushgateway 程序,主要是实现接收由Client push过来的指标数据,在指定的时间间隔,由主程序来抓取。
Exporter
Exporter 是Prometheus的一类数据采集组件的总称。它负责从目标处搜集数据,并将其转化为Prometheus支持的格式。 与传统的数据采集组件不同的是,它并不向中央服务器发送数据,而是等待中央服务器主动前来抓取,默认的抓取地址为http://IP:9100/metrics(包含blackbox_exporter、consul_exporter、graphite_exporter、haproxy_exporter、memcached_exporte、mysqld_exporter、node_exporter等)。
Node Exporter顾名思义,主要用于采集底层服务器的各种运行参数。
安装node_exporter
注意:安装在被监控端。
下载
wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz
解压
mkdir /cluster/apps/prometheus/node_exporter -p
tar zxvf node_exporter-1.0.1.linux-amd64.tar.gz --strip-components 1 -C /cluster/apps/prometheus/node_exporter
配置systemd管理
vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/cluster/apps/prometheus/node_exporter/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
启动
systemctl daemon-reload
systemctl enable node_exporter --now