zhangsanfeng88 发表于 2018-1-6 16:10:53

biglittleant

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: 图像界面
https://images2017.cnblogs.com/blog/802666/201712/802666-20171213172402019-1736518744.jpg
  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)  

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

up{job="linux-node2"}  

  其他高级的例子
  

avg(rate(rpc_durations_seconds_count)) 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 监控方案
页: [1]
查看完整版本: biglittleant