zoukankan      html  css  js  c++  java
  • prometheus-入门尝试

    prometheus-入门

    Prometheus 是由 SoundCloud 开源监控告警解决方案2015 年在 github 上开源以来,已经吸引了 很多大公司的使用;2016 年 Prometheus 成为继 k8s 后,第二名 CNCF(Cloud Native Computing Foundation) 成员。

    实战

    安装prometheus软件

    cd /usr/local/src/
    wget https://github.com/prometheus/prometheus/releases/download/v1.7.1/prometheus-1.7.1.linux-amd64.tar.gz
    tar -zxf prometheus-1.7.1.linux-amd64.tar.gz 
    mv prometheus-1.7.1.linux-amd64 /data/app/
    ln -s /data/app/prometheus-1.7.1.linux-amd64/ /data/app/prometheus
    

    修改配置文件

    global:
      scrape_interval:     15s 
      evaluation_interval: 15s 
      external_labels:
          monitor: 'codelab-monitor'
    rule_files:
    scrape_configs:
      - job_name: 'prometheus'
        static_configs:
          - targets: ['localhost:9090']
      - job_name: 'linux'
        static_configs:
          - targets: ['192.168.56.12:9100']
            labels:
              alias: linux-node2
    

    启动prometheus并访问

    ./prometheus -config.file=prometheus.yml
    

    安装exporter 端

    wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz
    wget https://github.com/prometheus/node_exporter/releases/download/v0.14.0/node_exporter-0.14.0.linux-amd64.tar.gz
    tar -zxf mysqld_exporter-0.10.0.linux-amd64.tar.gz 
    tar -zxf node_exporter-0.14.0.linux-amd64.tar.gz 
    mv node_exporter-0.14.0.linux-amd64 /data/app/
    mv mysqld_exporter-0.10.0.linux-amd64 /data/app/
    ln -s /data/app/node_exporter-0.14.0.linux-amd64/ /data/app/node_exporter
    ln -s /data/app/mysqld_exporter-0.10.0.linux-amd64/ /data/app/mysqld_exporter
    

    启动node_exporter

    screen -R node_exporter
    cd /data/app/node_exporter  
    ./node_exporter
    

    登录图像页面检查服务是否配置成功

    • http://localhost:9090/metrics: 监控指标
    • http://localhost:9090/graph: 图像界面

    metrics返回的结果包含多个标签的值。如果想只看延迟是0.99的值可以输入如下参数:

    prometheus_target_interval_length_seconds{quantile="0.99"}
    

    你也可以对返回结果做个count值:

    count(prometheus_target_interval_length_seconds)
    

    输入以下表达式来绘制在Prometheus中发生的所有存储块操作的每秒速率:

    rate(prometheus_local_storage_chunk_ops_total[1m])
    

    你也可以输出其他参数查看监控后服务器的信息,比如:使用up参数判断linux-node2是否存活。

    up{job="linux-node2"}
    

    其他高级的例子

    avg(rate(rpc_durations_seconds_count[5m])) by (job, service)
    

    级联同步数据

    promtheus 配置文件中增加如下内容:

    scrape_configs:
      - job_name: 'federate'
        scrape_interval: 15s
    
        honor_labels: true
        metrics_path: '/federate'
    
        params:
          'match[]':  ##定义要同步的监控项
            - '{job="prometheus"}'
            - '{__name__=~"job:.*"}'
            - '{job="node_discovery"}'
    
        static_configs:
          - targets:
            - 'linux-node1:9090'  ## 目标库可以写多行。
    

    参考文档

    prometheus-官网
    Prometheus 实战
    PROMETHEUS 监控系统介绍与实践总结
    prometheus-监控mysql
    prometheus中文文档
    官方容器站
    Prometheus 监控方案

  • 相关阅读:
    spring事务在web环境中失效的问题
    oracle行转列和列转行(pivot 和 unpivot 函数,wm_concat函数 )
    查询Oracle正在执行的sql语句及kill被锁的表
    oracle last_value使用过程中的一个细节
    oracle查询历史执行语句
    前端PHP入门-020-重点日期函数之获取时期时间信息函数
    前端PHP入门-019-内置函数之数学函数-很重要
    前端PHP入门-016-静态变量
    前端PHP入门-017-系统内置函数-会查阅API
    ajax跨域调用webservice例子
  • 原文地址:https://www.cnblogs.com/biglittleant/p/8034027.html
Copyright © 2011-2022 走看看