prometheus的使用

举报
wuyicom 发表于 2021/09/30 23:23:43 2021/09/30
【摘要】     之前写《openGauss学习心得》时,已经安装prometheus,现在聊一下学习使用prometheus过程。    1.Prometheus要监控各节点,就必须要安装node_exporter。进入/soft目录,执行wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_ex...

    之前写《openGauss学习心得》时,已经安装prometheus,现在聊一下学习使用prometheus过程。

    1.Prometheus要监控各节点,就必须要安装node_exporter。进入/soft目录,执行wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz 下载 软件到 /soft 目录下。进入目录cd /opt/modules/prometheus,在其目录下建立mkdir plugin,把软件解压到plugin目录下:tar -zxf /soft/node_exporter-1.0.1.linux-amd64.tar.gz -C ./plugin/  进入目录cd plugin,解压的目录名称太长,需要修改名称:mv node_exporter-1.0.1.linux-amd64 node_exporter,还要把node_exporter目录分发到需要监控的节点: scp -r /opt/modules/prometheus/plugin/node_exporter kafka1.wuyi.com: /opt/modules/

    2.分发完成后,各节点进入想对应的node_exporter目录,执行下面命令./node_exporter

但是现在prometheus还是不能监控各节点,需要修改prometheus.yml配置文件。如下:

global:

  scrape_interval: 15s #将分片间隔设置为每15秒。默认值为每1分钟一次。

  evaluation_interval: 15s #每15秒评估一次规则。默认值为每1分钟一次。分片超时设置为全局默认值(10秒)。


#加载规则一次,并根据全局“评估间隔”定期评估规则。

rule_files:

  - "rules/*.yml"


scrape_configs:

#作业名称作为标签`job=<job_name>`添加到此配置中的任何时间序列。

  - job_name: 'prometheus'


    static_configs:

    - targets: ['spark1.wuyi.com:9090']

  - job_name: "node"

  static_configs:

  - targets: ["spark1.wuyi.com:9100"]

  - targets: ["kafka1.wuyi.com:9100"]

修改后保存退出,执行./prometheus --web.enable-lifecycle --web.enable-admin-api &,特别注意:--web.enable-lifecycle 作用:后期修改参数文件时不需要重启服务,可以通过api重新读取参数文件。

    3.使用浏览器打开spark1.wuyi.com:9090,执行count(node_cpu_seconds_total{mode="system"})by(instance)和node_cpu_seconds_total{mode='idle'}[5m:1m] 命令如图所示:

    Prometheus自带web console,安装成功后访问http://spark1.wuyi.com:9090/graph 页面,使用PromQL查询,根据查询结果自动做数据可视,例如:查询各节点使用每5分钟内使用情况:(1-avg(irate(node_cpu_seconds_total{mode='idle'}[5m]))by(instance))*100获取查询结果自动做数据可视化,如图所示:

    PromQL和SQL的对比,使用查询条件时,PromQL使用{}做条件查询的符号。对于分钟时间,PromQL使用[5m]表示5分钟内,平均每秒的数据。[5m:1m]表示5分钟内,平均每1分钟的数据。模糊查询时,PromQL为“2xx”,SQL为“%2%”。当查询当前所有数据时,mysql查询数据时需要将当前时间向前推一定间隔。但是PromQL会自动实现这个逻辑。通过对比,在使用查询方面,PromQL比SQL简单和丰富,而且还提高查询性能。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。