03:Prometheus的介绍
- 目标:了解Prometheus的功能和特点
- 路径
- step1:功能
- step2:特点
- 实施
- https://prometheus.io/
- 功能:服务器性能指标监控及时序数据存储
- Prometheus实现了高纬度数据模型,时间序列数据由指标名称和键值对指标组成。
- PromQL允许对收集的时间序列数据进行切片和切块,生成ad-hoc图形、图表、告警
- Prometheus有多种数据可视化模式:内置表达式浏览器,grafana集成、控制台模板语言
- Prometheus使用有效的自定义格式将时间序列数据存储在内存中和本地磁盘,通过函数式分片和联邦进行弹性扩展。
- 每个服务器都是独立的,仅依赖于本地存储。用go语言编写,所有二进制文件都是静态链接,易于部署。
- 告警是基于PromQL灵活定义的,并保留维度信息,告警管理器控制告警信息的通知与否。
- 特点
- 多维度数据模型。
- 灵活的查询语言。
- 不依赖分布式存储,单个服务器节点是自主的。
- 通过基于HTTP的pull方式采集时序数据。
- 可以通过中间网关进行时序列数据推送。
- 通过服务发现或者静态配置来发现目标服务对象。
- 支持多种多样的图表和界面展示,比如Grafana等。
- 小结
- 了解Prometheus的功能和特点
04:Prometheus的架构
- 目标:了解Prometheus的架构
- 实施
- Prometheus server:Prometheus主服务器,它会收集并存储时间序列数据
- Alalert manager:处理告警信息
- Push gateway:支持短暂任务的推送网关
- Client libraries:用于检测应用程序代码的客户端库
- Exporters:特定的导出器服务,例如:HAProxy,StatsD,Graphite等服务。
- 小结
- 了解Prometheus的架构
05:Prometheus的部署
- 目标:实现Prometheus的部署
- 实施
- 上传解压
cd ~ rz # 解压安装包 tar zxvf prometheus-2.26.0.linux-amd64.tar.gz -C /opt # 修改文件名 mv /opt/prometheus-2.26.0.linux-amd64/ /opt/prometheus-2.26 # 进入解压后的安装包 cd /opt/prometheus-2.26
- 验证
./prometheus --version
- 查看配置:prometheus.yml
# my global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first_rules.yml" # - "second_rules.yml" # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: 'prometheus' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ['localhost:9090']
- 注册系统服务
vim /etc/systemd/system/prometheus.service
[Unit] Description=Prometheus Documentation=Prometheus Monitoring System [Service] ExecStart=/opt/prometheus-2.26/prometheus --config.file=/opt/prometheus-2.26/prometheus.yml Restart=on-failure [Install] WantedBy=multi-user.target
- 启动
# 设置开机自启动 systemctl enable prometheus # 启动服务 systemctl start prometheus # 查看服务状态 systemctl status prometheus
- 验证:node1:9090
- 小结
- 实现Prometheus的部署