Linux下使用Prometheus和Grafana构建集群监控系统:配置与搭建

一、基础知识

 

目前在服务器监控领域,除了老牌的Zabbix和nagios外,Prometheus和Grafana也是目前较为流行的监控方案,本文介绍Prometheus和Grafana的配置方法。

 

1、什么是Grafana?

 

Grafana是一个图形化工具,它可以从很多种数据源(例如Prometheus)中读取数据信息,使用很漂亮的图表来展示数据,并且有很多开源的dashborad可以使用,制作自己的dashboard也很简单,总之,可以快速地搭建起一个非常精美的监控平台。

 

2、什么是TSDB?

 

TSDB(Time Series Database)时间序列数据库,简单来说就是存储随时间变化的数据的数据库。什么是随时间变化的数据呢?举个简单的例子,比如,CPU使用率,典型的随时间变化的量,这一秒是50%,下一秒也许就是80%了。或者是温度,今天是20度,明天可能就是18度了。

常见的TSDB(时间序列数据库):influxDB,RRDtool,Graphite,OpenTSDB,Kdb+,Druid,KairosDB,Prometheus等。

 

3、什么是Prometheus?
 

Prometheus(中文名:普罗米修斯)是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。2016年由Google发起Linux基金会旗下的原生云基金会(Cloud Native Computing Foundation),将Prometheus纳入其下第二大开源项目。

Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。不需要任何SDK或者其他的集成过程。这样做非常适合做虚拟化环境监控系统,比如VM、Docker、Kubernetes等。输出被监控组件信息的HTTP接口被叫做exporter。目前互联网公司常用的组件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux系统信息(包括磁盘、内存、CPU、网络等等)。

Prometheus获取数据的策略是Pull而不是Push,也就是说,它会自己去抓取,而不用你来推送。抓取使用的是HTTP协议,在配置文件中指定目标程序的端口,路径及间隔时间即可。这也就意味着任何程序想要使用Prometheus存储数据都很简单,定义一个HTTP接口即可。

 

4、什么是exporter?

 

prometheus可以理解为一个数据库+数据抓取工具,工具从各处抓来统一的数据,放入prometheus这一个时间序列数据库中。那如何保证各处的数据格式是统一的呢?就是通过这个exporter. Exporter是一类数据采集组件的总称。Exporter负责从目标处搜集数据,并将其转化为Prometheus支持的格式,它开放了一个http接口(以便Prometheus来抓取数据)。与传统的数据采集组件不同的是,Exporter并不向中央服务器发送数据,而是等待中央服务器(如Prometheus等)主动前来抓取。

Prometheus提供多种类型的Exporter用于采集各种不同服务的运行状态。目前支持的有数据库、硬件、消息中间件、存储系统、HTTP服务器、JMX等。https://github.com/prometheus这里有很多写好的exporter,我们可以直接使用。本文使用的node-exporter是用来收集节点上的metrics监控数据的。

 

二、实验环境(rhel7.3版本)

 

1、selinux和firewalld状态为disabled

2、各主机信息如下:

主机 ip
server1(prometheus,Grafana) 172.25.83.1
server2(node_exporter(监听TCP 9100 端口)) 172.25.83.2</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值