在这里插入图片描述

Prometheus(由go语言(golang)开发)是一开源的监控&报警&时间序列数据库的组合。 适合监控docker容器。因为kubernetes(俗称k8s)的流行带动了 prometheus的发展。

1、Prometheus功能

  • 在业务层用作埋点系统:
    Prometheus支持多种语言(Go,java,python,ruby官方提供客户端,其他语言有第三方开源客户端)。我们可以通过客户端方面的对核心业务进行埋点。如下单流程、添加购物车流程。

  • 在应用层用作应用监控系统:
    一些主流应用可以通过官方或第三方的导出器,来对这些应用做核心指标的收集。如redis,mysql。

  • 在系统层用作系统监控:
    除了常用软件, prometheus也有相关系统层和网络层exporter,用以监控服务器或网络。

  • 集成其他的监控:
    prometheus还可以通过各种exporte,集成其他的监控系统,收集监控数据,如AWS CloudWatch,JMX,Pingdom等等

2、Prometheus架构

prometheus是一个用Go编写的时序数据库,可以支持多种语言客户端,架构如下:
在这里插入图片描述

安装实践过程:
1、安装go 语言环境
2、在监控服务器上安装prometheus
3、在被监控环境上安装export
4、安装grafana

3、环境

环境/组件版本
操作系统CentOS8-(192.168.235.160)
Prometheusprometheus-2.31.1.linux-amd64.tar.gz
gogo1.17.3.linux-amd64.tar.gz

4、安装

下载地址:
Prometheus下载地址:https://prometheus.io/download/#prometheus.
go下载地址:https://golang.org/dl/.
Grafana下载地址:https://dl.grafana.com/oss/release/grafana-7.3.3-1.x86_64.rpm.

步骤1:安装go 语言环境

由于Prometheus 是用golang开发的,所以首先安装一个go环境,Go语言是跨平台,支持Windows、Linux、Mac OS X等系统,还提供有源码,可编译安装

[root@localhost ~]# tar -C /usr/local/ -xvf go1.17.3.linux-amd64.tar.gz


[root@localhost ~]# vim /etc/profile
//在文件的最后添加如下内容:
87 export PATH=$PATH:/usr/local/go/bin

[root@localhost ~]# source  /etc/profile

//用go version 来验证是否成功
[root@localhost ~]# go version
go version go1.17.3 linux/amd64

步骤2:在监控服务器上安装prometheus

[root@localhost ~]# tar  -vxf prometheus-2.31.1.linux-amd64.tar.gz  -C /usr/local/
prometheus-2.31.1.linux-amd64/
prometheus-2.31.1.linux-amd64/consoles/
prometheus-2.31.1.linux-amd64/consoles/index.html.example
prometheus-2.31.1.linux-amd64/consoles/node-cpu.html
prometheus-2.31.1.linux-amd64/consoles/node-disk.html
prometheus-2.31.1.linux-amd64/consoles/node-overview.html
prometheus-2.31.1.linux-amd64/consoles/node.html
prometheus-2.31.1.linux-amd64/consoles/prometheus-overview.html
prometheus-2.31.1.linux-amd64/consoles/prometheus.html
prometheus-2.31.1.linux-amd64/console_libraries/
prometheus-2.31.1.linux-amd64/console_libraries/menu.lib
prometheus-2.31.1.linux-amd64/console_libraries/prom.lib
prometheus-2.31.1.linux-amd64/prometheus.yml
prometheus-2.31.1.linux-amd64/LICENSE
prometheus-2.31.1.linux-amd64/NOTICE
prometheus-2.31.1.linux-amd64/prometheus
prometheus-2.31.1.linux-amd64/promtool
[root@localhost ~]# 

//为了以后进入目录方便,做一个软连接:
[root@localhost ~]# ln -sv /usr/local/prometheus-2.31.1.linux-amd64/  /usr/local/prometheus
'/usr/local/prometheus' -> '/usr/local/prometheus-2.31.1.linux-amd64/'

[root@localhost ~]# /usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml &

[root@localhost ~]# ss -antl
State     Recv-Q    Send-Q       Local Address:Port       Peer Address:Port   Process   
LISTEN    0         128                0.0.0.0:22              0.0.0.0:*                
LISTEN    0         128                   [::]:22                 [::]:*                
LISTEN    0         128                      *:9090                  *:*           

验证
浏览器打开IP:9090端口即可打开普罗米修斯自带的监控页面
在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐