prometheus+grafana实现监控过程的总体流程

prometheus安装较为简单,下面会省略安装步骤:node

一.服务器启动

  • Prometheus启动 ./prometheus --config.file=prometheus.yml
  • Grafana启动 service grafana-server start
  • 设置自启动 如需自启动某些服务,只需使用chkconfig 服务名 on便可,若想关闭,将on改成off ,如 chkconfig grafana-server on

二.访问服务器

1.Prometheus:部署ip:9090(默认端口号); 
2.Grafana:部署ip:3000(默认端口号),访问Grafana服务器的时候会要求输入帐号密码,这里使用默认帐号密码,帐号:admin,密码:admin
3.设置Grafana管理Prometheus

三.配置exporter(监控不一样的对象须要不一样的导出器)

  1. 下载exporter tar.gz并上传至服务器
  2. 解压
  3. ./node_exproter安装
  4. curl 127.0.0.1:9100 验证,curl 127.0.0.1:9100/metrics,会返回一大推性能指标
  5. prometheus中的yml文件中,配置exporter导出器

四.问题

至此全部安装已完成,可是还存在如下问题,这些问题咱们放在下面的配置,可视化段落处理。数据库

  • Prometheus server并无配置被监控端的IP地址,即没有取指定的机器取数据
  • 启动的方式太不人性化了,没有启动脚本。
  • grafana没有可用的dashboard用于展现

五.Exporter的来源

从Exporter的来源上来说,主要分为两类:编程

  • 社区提供的
    Prometheus社区提供了丰富的Exporter实现,涵盖了从基础设施,中间件以及网络等各个方面的监控功能。这些Exporter能够实现大部分通用的监控需求。下表列举一些社区中经常使用的Exporter:
    • 数据库 MySQL Exporter, Redis Exporter, MongoDB Exporter, MSSQL Exporter等
    • HTTP服务 Apache Exporter, HAProxy Exporter, Nginx Exporter等
  • 用户自定义的
    除了直接使用社区提供的Exporter程序之外,用户还能够基于Prometheus提供的Client Library建立本身的Exporter程序,目前Promthues社区官方提供了对如下编程语言的支持:Go、Java/Scala、Python、Ruby。同时还有第三方实现的如:Bash、C++、Common Lisp、Erlang,、Haskeel、Lua、Node.js、PHP、Rust等。

六.Exporter的运行方式

  • 独立使用的
    以咱们已经使用过的Node Exporter为例,因为操做系统自己并不直接支持Prometheus,同时用户也没法经过直接从操做系统层面上提供对Prometheus的支持。所以,用户只能经过独立运行一个程序的方式,经过操做系统提供的相关接口,将系统的运行状态数据转换为可供Prometheus读取的监控数据。 除了Node Exporter之外,好比MySQL Exporter、Redis Exporter等都是经过这种方式实现的。 这些Exporter程序扮演了一个中间代理人的角色。
  • 集成到应用中的
    为了可以更好的监控系统的内部运行状态,有些开源项目如Kubernetes,ETCD等直接在代码中使用了Prometheus的Client Library,提供了对Prometheus的直接支持。这种方式打破的监控的界限,让应用程序能够直接将内部的运行状态暴露给Prometheus,适合于一些须要更多自定义监控指标需求的项目。

七.总体流程

1.使用合适的exporter导出器,配置监控目标对象
2.配置prometheus中的yml文件,配置exporter
3.grafana中配置数据源为prometheus
相关文章
相关标签/搜索