【分布式】在树莓派集群中部署k3s+node_exporter+Prometheus+Grafana进行集群的监测和感知

一、项目介绍

本项目中使用Prometheus监控各项系统或业务的运行状态和健康情况。

其中主要用到exporter插件,Exporter的作用就是将监控数据采集的端点通过HTTP服务的形式暴露给Prometheus Server,然后Prometheus Server通过访问该Exporter提供的Endpoint端点,即可获取到需要采集的监控数据,也可以理解exporter就是部署在客户端的一个Agent。
exporter官方插件有很多个,如node_exporte,、mysql_exporter以及我们之前所介绍过的blackbox_exporter等,都是非常实际好用的。

最后,使用Grafana对以上的数据进行可视化。

二、组件介绍

1. k3s部署

(1)k3s简介

Kubernetes(业界简称k8s) 确实难学。 部署困难, 概念繁重,由于业界文档乱七八糟,理解起来又特别吃力费解。
拿万事开头难,来形容K8s的部署安装 绝对是再适合不过了。正所谓连安装都解决不了,何谈体验。那时候就在我要放弃的时候,我找到了k3s。

什么是k3s? 你就当作是Rancher团队 体会到了k8s给企业和开发者带来了“重”的痛苦后,所开发出来又完全符合k8s标准的优化版本。
虽然说是优化,但它高度整合了k8s所有的概念,这意味着你在k3s所掌握的知识是可以完美兼容到k8s上。部署方式高效、优雅又简洁,起码你不需要再陷入在部署陷阱里无法自拨。
同时k3s 属于 kubernetes 官方认证的发行版,即使你在企业中使用,只要规模不上数十加百台服务,你完全不用担心k3s会给你带坑。

(2)官网介绍图

在这里插入图片描述

2. exporter

一般来说可以将Exporter分为2类:

  • 直接采集:这一类Exporter直接内置了对Prometheus监控的支持,比如cAdvisor,Kubernetes,Etcd,Gokit等,都直接内置了用于向Prometheus暴露监控数据的端点。

  • 间接采集:间接采集,原有监控目标并不直接支持Prometheus,因此我们需要通过Prometheus提供的Client Library编写该监控目标的监控采集程序。例如:Mysql Exporter,JMX Exporter,Consul Exporter等。

3. Prometheus

(1)简介:

Prometheus 受启发于 Google 的 Brogmon 监控系统(相似的 Kubernetes 是从 Google 的 Brog 系统演变而来),从 2012 年开始由前 Google 工程师在 Soundcloud 以开源软件的形式进行研发,并且于 2015 年早期对外发布早期版本。 2016 年 5 月继 Kubernetes 之后成为第二个正式加入 CNCF 基金会的项目,同年 6 月正式发布 1.0 版本。2017 年底发布了基于全新存储层的 2.0 版本,能更好地与容器平台、云平台配合。 Prometheus 作为新一代的云原生监控系统,目前已经有超过 650+ 位贡献者参与到 Prometheus 的研发工作上,并且超过 120+ 项的第三方集成。

(2)官方架构图

在这里插入图片描述
borgmon(监控系统)对应克隆的版本:prometheus(go 语言开发)所以 prometheus 特别适合 K8S 的架构上。而作为一个数据监控解决方案,它由一个大型社区支持,有来自 700 多家公司的 6300 个贡献者,13500 个代码提交和 7200 个拉取请求。

(3)prometheus 特性

  • 多维的数据模型(基于时间序列的 Key-value 键值对)
  • 灵活的查询和聚合语言 PromQL
  • 提供本地存储和分布式存储
  • 通过基于 HTTP 和 HTTPS 的 Pull 模型采集时间序列数据(pull数据的推送,时间序列:每段时间点的数据值指标,持续性的产生。横轴标识时间,纵轴为数据值,一段时间内数值的动态变化,所有的点连线形成大盘式的折线图)
  • 可利用 Pushgateway(Prometheus 的可选中间件)实现 Push 模式
  • 可通过动态服务发现或静态配置发现目标机器(通过 consul 自动发现和收缩)
  • 支持多种图表和数据大盘

——————————————————————————————————————

(4)运维监控平台设计思路

  • 数据收集模块
  • 数据提取模块
  • 监控告警模块
    可细化为6层
第六层:用户展示管理层    同一用户管理、集中监控、集中维护
第五层:告警事件生成层    实时记录告警事件、形成分析图表(趋势分析、可视化)
第四层:告警规则配置层    告警规则设置、告警伐值设置
第三层:数据提取层    定时采集数据到监控模块
第二层:数据展示层    数据生成曲线图展示(对时序数据的动态展示)
第一层:数据收集层    多渠道监控数据

(5)Prometheus 的监控体系

  • 系统层监控(需要监控的数据)
2. CPU、Load、Memory、swap、disk i/o、process 等
3. 网络监控:网络设备、工作负载、网络延迟、丢包率等
  • 中间件及基础设施类监控
1. 消息中间件:kafka、redis、RocketMQ 等消息代理/中间件
2. WEB 服务器容器:tomcat、weblogic、apache、php、spring 系列
3. 数据库/缓存数据库:MySQL、PostgreSQL、MogoDB、es、redis

redis 监控内容:

  • redis 所在服务器的系统层监控
  • redis 服务状态
  • RDB AOF 日志监控
    (日志 -》如果是哨兵模式 -》哨兵共享集群信息,产生的日志 -》直接包含的其他节点哨兵信息及 mysql 信息)
  • key 的数量
  • key 被命中的数据/次数
  • 最大连接数 -》redis 和系统 (系统:ulimit -a。redis:redis-cli 登陆 -》config get
    maxclients 查看最大连接。)
  • </
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是prometheus+node_exporter+grafana的详细部署流程: 1. 下载并安装Prometheus 首先,需要从Prometheus的官方网站 https://prometheus.io/download/ 下载最新版本的Prometheus。下载完成后,解压缩并将其放在合适的位置。然后,可以通过以下命令启动Prometheus: ``` ./prometheus --config.file=prometheus.yml ``` 这里的“prometheus.yml”是Prometheus的配置文件,可以根据需要进行修改。 2. 下载并安装Node Exporter Node Exporter是一个用于收集主机指标的代理程序,可以通过以下命令下载最新版本的Node Exporter: ``` wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz ``` 下载完成后,解压缩并将其放在合适的位置。然后,可以通过以下命令启动Node Exporter: ``` ./node_exporter ``` 3. 配置Prometheus以监控Node Exporter 要监控Node Exporter,需要将其添加到Prometheus的配置文件。打开“prometheus.yml”文件并添加以下内容: ``` scrape_configs: - job_name: 'node_exporter' scrape_interval: 5s static_configs: - targets: ['localhost:9100'] ``` 这里的“targets”是Node Exporter的地址和端口号。如果要监控多个Node Exporter,则可以添加多个目标。 4. 下载并安装Grafana Grafana是一个用于可视化监控数据的开源平台,可以通过以下命令下载最新版本的Grafana: ``` wget https://dl.grafana.com/oss/release/grafana-7.1.5.linux-amd64.tar.gz ``` 下载完成后,解压缩并将其放在合适的位置。然后,可以通过以下命令启动Grafana: ``` ./bin/grafana-server ``` 5. 配置Grafana 要将PrometheusGrafana集成,需要在Grafana添加一个数据源。打开Grafana并导航到“Configuration”>“Data Sources”>“Add Data Source”: - 在“Name”字段输入数据源的名称。 - 在“Type”字段选择“Prometheus”。 - 在“HTTP”字段输入Prometheus的地址和端口号。 - 单击“Save & Test”以保存数据源并测试连接。 接下来,可以创建一个仪表盘并添加一个面板以显示Prometheus的数据。导航到“Create”>“Dashboard”>“Add Panel”: - 选择要显示的指标。 - 选择要显示的图表类型。 - 单击“Apply”以保存面板。 6. 查看监控数据 现在,可以通过Grafana查看收集到的监控数据。导航到仪表盘,将其刷新以更新数据,并查看面板的图表。 以上就是prometheus+node_exporter+grafana的详细部署流程。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别出BUG求求了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值