Prometheus 简单入门

最近需要一套监控工具监控多个环境的健康状况,看中prometheus的主要原因的它的丰富的exporter和大量的metrics,而且也支持多种告警触发方式,例如邮件,丁丁,微信,WEBAPI,所以打算尝试一下。

如下是网络结构图

网络结构图

组件介绍

Prometheus Server: 主要是用来收集各个exporter 采集上来的数据,所以在部署的时候,最好存储得够。

Node exporter: prometheus 官网提供很多exporter 用来采集各种指标,例如process-exporter 是用来收集进程指标,jvm-exporter是用来收集 java进程 jvm指标,这里我们介绍node-exporter,它是用来收集主机指标。如下是官网的exporter list,你可以找到你需要的exporter

Exporters and integrations | Prometheus

安装

安装prometheus server

可以有两种方式安装prometheus server:用docker 或者 用prometheus server的安装包

因为环境限制,我们如下只介绍使用安装包的安装方式

1. docker 安装

####下载最新的prometheus server image

$ docker pull prom/prometheus:latest

####启动docker

$docker run -d -p 9090:9090 -v prom/prometheus

2. 安装prometheus server安装包

登录prometheus server 主机后

$wget https://github.com/prometheus/prometheus/releases/download/v2.13.0-rc.0/prometheus-2.13.0-rc.0.linux-amd64.tar.gz

####解压安装包

$tar –zxvf prometheus-2.13.0-rc.0.linux-amd64.tar.gz

$cd prometheus-2.13.0-rc.0.linux-amd64/

$nohup ./prometheus --web.enable-lifecycle --storage.tsdb.path=/prometheus/data/ &

--web.enable-lifecycle 这个参数可以支持在线刷新配置文件,如果在生产环境不能宕机的情况下,还是很好用的。例如当你更改了prometheus.yml,可以调用如下链接就可以刷新配置

$curl -XPOST http://prometheus_server_ip:port/-/reload

--storage.tsdb.path 这个参数可以指定数据存储位置,我设计的时候特地为/prometheus/data/规划了500G 的盘,用来存放数据

启动后,http://prometheus_server_ip:9090/graph如下就是prometheus的页面

prometheus homepage

标签解释:

Alerts: 如果安装了alertmanager, 所有的告警将会在alerts 页面展示

Graph: 可以实时监控某个metric

Status: 监控 prometheus server 和 exporter的状态

安装node exporter

登录node exporter 主机后

$wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz

$cd node_exporter-0.18.1.linux-amd64/

$./node_exporter &

这样启动后,默认监听端口是9100,如果想改用其他端口,可以使用参数

--web.listen-address="ip:port"

例如如果想启动3000端口,就可在node exporter server上执行

$./node_exporter --web.listen-address=":3000" &

打开node exporter 的url http://node_exporter_ip:9100/metrics 你就可以看到如下信息

node exporter metrics

配置server和exporter的链接

上面步骤我们已经启动了prometheus server 和node exporter,下面我们配置一下他们的链接

登录prometheus server

$cd prometheus-2.13.0-rc.0.linux-amd64/

$vim prometheus.yml

edit prometheus.yml

- job_name: 'node'

    static_configs:

      - targets:['*******:9100']  ####这里填写node exporter ip

        labels:

                env: testing   ####这里你可以自定义一个labels,用于区分不同的node

调用如下的链接refresh一下prometheus server

$curl -XPOST http://prometheus_server_ip:port/-/reload

然后登录prometheus 页面选择status 下面的targets

Targets

从页面上就能看到,我们刚才配置的node已经加添加成功了。这样就可以查看每台主机的性能情况

后面再介绍granfana,alertmanager 和其他exporter如何使用。

你可能感兴趣的:(Prometheus 简单入门)