之前研究k8s时候用部署过prometheus,使用它来监控k8s集群,不过也是照文档操作,并没有深入研究,最近大概看了一下。后续会陆续介绍,由于prometheus下载速度比较慢,因此我用的下载包我已同步到http://cactifans.hiwww.com/prometheus/ 有需要的可以下载
安装运行
prometheus安装比较简单,下载编译好的二进制文件,修改好配置文件,直启动即可。可以在https://github.com/prometheus/prometheus/releases 下载最新版本。由于网络原因不能下载的,可在我的站点下载http://cactifans.hi-www.com/prometheus/prometheus-2.1.0.linux-amd64.tar.gz
下载之后解压
解压之后,会有一个默认的配置文件,可以直接使用这个配置文件启动
即可启动prometheus,默认端口为9090.通过浏览器可以看到如下页面,表示prometheus启动正常。
至于如何使用systemd等启动prometheus,可查看官方文档。
基本操作
在prometheus的主页面的Expressioni里输入http_requests_total,点击Execute,即可看到http_requests_total相关的指标及其监控指标,点击Graph即可将指标已图标形式显示。
metrics是prometheus的重要概念,metrics可理解为监控指标,prometheus运行之后,本省自带很多metrics指标,可以反应出prometheus本身的一些运行情况,可以通过http://IP:9090/metrics查看所有指标列表及数值,如图:
上面的http_requests_total就是prometheus自带的计算Prometheus的http处理的总请求数.prometheus里还可以通过count,reate等函数对metrics指标进行计算。具体的函数比较多,可以在这里查看https://prometheus.io/docs/prometheus/latest/querying/functions/
主机监控
Prometheus官网有很多exporter,exporter可以理解为采集客户端,即采集指标,通过http方式暴露metrics给prometheus,Prometheus通过pull方式拉取这些指标。Prometheus官网提供了一个node_exporter,用于监控主机的指标。下载地址http://cactifans.hi-www.com/prometheus/node_exporter-0.15.2.linux-amd64.tar.gz
下载之后解压,直接运行
即可启动node_exporter,默认端口为9100,访问http://ip:9100/metrics 可查看所有metrics指标。具体指标及使用可以查看https://github.com/prometheus/node_exporter 的说明,启动node_exporter之后,需要修改prometheus配置文件,添加jobs,以便prometheus能够拉取指标。修改默认prometheus配置文件,添加以下内容:
注意:由于prometheus配置文件为yaml格式,对于空格,换行有严格限制,编译时一定要注意空格或换行
上面添加了一个job,job_name为node,地址为安装node_exporter机器的ip及端口,添加之后重启prometheus采集到过一段时间之后可以在prometheus界面,输入node,看到node的metrics,如图:
表示node的信息已经被prometheus采集到
集中展示
prometheus自带的绘图功能比较弱,如何才能使展示效果高大上呢?这里就要使用Grafana.借助与Grafana可以完全自定义属于自己的Dashboard监控视图。Grafana的安装及配置比较简单,我这直接使用Centos7的rpm进行安装,安装之后,直接启动。Grafana下载地址:http://cactifans.hi-www.com/grafana/grafana-4.6.3-1.x86_64.rpm
大致安装过程
即可完成Grafana的安装,Grafana默认端口为3000,默认用户为admin,密码为admin
登录后点击右侧菜单Data Sources,添加数据源,如图:
Grafana默认已支持prometheus的数据源,选在数据源类型为Prometheus,名称随意,填写之前安装的prometheus地址,点击save&test,如果没有问题,表示配置成功。
配置成功之后,可以对prometheus监控的metrics指标进行绘图,配合prometheus自带的函数,可以定制出自己的Dashboard,由于Grafana功能比较多,就不一一介绍,直接倒入别人已经做好的Dashboard配置文件,就可直接展示。这里推荐一款Dashboard模版,模版下载地址https://grafana.com/dashboards/159 可以通过模版Id方式安装,或者下载json格式模版.我这里下载json格式模版之后,点击Dashboard,再点击import,导入之前的json格式模版。
导入成功之后,切换到新的Dashboard,即可看到效果。是不是很炫酷?
领取专属 10元无门槛券
私享最新 技术干货