Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数 据库的组合。适合监控docker容器。因为kubernetes(俗称k8s)的流行带动 了prometheus的发展。
https://prometheus.io/docs/introduction/overview/
时间序列数据(TimeSeries Data) : 按照时间顺序记录系统、设备状态变化 的数据被称为时序数据。
应用的场景很多, 如:
性能好
关系型数据库对于大规模数据的处理性能糟糕。NOSQL可以比较好的处理 大规模数据,让依然比不上时间序列数据库。
存储成本低
高效的压缩算法,节省存储空间,有效降低IO
Prometheus有着非常高效的时间序列数据存储方法,每个采样数据仅仅占 用3.5byte左右空间,上百万条时间序列,30秒间隔,保留60天,大概花了 200多G(来自官方数据)
多维度数据模型 灵活的查询语言 不依赖分布式存储,单个服务器节点是自主的 以HTTP方式,通过pull模型拉去时间序列数据 也可以通过中间网关支持push模型 通过服务发现或者静态配置,来发现目标服务对象 支持多种多样的图表和界面展示
Prometheus软件包下载地址。go语言编写。基本无需下载环境依赖软件。
https://prometheus.io/download/
当前最新版本prometheus-2.50.1
切换目录
cd /opt/ wget https://github.com/prometheus/prometheus/releases/download/v2.50.1/prometheus-2.50.1.linux-amd64.tar.gz
如果下载慢,可以用下载工具,下载后上传至服务器。
mkdir -p /opt/prometheus/ tar -zxvf prometheus-2.50.1.linux-amd64.tar.gz -C /opt/prometheus
創建軟連接
ln -s prometheus-2.50.1.linux-amd64 /opt/prometheus/latest
切换目录 cd prometheus
默认的端口号是 9090,因此要开放 9090 端口号
sudo firewall-cmd --add-port=9090/tcp --permanent
重新加载防火墙
sudo firewall-cmd --reload
配置文件:
vim /opt/prometheus/latest/prometheus.yml
(systemctl啟動方式)
新增 prometheus.service
vi /usr/lib/systemd/system/prometheus.service
添加以下内容:
[Unit] Description=Prometheus Server Documentation=https://prometheus.io After=network.target [Service] ExecStart=/opt/prometheus/latest/prometheus --config.file=/opt/prometheus/prometheus.yml --web.config.file=/opt/prometheus/web-config.yml [Install] WantedBy=multi-user.target
添加网络配置文件
vim /opt/prometheus/web-config.yml
输入下面内容
basic_auth_users: admin: '$2y$10$cA9UlOBRKkOsKC2lWhe9c.coKHBMiB9GIOIuIXAvI3CoKKIJuFPom'
验证启动
systemctl daemon-reload
配置开机加载
systemctl enable prometheus.service
启动Prometheus
systemctl start prometheus.service
重新啟動
systemctl restart prometheus.service
查看是启动状态
systemctl status prometheus
启动参数新增,如果配置了脚本,在脚本中添加–web.listen-address=:8091 (你要修改成的端口号)改参数即可
prometheus --config.file=prometheus.yml --web.listen-address=:8091
需配置参数 –web.enable-lifecycle ,上面后台脚本已经添加
curl -X POST http://127.0.0.1:9090/-/reload
本文作者:澳门🇲🇴上班的IT人
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!