Prometheus专题[3.Prometheus部署]

1.二进制包安装方式部署

我们可以到 Prometheus 二进制下载页面,选择自己需要的系统版本,下面我们将以 centos server 作为演示。

环境准备:

  • linux amd64 (centos server)
  • prometheus 2.1.0(这个是本次演示版,生产应该使用最新的稳定版)

1.1 下载 Prometheus Server

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#使用 wget 下载 Prometheus 的安装包

wget https://github.com/prometheus/prometheus/releases/download/v2.1.0/prometheus-2.1.0.linux-amd64.tar.gz

#创建 Prometheus 目录,用于存放所有 Prometheus 相关的运行服务

mkdir /usr/local/prometheus

#使用 tar 解压缩 prometheus-2.1.0.linux-amd64.tar.gz

tar -xvzf prometheus-2.1.0.linux-amd64.tar.gz

#移动解压的目录到规范好的目录

mv prometheus-2.1.0.linux-amd64/* /usr/local/prometheus

#当解压缩成功后,可以运行 version 检查运行环境是否正常

./prometheus --version

#如果你看到类似输出,表示你已安装成功:

prometheus, version 2.1.0 (branch: HEAD, revision: 85f23d82a045d103ea7f3c89a91fba4a93e6367a)
build user: root@6e784304d3ff
build date: 20180119-12:01:23
go version: go1.9.2

1.2 启动 Prometheus Server

1
2
3
4
5
6
7
8
./prometheus
#如果 prometheus 正常启动,你将看到如下信息:

level=info ts=2018-03-07T11:54:37.942600572Z caller=main.go:225 msg="Starting Prometheus" version="(version=2.1.0, branch=HEAD, revision=85f23d82a045d103ea7f3c89a91fba4a93e6367a)"
level=info ts=2018-03-07T11:54:37.943049663Z caller=main.go:226 build_context="(go=go1.9.2, user=root@6e784304d3ff, date=20180119-12:01:23)"
level=info ts=2018-03-07T11:54:37.943178767Z caller=main.go:227 host_details="(Linux 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 sz-145-centos102 (none))"
level=info ts=2018-03-07T11:54:37.94329837Z caller=main.go:228 fd_limits="(soft=655350, hard=655350)"
level=info ts=2018-03-07T11:54:37.94772037Z caller=web.go:383 component=web msg="Start listening for connections" address=0.0.0.0:9090

通过启动日志,可以看到 Prometheus Server 默认端口是 9090。

当 Prometheus 启动后,你可以通过浏览器来访问 http://IP:9090,将看到如下页面

Prometheus自带的web页面

在默认配置中,我们已经添加了 Prometheus Server 的监控,所以我们现在可以使用 PromQL(Prometheus Query Language)来查看,比如查询tcp的连接状态:

Prometheus查询

2.Docker容器部署

所有Prometheus服务的Docker镜像在官方组织prom下,都是可用的

在Docker上运行Prometheus服务,只需要简单地执行docker run -p 9090:9090 prom/prometheus命令行即可。这条命令会启动Prometheus服务,使用的是默认配置文件,并对外界暴露9090端口

Prometheus镜像使用docker中的volumn卷存储实际度量指标。在生产环境上使用容器卷模式, 可以在Prometheus更新和升级时轻松管理Prometheus数据, 这种使用docker volumn卷方式存储数据,是被docker官方强烈推荐的

3.总结

可以看出 Prometheus 二进制安装非常方便,没有依赖,自带查询 web 界面。
在生产环境中,我们可以将 Prometheus 添加到 init 配置里,或者使用 supervisord 作为服务自启动。

# 推荐文章
  1.深刻理解Docker镜像大小
  2.k8s专题[1.k8s基础概念]
  3.k8s专题[10.使用Spinnaker持续发布应用]
  4.k8s专题[2.k8s设计原则]
  5.k8s专题[3.k8s基础组件]

评论


:D 一言句子获取中...