监控神器: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-

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180918G1OOQ600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券