为了更好的对生产环境的一些中间件和操做系统的运行状况进行可视化的展现,近期了解了下prometheus加上grafana来实现这种效果,因为prometheus是新出来的开源项目,因此,监控的插件还不是不少,可是对基本的一些需求可以知足。redis
Prometheus 是源于 Google Borgmon 的一个开源监控系统,用 Golang 开发。被不少人称为下一代监控系统。spring
Prometheus 基本原理是经过 HTTP 协议周期性抓取被监控组件的状态,这样作的好处是任意组件只要提供 HTTP 接口就能够接入监控系统,不须要任何 SDK 或者其余的集成过程。这样作很是适合虚拟化环境好比 VM 或者 Docker 。mongodb
Prometheus 应该是为数很少的适合 Docker、Mesos 、Kubernetes 环境的监控系统之一。centos
输出被监控组件信息的 HTTP 接口被叫作 exporter 。目前互联网公司经常使用的组件大部分都有 exporter 能够直接使用,好比 Varnish、Haproxy、Nginx、MySQL、Linux 系统信息 (包括磁盘、内存、CPU、网络等等)。tomcat
Grafana 是一个开源的图表可视化系统,简单说图表配置比较方便、生成的图表比较漂亮。可是 Prometheus 还比较新,要用在生产环境还须要解决一系列的问题,好比和 Grafana 集成相关资料并很少。服务器
缺点:若是操做系统内核版本太低,会出现没法启动客户端进程的状况,centos 5.4 内核版本2.6.30如下的都不能启动。网络
若有想了解相关模版怎么使用的,欢迎留言讨论,若是写的话,内容太多,有点懒,不想一一叙述。学习