Prometheus

Prometheus是一个最初在SoundCloud上构建的开源系统监视和警报工具包

 

普罗米修斯的主要特点是:

 

具有由度量名称和键/值对标识的时间序列数据的多维数据模型

PromQL,一种灵活的查询语言, 可以利用这一维度

不依赖分布式存储; 单个服务器节点是自治的

时间序列集合通过HTTP上的拉模型发生

推送时间序列通过中间网关支持

通过服务发现或静态配置发现目标

多种图形和仪表板支持模式

 

 

 

安装

  1. 从官方github release 里面下载最新的二进制包
  2. 解压
  3. 启动 nohup ./prometheus –config.file=prometheus.yml &

需要启用网页刷新配置接口加上参数 –web.enable-lifecycle

  1. 访问网页监控页面 http://127.0.0.1:9090/graph
  2. 访问自身监控接口页面 http://127.0.0.1:9100/metrics

 

新增主机监控

  1. 下载node_explorer
  2. 后台运行 nohup ./node_explorer &
  3. 默认监听在9100端口, 将IP地址添加到Prometheus配置文件中
  1. 执行重载配置文件操作

python的requests库发出请求

requests.put(‘http://192.168.48.128:9090/-/reload’)

参考API文档

https://prometheus.io/docs/prometheus/latest/management_api/

  1. 再次查询已经无法查询到其他的node的信息了.

如下图所示

 

 

结合Grafana 的图形界面

  1. 下载Grafana

配置ius软件源

  1. 安装并且配置

sudo yum localinstall grafana-6.3.5-1.x86_64.rpm

  1. 启动Grafana

systemctl  start grafana-server.service

  1. 配置Prometheus数据源

 

在容器里, 应该使服务内置Prometheus 的组件, 并提供端口来拉取监控信息.

对于容器组件, 容器中的服务注册到CMDB或者Prometheus中就尤为重要, 因为服务的不确定性,

我们需要让服务主动来上报服务的IP地址和端口信息来进行动态监控.

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据