一、本地存储prometheus收集的监控数据
就是将默认的存储,修改为“我们指定”的目录下;
1,配置systemctl启动文件
[root@prometheus-server32 ~]# vim /etc/systemd/system/prometheus-server.service
[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network.target[Service]
Restart=on-failure
ExecStart=/prometheus/softwares/prometheus-2.37.8.linux-amd64/prometheus \
--config.file=/prometheus/softwares/prometheus-2.37.8.linux-amd64//prometheus.yml \
--web.enable-lifecycle \
--storage.tsdb.path=/prometheus/data/prometheus \
--storage.tsdb.retention.time=60d \
--web.listen-address=0.0.0.0:9090 \
--web.max-connections=4096 \
--storage.tsdb.retention.size=512MB \
--query.timeout=10s \
--query.max-concurrency=20 \
--log.level=info \
--log.format=json \
--web.read-timeout=5m
ExecReload=/bin/kill -HUP $MAINPID
LimitNOFILE=65535[Install]
WantedBy=multi-user.target
2,重新加载systemctl
systemctl daemon-reload
systemctl restart prometheus-server
参数说明:
--config.file=/prometheus/softwares/prometheus/prometheus.yml
指定prometheus的配置文件。
--web.enable-lifecycle
启用web方式热加载。
--storage.tsdb.path="/prometheus/data/prometheus"
指定prometheus数据存储路径。如果不指定,则默认其实时的同级目录下。
--storage.tsdb.retention.time="60d"
指定prometheus数据存储周期。
--web.listen-address="0.0.0.0:9090"
指定prometheus的监听端口。
--web.max-connections=4096
指定最大的连接数。
--storage.tsdb.retention.size="512MB"
指定prometheus数据块的滚动大小(每到512M缓存,进行一次落盘存储)。
--query.timeout=10s
查询数据的超时时间。
--query.max-concurrency=20
最大并发查询数量。
--log.level=info
指定日志级别。
--log.format=logfmt
指定日志格式。
--web.read-timeout=5m
最大的空闲超时时间。
查看数据目录,发现已经产生数据存储;
至此,本地存储成功;
二、prometheus数据远端存储
模拟一种场景,就是我们需要将prometheus监控数据,统一存储到一个节点中,用于数据安全,那么prometheus如何将数据存储到远端的服务器中呐?
我们就需要选择一台专门存储prometheus数据的服务器,在这台服务器上需要部署victoriametrics服务,这个服务才能够跟prometheus联通;
我们可以随表找一台服务器进行prometheus的数据存储,但是便于我们本次学习,我们就将数据,存储到grafana服务器中;
1,部署victoriametrics存储工具
victoriametrics下载地址:
wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.92.1/victoria-metrics-linux-amd64-v1.92.1.tar.gz
当然,本次学习,我给大家准备了安装包,在百度云盘中;
链接:https://pan.baidu.com/s/19QSpfeX8rlbJ3fToluEmeQ?pwd=qjw9
提取码:qjw9
· 上传解压软件包
[root@grafana71 ~]# rz -E
[root@grafana71 ~]# tar xf victoria-metrics-linux-amd64-v1.92.1.tar.gz -C /usr/local/bin/
· 编辑启动脚本
[root@grafana71 ~]# cat /etc/systemd/system/victoria-metrics.service
[Unit]
Description=VictoriaMetrics Server
Documentation=https://docs.victoriametrics.com/
After=network.target[Service]
ExecStart=/usr/local/bin/victoria-metrics-prod \
-httpListenAddr=0.0.0.0:8428 \#注意,要创建这个数据目录哦!~
-storageDataPath=/prometheus/data/victoria-metrics \
-retentionPeriod=3[Install]
WantedBy=multi-user.target
· 启动victoriametrics服务
[root@grafana71 ~]# systemctl daemon-reload
[root@grafana71 ~]# systemctl enable --now victoria-metrics.service
[root@grafana71 ~]# systemctl status victoria-metrics
· 创建数据目录
[root@grafana71 ~]# mkdir -pv /prometheus/data/victoria-metrics/
2,prometheus配置远端存储
· 编辑配置文件
[root@prometheus-server31 ~]# vim /prometheus/softwares/prometheus-2.37.8.linux-amd64/prometheus.yml
...........................
#############################################
# 在顶级字段中配置VictoriaMetrics地址
remote_write:
- url: http://10.0.0.71:8428/api/v1/write
#############################################
..........................
· 重新加载服务
[root@prometheus-server31 ~]# systemctl reload prometheus-server
或者
[root@prometheus-server31 ~]# curl -X POST http://10.0.0.31:9090/-/reload
3,浏览器访问一下victoriametrics
http://10.0.0.71:8428/
4,查看远端存储的数据目录
发现远端存储数据成功了;
5,grafana修改数据源
由于数据已经转移到了,victoriametrics远端存储,grafana展示图形数据,需要直接去取数据,所以数据源应该修改为:victoriametrics的地址;
三、总结
1,配置远端服务器存储工具victoriametrics;
2,配置prometheus数据存储到远端存储的地址;
3,grafana修改数据源为victoriametrics的地址;
至此,prometheus的本地存储设置、远端存储配置就学习完毕了;