这篇文章介绍一下Prometheus常见的安装方式,比如镜像方式或者二进制文件方式等。
安装方式
Prometheus支持多种安装方式,比如:
Docker镜像方式
最简单的方式莫过于直接使用Prometheus提供的官方镜像,比如使用如下执行命令即可在本地9090端口启动Prometheus服务。
执行命令示例:docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
二进制文件方式
下载预先编译好的二进制文件然后进行安装和设置,下载地址可以是:
下载地址:https://prometheus.io/download/
或者
下载地址:https://github.com/prometheus/prometheus/releases
启动方法
解压操作系统相对应的二进制文件包,提供本地设定文件,使用如下命令即可启动Prometheus服务了
执行命令示例:./prometheus --config.file=prometheus.yml
源码编译方式
构建
Prometheus使用go语言开发,所以本地只需要提供go的开发环境,然后git clone源码之后执行make即可构建出二进制文件
执行命令:
mkdir -p $GOPATH/src/github.com/prometheus
cd $GOPATH/src/github.com/prometheus
git clone https://github.com/prometheus/prometheus.git
cd prometheus
make build
启动服务
执行命令示例: ./prometheus --config.file=prometheus.yml
其他安装方式
Ansible
- https://github.com/cloudalchemy/ansible-prometheus
Chef
- https://github.com/elijah/chef-prometheus
Puppet
- https://forge.puppet.com/puppet/prometheus
SaltStack
- https://github.com/saltstack-formulas/prometheus-formula
Helm
- 直接使用helm install进行安装,需要注意的是相关版本的Chart是对于Helm 2还是Helm 3的支持。
安装示例
整体来说Prometheus的安装就是一个二进制文件,下载、解压并设定权限,然后通过config.file指定配置文件即可完成安装并启动服务,各种方式基本上都是简化这一原本就很简单的过程而已。这里以Docker方式的服务启动为例进行说明:
配置文件准备
liumiaocn:prometheus liumiao$ ls
prometheus-demo.yml
liumiaocn:prometheus liumiao$ cat prometheus-demo.yml
global:
scrape_interval: 10s
evaluation_interval: 10s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['127.0.0.1:9090']
labels:
group: 'prometheus'
liumiaocn:prometheus liumiao$
下载最新版本的Prometheus镜像
执行命令:docker pull prom/prometheus
启动Prometheus服务
执行命令:docker run -d -p 9090:9090 -v `pwd`/prometheus-demo.yml:/etc/prometheus/prometheus.yml --name prometheus prom/prometheus
结果确认
通过http://localhost:9090即可访问启动起来的Prometheus的UI界面,缺省进入的是Grap标签的所在页面:
Alerts标签界面信息
Status标签界面信息
Prometheus使用REACT重新改造了界面的显示,可以通过点击Try experimental React UI进行体验
确认metrics内容(http://localhost:9090/metrics)
稍微运行一会,选择一个指标,调节时间范围为15分钟,即可看到指标的变化情况
参考内容
https://prometheus.io/docs/prometheus/latest/installation/
https://github.com/prometheus/prometheus