prometheus

一.存储支持

https://prometheus.io/docs/prometheus/latest/storage/#local-storage
1.1Local storage
1.2.Remote storage integrations

二.远程存储

https://prometheus.io/docs/operating/integrations/#remote-endpoints-and-storage

 

三.本地存储配置

prometheus 选择存储选型_prometheus 选择存储选型

prometheus 选择存储选型_prometheus 选择存储选型_02

[root@rancher data]# cat   /usr/lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/opt/prometheus/prometheus-2.12.0.linux-amd64/prometheus --config.file=/opt/prometheus/prometheus-2.12.0.linux-amd64/conf/prometheus.yml --storage.tsdb.path=/opt/prometheus/prometheus-2.12.0.linux-amd64/data --storage.tsdb.retention.time=10d --storage.tsdb.wal-compression
Restart=on-failure
[Install]
WantedBy=multi-user.target
[root@rancher data]#

 

四.Prometheus支持远程存储

prometheus 选择存储选型_prometheus 选择存储选型_03

prometheus 选择存储选型_prometheus 选择存储选型_04

五.读写都支持的(存储数据node_exporter写入数据和配合grafana展示数据)

Azure Data Explorer: read and write
Cortex: read and write
CrateDB: read and write
Google Cloud Spanner: read and write
InfluxDB: read and write
IRONdb: read and write
M3DB: read and write
MetricFire: read and write
PostgreSQL/TimescaleDB: read and write
QuasarDB: read and write
Splunk: read and write
TiKV: read and write
Thanos: read and write

六.prometheus常用的数据库

InfluxDB: read and write

PostgreSQL/TimescaleDB: read and write

Splunk: read and write

 

七.Influxdb 简介(最新release版本1.8)

Influxdb

​https://docs.influxdata.com/influxdb/v1.8/introduction/install/​

prometheus 选择存储选型_prometheus 选择存储选型_05


7.1创建管理员

CREATE USER admin WITH PASSWORD '<password>' WITH ALL PRIVILEGES
7.2普通用户
CREATE USER "todd" WITH PASSWORD '123456'
GRANT [READ,WRITE,ALL] ON <database_name> TO <username>

7.3登陆数据库

influx -precision rfc3339

influx

7.4创建数据库(数据字段可以自由变换)

Create  database  mydb
Use mydb
INSERT cpu,host=serverA,region=us_west value=0.65 cpu_type=dell

7.5查询

prometheus 选择存储选型_prometheus 选择存储选型_06


7.6数据备份

influxd backup  -portable -database mydb   /root/mydb
influxd backup -portable -database mytsd -start 2017-04-28T06:49:00Z -end 2017-04-28T06:50:00Z /tmp/backup/influxdb

7.7数据恢复

influxd restore -portable  -db   mydb    /root/mydb/

7.8数据库对比(优点:适应大规模时间序列的数据)

prometheus 选择存储选型_prometheus 选择存储选型_07

7.9企业版本使用

​https://www.influxdata.com/blog/influxdb-clustering/​

​https://docs.influxdata.com/influxdb/v1.8/high_availability/clusters/​

prometheus 选择存储选型_prometheus 选择存储选型_08

八.PostgreSQL

8.1安装(最新稳定版本12版本)

https://www.postgresql.org/download/linux/redhat/
# Install the repository RPM:
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# Install PostgreSQL:
yum install postgresql12-server

# Optionally initialize the database and enable automatic start:
/usr/pgsql-12/bin/postgresql-12-setup initdb
systemctl enable postgresql-12
systemctl start postgresql-12

wget https://ftp.postgresql.org/pub/source/v12.2/postgresql-12.2.tar.bz2
tar xjvf postgresql*.bz2 #解压至一个目录
cd potgresql-12.2
./configure --prefix=/opt/pgsql #拟安装至/opt/pgsql
make world
make install-world
adduser postgres #增加新用户,系统提示要给定新用户密码
mkdir /opt/pgsql/data #创建数据库目录
chown -R postgres:postgres /opt/pgsql/data
su - postgres #使用postgres帐号操作
/opt/pgsql/bin/initdb -D /opt/pgsql/data #初始化数据库
/opt/pgsql/bin/pg_ctl -D /opt/gsql/data -l logfile start #启动数据库
/opt/pgsql/bin/createdb genericdb #假定数据库名为gerericdb)
/opt/pgsql/bin/psql genericdb # (进入数据库内部)

8.2语法(最新稳定版本12版本)

su – postgres
https://www.postgresql.org/docs/12/index.html


8.3 创建数据库  ddl语言和mysql几乎一致

createdb mydb
dropdb mydb
psql mydb
select version();

CREATE TABLE weather (
city varchar(80),
temp_lo int,
temp_hi int,
prcp real,
date date
);
INSERT INTO weather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');

8.4创建管理员

mydb=#CREATE ROLE admin superuser PASSWORD '123456' login;
mydb=# CREATE USER test WITH PASSWORD '123456';
CREATE ROLE
mydb=# GRANT ALL PRIVILEGES ON DATABASE mydb TO test;
GRANT
mydb=#

create user zabbix ;
create database zabbix owner zabbix;
alter user zabbix password zabbix;
grant all on DATABASE zabbix to zabbix;

8.5设置PostgreSQL监听地址和允许访问IP地址

1、PostgreSQL监听地址也就是你用什么host地址去访问它,修改配置文件postgresql.conf
listen_addresses=’*’
2、允许访问PostgreSQL服务器的客户端IP地址,修改配置文件pg_hba.conf,添加:
host all all 192.168.0.0/16 trust
其中:192.168.0.0/16表示允许192.168.0.1-192.168.255.255网段访问。

8.6客户端

​https://www.postgresql.org/ftp/pgadmin/pgadmin4/v1.0/windows/​

8.7 pgsql和mysql

​https://www.postgresql.org/docs/8.4/plpgsql-overview.html​

九.Splunk  Grafana不支持

prometheus 选择存储选型_prometheus 选择存储选型_09


十 Prometheus 修改为influxdb为数据源

CREATE DATABASE "prometheus_db"
CREATE USER "prometheus_user" WITH PASSWORD '12345678'
GRANT ALL ON "prometheus_db" TO "prometheus_user"

Prometheus.yml配置
remote_write:
- url: "http://192.168.48.25:8086/api/v1/prom/write?db=prometheus_db&u=prometheus_user&p=12345678"
remote_read:
- url: http://192.168.48.25:8086/api/v1/prom/read?db=prometheus_db&u=prometheus_user&p=12345678


prometheus 选择存储选型_prometheus 选择存储选型_10

prometheus 选择存储选型_prometheus 选择存储选型_11

​https://segmentfault.com/q/1010000018661735/a-1020000018663576​




alertmanager告警分组

prometheus 选择存储选型_prometheus 选择存储选型_12