Prometheus的安装及使用

373 阅读9分钟

一、prometheus

Prometheus 是由 SoundCloud 开源监控告警解决方案。

prometheus存储的是时序数据,即按相同时序(相同名称和标签),以时间维度存储连续的数据的集合。

时序(time series)是由名字(Metric)以及一组key/value标签定义的,具有相同的名字以及标签属于相同时序。

  • metric名字:表示metric的功能,如http_request_total。时序的名字由 ASCII 字符,数字,下划线,以及冒号组成,它必须满足正则表达式 [a-zA-Z_:][a-zA-Z0-9_:]*, 其名字应该具有语义化,一般表示一个可以度量的指标,例如 http_requests_total, 可以表示 http 请求的总数。

  • 标签:

  • 样本:按照某个时序以时间维度采集的数据,称之为样本。实际的时间序列,每个序列包括一个float64的值和一个毫秒级的时间戳

  • 一个 float64 值

  • 一个毫秒级的 unix 时间

二、linux 部署Prometheus

Linux部署Prometheus采用二进制源码部署。下载地址:prometheus.io/download/

(建议下载最新版本、各个版本存在细微差别)

在linux 解压安装包

tar -zxvf prometheus-2.3.2.linux-amd64.tar

cd prometheus-2.3.2.linux-amd64.tar

./prometheus --version

修改prometheus.yml文件,确定启动ip

prometheus.yml文件说明

scrape_interval:   15s  每15s 采集一次数据

evaluation_interval : 15s   每15s 告警一次

job_name 定义任务名称

targets:   机器IP

scheme :  http   采集数据接口网络协议

metrics_path :  '/metrics'  采集数据接口路径

三、prometheus 启动

prometheus 启动方式  1、直接启动 ./prometheus  

2、注册为服务启动

1)vim /usr/lib/systemd/system/prometheus.service

[Unit]

Description=Prometheus

Documentation=prometheus.io/

After=network.target

[Service]

# Type设置为notify时,服务会不断重启

Type=simple

User=prometheus (启动用户)

# --storage.tsdb.path是可选项,默认数据目录在运行目录的./dada目录中

ExecStart=/usr/local/prometheus/prometheus -- (启动文件) config.file=/usr/local/prometheus/prometheus.yml -- (配置文件) storage.tsdb.path=/home/software/prometheus-data  (数据目录)--web.enable-lifecycle (热加载)

Restart=on-failure

[Install]

WantedBy=multi-user.target

2)systemctl enable prometheus

systemctl daemon-reload

systemctl start prometheus

curl -XPOST http://localhost:9090/-/reload  (热加载配置文件) 

3) systemctl status prometheus

启动完成(登录prometheus web端页面)

在Status菜单下,Configuration,Rule,Targets等,

Statu-->Configuration展示prometheus.yml的配置,如下

二、grafana安装

wget https://dl.grafana.com/oss/release/grafana-8.1.1-1.x86_64.rpmsudo

yum install grafana-8.1.1-1.x86_64.rpm

配置文件

配置文件位于/etc/grafana/grafana.ini,这里暂时保持默认配置即可

设置开机启动

systemctl enable grafana-server

systemctl start grafana-server

默认web页面为 访问:http://192.168.197.150:3000,默认账号/密码:admin/admin

一、添加数据源

添加prometheus数据源

ConfigurationData SourcesPrometheusSelect,填入http://ip:9090,保存即可。

2、导入dashboard

官方dashboard模板:grafana.com/grafana/das… 

选择排行第一的中文模板:1 Node Exporter for Prometheus Dashboard CN v20200628,模板ID是8919。 Manage → Import,填入模板ID,导入,(有外部网络环境使用模板id 导入)

服务器无互联网环境在官方网站下载JSON 导入grafana

三、安装node_exporter(监控linux 服务器状况)

下载二进制源码 上传服务器

tar -zxvf node_exporter-1.2.2.linux-amd64.tar 

注册node_exporter 服务

1、vim /etc/systemd/system/node_exporter.service

[Unit]
Description=node_exporter
Documentation=node_exporter Monitoring System
After=network.target

[Service]
ExecStart=/data/node_exporter/node_exporter
–web.listen-address=:9100\

[Install]
WantedBy=multi-user.target

2 启动服务

systemctl daemon-reload

systemctl enable node_exporter # 设置开机自启动

systemctl start node_exporter # 启动服务

3、检测http://172.16.27.153:9100/metrics 

四、安装postgres_exporter(监控postgresql)

tar -zxvf postgres_exporter-0.10.0.linux-amd64.tar

postgresql 监控需要postgresql 安装pg_stat_statements插件 

# 在data/postgresql.conf中,进行配置: 

shared_preload_libraries = 'pg_stat_statements' 

 pg_stat_statements.max = 1000 

pg_stat_statements.track = all

1、启动postgres_exporter

export  DATA_SOURCE_NAME="postgresql://postgres(账号):postpw(密码)@centos7(IP):5432/postgres?sslmode=disable"

后台启动 nohup ./postgres_exporter &

默认监听端口为9184  各版本 指定配置文件启动方式不一样  ./postgres_exporter -h 查看帮助

3、检测http://172.16.27.153:9187/metrics

五、安装redis_exporter

  • redis_exporter安装
    各个版本的redis_exporter github.com/oliver006/r…
    以linux系统为例,下载编译好的二进制包,解压使用:
  • 启动

nohup ./redis_exporter -redis.addr 10.152.17.52:8807(IP和端口)  -redis.password xbcky13k(密码)   > /dev/null 2>&1 &

默认监控端口9121

3、检测http://172.16.27.153:9121/metrics

六、安装rabbitmq_exporter

 下载:github.com/kbudde/rabb… 

 解压: tar -xzvf rabbitmq_exporter-0.25.2.linux-amd64.tar.gz 

1)、启动

RABBIT_USER = admin(账号) RABBIT_PASSWORD = wznadmin(密码) OUTPUT_FORMAT = JSON PUBLISH_PORT = 9099(监控端口) RABBIT_URL = http://10.5.12.61:15672(rabbitmq web管理页网地) nohup ./rabbitmq_exporter &

2、检测http://172.16.27.153:9099/metrics

七、alterManager 告警模块