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 监控方案

  • 相关阅读:
    Jmeter报告优化之New XSL stylesheet
    生成html报告
    描述性统计与性能结果分析
    聚合报告
    IPTV系统的VOD与TV业务性能测试
    JMeter 中的如何区分 Server Time 和 Network Time
    "并发用户数量"的正确英文表示
    Jmeter测试结果分析(下)
    Jmeter测试结果分析(上)
    Struts2简介
  • 原文地址:https://www.cnblogs.com/biglittleant/p/8034027.html
Copyright © 2011-2022 走看看