监控神器:Premotheus+Grafana安装

一、Premotheus介绍

Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。使用Go语言开发,是GoogleBorgMon监控系统的开源版本。它通过HTTP协议从远程的机器收集数据并存储在本地的时序数据库上。

特点:

多维数据模型(时序列数据由metric名和一组key/value组成)

在多维度上灵活的查询语言(PromQl)

不依赖分布式存储,单主节点工作.

通过基于HTTP的pull方式采集时序数据

可以通过pushgateway进行时序列数据推送(pushing)

可以通过服务发现或者静态配置去获取要采集的目标服务器

多种可视化图表及仪表盘支持

详细介绍见:https://prometheus.io/

二、Premotheus组件架构

Prometheus生态系统由多个组件组成,它们中的一些是可选的。多数Prometheus组件是Go语言写的,这使得这些组件很容易编译和部署。

  • PrometheusServer

    主要负责数据采集和存储,提供PromQL查询语言的支持。

  • 客户端SDK

    官方提供的客户端类库有go、java、scala、python、ruby,其他还有很多第三方开发的类库,支持nodejs、php、erlang等。

  • PushGateway

    支持临时性Job主动推送指标的中间网关。

  • PromDash

    使用Rails开发可视化的Dashboard,用于可视化指标数据。

  • Exporter

        Exporter是Prometheus的一类数据采集组件的总称。它负责从目标处搜集数据,并将其转化为Prometheus支持的格式。与传统的数据采集组件不同的是,它并不向中央服务器发送数据,而是等待中央服务器主动前来抓取。

Prometheus提供多种类型的Exporter用于采集各种不同服务的运行状态。目前支持的有数据库、硬件、消息中间件、存储系统、HTTP服务器、JMX等。

  • alertmanager

    警告管理器,用来进行报警。

  • prometheus_cli

    命令行工具。

  • 其他辅助性工具

 多种导出工具,可以支持Prometheus存储数据转化为HAProxy、StatsD、Graphite等工具所需要的数据存储格式。

三、Premotheus+Grafana安装

  • No.1 安装Go语言环境:(每个被监控机器均需安装

如果是离线安装,国内下载地址:https://www.golangtc.com/download

]# tar -C /usr/local -xzf go1.9.4.linux-amd64.tar.gz
]# vim  /etc/profile

在文件的最后添加如下内容:

exportPATH=$PATH:/usr/local/go/bin

保存退出后,接着让配置文件立刻生效:

]# source  /etc/profile

验证一下是否成功,用goversion 来验证

]# go  version

若网络畅通,直接在线安装 ]#yum install golang

  • No.2安装Prometheus&Node_exporter

下载地址:https://prometheus.io/download/

下载Prometheus和Node_exporter

下载好之后解压文件到安装目录。

配置prometheus监控配置文件:prometheus.yml

配置完成后启动Prometheus和node_exporter。

]# ./Prometheus
]# nohup ./node_exporter &   //每个监控机器上必须要装,Prometheus服务主机也需要

通过如下URL可以打开prometheus的自带监控界面: IP:9090,点击targets 跳转到监控目标,这里展现了多个监控对象。

  • No3安装Prometheus面板:Grafana

下载地址:https://grafana.com/grafana/download

下载之后直接解压到安装目录启动。

]# servicegrafana-server start

启动后,打开URL,端口采用默认的3000,默认用户密码:admin/admin

进去后会要求修改密码,然后点击add datasource,选中 Prometheus 2.0 Stats后,就可以呈现如下的监控面板了:

https://grafana.com/dashboards这里有很多实用的模板下载,下载好之后在Grafana里面加载上就可以使用了。

-End-



@Cooper_73 @gjs_73archer

更多精彩内容请关注微信公众号“73号弓箭手

博客主页链接: https://www.cnblogs.com/cooper-73/


原文地址:https://www.cnblogs.com/cooper-73/p/9706602.html