prometheus-入门

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

实战

安装prometheus软件

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

修改配置文件

  1. global:
  2. scrape_interval: 15s
  3. evaluation_interval: 15s
  4. external_labels:
  5. monitor: 'codelab-monitor'
  6. rule_files:
  7. scrape_configs:
  8. - job_name: 'prometheus'
  9. static_configs:
  10. - targets: ['localhost:9090']
  11. - job_name: 'linux'
  12. static_configs:
  13. - targets: ['192.168.56.12:9100']
  14. labels:
  15. alias: linux-node2

启动prometheus并访问

  1. ./prometheus -config.file=prometheus.yml

安装exporter 端

  1. wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz
  2. wget https://github.com/prometheus/node_exporter/releases/download/v0.14.0/node_exporter-0.14.0.linux-amd64.tar.gz
  3. tar -zxf mysqld_exporter-0.10.0.linux-amd64.tar.gz
  4. tar -zxf node_exporter-0.14.0.linux-amd64.tar.gz
  5. mv node_exporter-0.14.0.linux-amd64 /data/app/
  6. mv mysqld_exporter-0.10.0.linux-amd64 /data/app/
  7. ln -s /data/app/node_exporter-0.14.0.linux-amd64/ /data/app/node_exporter
  8. ln -s /data/app/mysqld_exporter-0.10.0.linux-amd64/ /data/app/mysqld_exporter

启动node_exporter

  1. screen -R node_exporter
  2. cd /data/app/node_exporter
  3. ./node_exporter

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

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

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

  1. prometheus_target_interval_length_seconds{quantile="0.99"}

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

  1. count(prometheus_target_interval_length_seconds)

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

  1. rate(prometheus_local_storage_chunk_ops_total[1m])

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

  1. up{job="linux-node2"}

其他高级的例子

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

级联同步数据

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

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

参考文档

prometheus-官网

Prometheus 实战

PROMETHEUS 监控系统介绍与实践总结

prometheus-监控mysql

prometheus中文文档

官方容器站

Prometheus 监控方案

prometheus-入门尝试的更多相关文章

  1. GPG入门尝试

    GPG入门尝试 参考:阮一峰的网络日志 在所附链接中,对大多数信息的解释说明已经较为详细,在此只补充实际操作中的一些问题和解决方法 gpg --decrypt demo.en.txt --output ...

  2. Prometheus 入门教程(一):Prometheus 快速入门

    文章首发于[陈树义]公众号,点击跳转到原文:https://mp.weixin.qq.com/s/ZXlBPHGcWeYh2hjBzacc3A Prometheus 是任何一个高级工程师必须要掌握的技 ...

  3. Prometheus入门教程(二):Prometheus + Grafana实现可视化、告警

    文章首发于[陈树义]公众号,点击跳转到原文:https://mp.weixin.qq.com/s/56S290p4j9KROB5uGRcGkQ Prometheus UI 提供了快速验证 PromQL ...

  4. Prometheus : 入门

    Prometheus 是一个开源的监控系统.支持灵活的查询语言(PromQL),采用 http 协议的 pull 模式拉取数据等特点使 Prometheus 即简单易懂又功能强大. Prometheu ...

  5. Prometheus 入门与实践

    原文链接:https://www.ibm.com/developerworks/cn/cloud/library/cl-lo-prometheus-getting-started-and-practi ...

  6. Prometheus入门

    什么是TSDB? TSDB(Time Series Database)时序列数据库,我们可以简单的理解为一个优化后用来处理时间序列数据的软件,并且数据中的数组是由时间进行索引的. 时间序列数据库的特点 ...

  7. Prometheus入门到放弃(7)之redis_exporter部署

    redis监控,prometheus需要使用redis_exporter客户端. 这里我们采用docker方式部署,既可以部署在redis所在服务器,也可以部署在其他机器: docker镜像地址:ht ...

  8. Prometheus入门到放弃(6)之AlertManager进阶

    前面几个篇幅,我们介绍了alertmanger报警配置,在实际运维过程中,我们都会遇到,报警的重复发送,以及报警信息关联性报警.接下来我们就介绍下通过alertmanger对告警信息的收敛.一.告警分 ...

  9. Prometheus入门到放弃(5)之AlertManager部署

    alertmanager与exporters.cadvisor一样,都是独立于prometheus项目,这里我们也使用docker方式部署alertmanager. 1.下载镜像 镜像地址:https ...

  10. Prometheus入门到放弃(4)之cadvisor监控docker容器

    Prometheus监控docker容器运行状态,我们用到cadvisor服务,cadvisor我们这里也采用docker方式直接运行. 1.下载镜像 [root@prometheus-server ...

随机推荐

  1. swagger 集成asp.net Core2.1

    首先通过nuget 安装   Swashbuckle.AspNetCore 1.在startup.cs 的configureService services.AddAutoMapper(); serv ...

  2. 【转】Java线程详解

    Java线程:概念与原理 一.操作系统中线程和进程的概念 现在的操作系统是多任务操作系统.多线程是实现多任务的一种方式. 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程 ...

  3. spring boot入门笔记(四) - 多环境配置、加载顺序、静态资源映射

    1.多环境配置 先描述下以前的开发流程:从SVN把项目下载到本地,各种修改配置文件,启动成功:完成功能后上传到公司的测试服务器,修改各种配置文件,启动成功:最后到上线的日子里,把新功能中涉及到的文件打 ...

  4. 理解clear:both属性(转)

    理解clear:both属性 在前端开发布局中,经常会被float这个属性搞晕,尤其是新手 CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列.Float(浮动),往往是 ...

  5. 有 a - b < c 对Java安全性的思考

    软件工程中,不论使用哪种开发语言,安全性一直是一个非常棘手却又重要的问题.安全性是软件开发领域永远的主题之一,而且随着互联网的蜂拥发展而带动的新技术的兴起与革命(比如近几年火起来的node.js,py ...

  6. Python Django Ajax 传递列表数据

    function getTableContent(node) { event.preventDefault(); var tr = node.parentNode.parentNode; var id ...

  7. gulp自动化打包及静态文件自动添加版本号

    前端自动化打包发布已是一种常态,尤其在移动端,测试过程中静态资源的缓存是件很头疼的事情,有时候明明处理的bug测试还是存在,其实就是缓存惹的祸,手机不比pc浏览器,清理缓存还是有点麻烦的.所以自动化实 ...

  8. [转]关于浏览器css选择器性能优化

    作为一个前端开发, 我觉得很有必要了解浏览器对css选择器的解析,因为这个关系到页面的渲染,高效的方式.避开开销大的方式这些无疑为网站加载缩短了时间. 最近在新的项目中陷入了一个误区,也是出于对jqu ...

  9. css-使不同大小的图片在固定大小的容器中居中

    HTML示例如下: <ul> <li class="imgbox"><img src="img1.jpg"></li& ...

  10. Java Web应用开发工具

    java Web应用开发工具详细地址:https://my.oschina.net/gitosc/blog/1538466