使用grafana+prometheus+node_exporter+influxdb 从零开始搭建服务器监控平台

本文详细介绍如何在Centos上从零开始搭建服务器性能监控系统,包括node_exporter、prometheus、influxdb和grafana的安装配置过程,以及解决prometheus数据持久化问题。

前言

最近公司有对服务器进行性能监控的需求在查阅大量资料后。本人将从零开始一步步演示在Centos上搭建监控系统平台

1. node_exporter

为监控线上服务器CPU、内存、磁盘、IO等信息需要借助node_exporter完成以上机器信息收集在下面你将会了解到:

  • 本地搭建一个node_exporter
  • 将搭建好的node_exporter与prometheus配合使用

我们可以从github查找自己需要的node_exporter版本进行下载。
在这里插入图片描述

下载地址如下:

wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz

解压安装:

tar -zxvf node_exporter-0.18.1.linux-amd64.tar.gz -C /soft/service
mv node_exporter-0.18.1.linux-amd64 node_exporter

进入node_exporter目录运行服务:

cd node_exporter
./node_exporter

启动后你将会看到下面的显示的界面且可以清晰看到此服务运行绑定端口号为9100如下所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GXAzbciG-1590235006889)(/Users/codegeekgao/Library/Application Support/typora-user-images/image-20200523160301303.png)]
浏览器可以访问此端口以查看效果(需开放此端口或者关闭防火墙):
在这里插入图片描述

2. prometheus

Prometheus是一个开源的系统监控和警报工具包,rometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。

官方文档展示的架构图如下所示:
在这里插入图片描述
官方下载地址:https://prometheus.io/download/
下载prometheus安装包:

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

解压安装:

tar -zxvf prometheus-2.18.1.linux-amd64.tar.gz -C /soft/service
mv prometheus-2.18.1.linux-amd64 prometheus

配置 prometheus监控目标:

cd prometheus
vim prometheus.yml

在配置文件中添加如下内容:

  - job_name: 'export_test2'
    static_configs:
      - targets: ['10.211.55.5:9100']
        labels:
          instance: 'node2'

然后我们浏览器访问此9100端口如果出现以下界面,恭喜你已经成功安装好了prometheus。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jmNkml5z-1590235006895)(/Users/codegeekgao/Library/Application Support/typora-user-images/image-20200523162721718.png)]

然后我们输入一个 node_cpu_seconds_total 命令并点击Execute 查看是否有数据输出如下所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l7NMS9wQ-1590235006897)(/Users/codegeekgao/Library/Application Support/typora-user-images/image-20200523163137768.png)]

注意事项

  1. prometheus默认采用的是本地磁盘做数据存储,本地存储的优势就是运维简单但是缺点就是无法海量的metrics持久化和数据存在丢失的风险,数据写入可能造成wal文件损坏导致采集数据无法再写入的问题。

  2. 为了解决单节点存储的限制,prometheus没有自己实现集群存储,而是提供了远程读写的接口,让用户自己选择合适的时序数据库来实现prometheus的扩展性。

  3. Prometheus 提供接口将数据写入到第三方存储系统亦提供接口读取第三方存储系统存储的数据原理如下所示:
    在这里插入图片描述
    接下来我们将node_exporter收集到Prometheus的数据持久化到influxdb数据库中。

3. influxdb

InfluxDB(时序数据库)常用的一种使用场景:服务器监控数据统计然后将数据统计汇总并借助Grafana进行图形化展示

官方下载地址:https://portal.influxdata.com/downloads/
在这里插入图片描述
下载安装包:


                
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值