prometheus安装较为简单,下面会省略安装步骤:
一.服务器启动
- 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(监控不同的对象需要不同的导出器)
- 下载exporter tar.gz并上传至服务器
- 解压
./node_exproter
安装curl 127.0.0.1:9100 验证,curl 127.0.0.1:9100/metrics,会返回一大推性能指标
- 在
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
来源:oschina
链接:https://my.oschina.net/u/4375392/blog/3607437