【亚马逊云科技】使用Helm 3为Amazon EKS部署Prometheus+Grafana监控平台

news2024/11/18 17:29:47

在这里插入图片描述

文章目录

      • 1. 创建Kubernetes命名空间
      • 2. 添加Prometheus社区helm chart
      • 3. 安装prometheus
      • 4. 检查Prometheus Pod运行状况
      • 5. 检查Prometheus Service部署情况
      • 6. 修改服务访问端口类型
      • 7. 访问Prometheus数据收集情况
      • 8. 访问Grafana
      • 9. 设置数据源
      • 10. 查看Kubernetes各类性能可视化参数信息

1. 创建Kubernetes命名空间

首先,创建一个 Kubernetes 命名空间,并使用 helm 来部署 stable/monitoring 软件包:

$ kubectl create namespace monitoring

操作过程演示:

[ec2-user@ip-172-31-37-104 ~]$ kubectl create namespace monitoring 
namespace/monitoring  created

[ec2-user@ip-172-31-37-104 ~]$ kubectl get ns
NAME              STATUS   AGE
default           Active   153m
kube-node-lease   Active   153m
kube-public       Active   153m
kube-system       Active   153m
monitoring        Active   86m

2. 添加Prometheus社区helm chart

其次,添加 Prometheus 社区helm chart:

$ helm repo add prometheus-community https://prometheus-community.github.io/helm-charts

$ helm repo update

$ helm repo list

$ helm search repo stable/prometheus-operator
$ helm search repo prometheus-operator

操作过程演示:

[ec2-user@ip-172-31-37-104 ~]$ helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
"prometheus-community" already exists with the same configuration, skipping

[ec2-user@ip-172-31-37-104 ~]$ helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "grafana" chart repository
...Successfully got an update from the "prometheus-community" chart repository
...Successfully got an update from the "stable" chart repository
Update Complete. ⎈Happy Helming![ec2-user@ip-172-31-37-104 ~]$ helm repo list
NAME                    URL
prometheus-community    https://prometheus-community.github.io/helm-charts
grafana                 https://grafana.github.io/helm-charts
stable                  https://charts.helm.sh/stable

[ec2-user@ip-172-31-37-104 ~]$ helm search repo prometheus-community/prometheus-operator
NAME                            CHART VERSION   APP VERSION     DESCRIPTION
stable/prometheus-operator      9.3.2           0.38.1          DEPRECATED Provides easy monitoring definitions...

3. 安装prometheus

接着,使用helm install安装prometheus:

helm install stable prometheus-community/kube-prometheus-stack --debug

创建过程显示正常,最后会输出如下内容:

NOTES:
kube-prometheus-stack has been installed. Check its status by running:
  kubectl --namespace default get pods -l "release=stable"

Visit https://github.com/prometheus-operator/kube-prometheus for instructions on how to create & configure Alertmanager and Prometheus instances using the Operator.

4. 检查Prometheus Pod运行状况

最后,检查Prometheus Pods的部署情况。

[ec2-user@ip-172-31-37-104 ~]$ kubectl get pods -n monitoring
NAME                                                     READY   STATUS    RESTARTS   AGE
alertmanager-stable-kube-prometheus-sta-alertmanager-0   2/2     Running   0          131m
prometheus-stable-kube-prometheus-sta-prometheus-0       2/2     Running   0          131m
stable-grafana-58b76cd9d7-tgd8r                          3/3     Running   0          131m
stable-kube-prometheus-sta-operator-7699d6bfb8-zx8jn     1/1     Running   0          131m
stable-kube-state-metrics-65f45c47c9-5zmj5               1/1     Running   0          131m
stable-prometheus-node-exporter-2q98d                    1/1     Running   0          126m
stable-prometheus-node-exporter-98cf4                    1/1     Running   0          131m
stable-prometheus-node-exporter-d6jnm                    1/1     Running   0          128m
stable-prometheus-node-exporter-gp5dh                    1/1     Running   0          131m
stable-prometheus-node-exporter-gqqls                    1/1     Running   0          128m
stable-prometheus-node-exporter-sqg6x                    1/1     Running   0          126m
[ec2-user@ip-172-31-37-104 ~]$

5. 检查Prometheus Service部署情况

检查部署完成的服务 kubectl get svc

$ kubectl get svc -n monitoring

检查部署完成的Prometheus Pods可以看到每个节点都运行了 node-exporter 且已经运行起 Prometheus和Grafana

[ec2-user@ip-172-31-37-104 ~]$ kubectl get svc -n monitoring
NAME                                      TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                         AGE
alertmanager-operated                     ClusterIP   None             <none>        9093/TCP,9094/TCP,9094/UDP      79m
prometheus-operated                       ClusterIP   None             <none>        9090/TCP                        79m
stable-grafana                            NodePort    10.100.215.171   <none>        80:32311/TCP                    79m
stable-kube-prometheus-sta-alertmanager   ClusterIP   10.100.237.236   <none>        9093/TCP,8080/TCP               79m
stable-kube-prometheus-sta-operator       ClusterIP   10.100.79.75     <none>        443/TCP                         79m
stable-kube-prometheus-sta-prometheus     NodePort    10.100.141.226   <none>        9090:31634/TCP,8080:31429/TCP   79m
stable-kube-state-metrics                 ClusterIP   10.100.222.140   <none>        8080/TCP                        79m
stable-prometheus-node-exporter           ClusterIP   10.100.168.39    <none>        9100/TCP                        79m

6. 修改服务访问端口类型

🛑情况说明:默认情况下, prometheusgrafana 服务都是使用ClusterIP在集群内部,所以要能够在外部访问,需要使用 NodePort


✅操作内容:修改 stable-kube-prometheus-sta-prometheus 服务和 stable-grafana 服务配置文件中的内容,将 typeClusterIP 修改为 NodePort

$ kubectl edit svc stable-grafana

image-20230712125628700

$ kubectl edit svc stable-kube-prometheus-sta-prometheus

image-20230712125646789

执行kubectl get svc -n monitoring命令,查看对应服务访问的外置端口。

image-20230712130129183

注意:检查对应的主机安全组的端口是否开启。

7. 访问Prometheus数据收集情况

访问Prometheus数据收集情况。其中一个集群工作节点的IP地址+prometheus端口。

image-20230712130643481

8. 访问Grafana

访问Grafana。对Amazon EKS中的数据进行数据可观测性查看。其中一个集群工作节点的IP地址+grafana端口。


访问 Grafana 面板,初始账号 admin 密码是 prom-operator ,请立即修改

image-20230712141136331

9. 设置数据源

1、设置名称。设置为默认数据源


2、Prometheus server URL:Prometheus的SVC对应的Cluster-IP

image-20230712140937751

  • 点击“Save & test”保存并测试。输出结果如下所示,表示成功。

image-20230712141241463

10. 查看Kubernetes各类性能可视化参数信息

  • 查看Kubernetes网络工作负载

image-20230712141018536

  • 查看Kubernetes Pod网络传输情况

image-20230712141045398

  • 查看Kubernetes 服务器接口

image-20230712141056844

  • 查看需要Kubelet命令查询操作的数据

image-20230712141108990

  • 查看Kubernetes Proxy

image-20230712141255088

  • 全局查看Prometheus

image-20230712141310421

  • 查看集群工作节点的系统配置参数信息

image-20230712141338782

image-20230712141348105
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1362995.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

初中数学:几何题的相关解题原则总结

一、多问类型的几何题 我们做题&#xff0c;应该都遇到过这类几何题目&#xff0c;就是&#xff0c;三个小问&#xff0c;每个小问对应一个几何图像&#xff0c;而且&#xff0c;渐渐复杂。这种题目&#xff0c;大多数有一个变化的条件&#xff0c;比如&#xff0c;动点、角度…

嵌入式培训机构四个月实训课程笔记(完整版)-Linux系统编程第四天-Linux管道练习题(物联技术666)

更多配套资料CSDN地址:点赞+关注,功德无量。更多配套资料,欢迎私信。 物联技术666_嵌入式C语言开发,嵌入式硬件,嵌入式培训笔记-CSDN博客物联技术666擅长嵌入式C语言开发,嵌入式硬件,嵌入式培训笔记,等方面的知识,物联技术666关注机器学习,arm开发,物联网,嵌入式硬件,单片机…

冒泡排序数据结构实验报告

实验目的&#xff1a; 理解冒泡排序算法的原理和基本思路。熟悉冒泡排序在实际应用中的场景和优化方法。 实验内容&#xff08;实验题目与说明&#xff09; 编写一个双向冒泡排序算法&#xff0c;即在排序过程中以交替的正、反两个方向进行遍历。若第一趟把关键字最大的记录…

【Sublime Text】| 02——常用插件安装及配置

系列文章目录 【Sublime Text】| 01——下载软件安装并注册 【Sublime Text】| 02——常用插件安装及配置 失败了也挺可爱&#xff0c;成功了就超帅。 文章目录 1. 汉化2. 更换颜色主题3. 更改编码插件—ConvertToUTF84. 对齐插件—Alignment5. 括号高亮插件—BracketHighligh…

亲,你相信数据吗?

对于这个问题&#xff0c;我们首先要看一下数据的属性&#xff0c;数据本身是中性的&#xff0c;只是信息的一个载体&#xff0c;从这个属性定义来看&#xff0c;我们是不能盲目相信或者不相信数据的。相不相信数据&#xff0c;其实是数据可靠性的问题&#xff0c;而数据可靠性…

网络安全红队常用的攻击方法及路径

一、信息收集 收集的内容包括目标系统的组织架构、IT资产、敏感信息泄露、供应商信息等各个方面&#xff0c;通过对收集的信息进行梳理&#xff0c;定位到安全薄弱点&#xff0c;从而实施下一步的攻击行为。 域名收集 1.备案查询 天眼查爱企查官方ICP备案查询 通过以上三个…

与Anders Hejlsberg一起深入TypeScript - BDL2011

TypeScript是JavaScript的类型化超集&#xff0c;编译成纯JavaScript。与TypeScript的创建者Anders Hejlsberg坐下来讨论你所有的问题&#xff0c;并讨论TypeScript设计理念和生态发展! 视频地址&#xff1a; https://mp.weixin.qq.com/s?__bizMzU3NjM0NjY0OQ&mid224748…

[SAP ABAP] ABAP基础语法

ABAP(Advanced Business Application Programming)是一种编程语言&#xff0c;用于SAP软件的开发和定制 SAP ABAP是一种高级语言&#xff0c;主要用于在SAP平台上为大型企业和金融机构开发企业应用程序 1. ABAP基本语法结构 ABAP源程序由注释和ABAP语句组成&#xff0c;其中…

linux centos 部署 jenkins

一、试了用容器部署&#xff0c;不行。(建议别用容器部署) 二、直接部署在主机上 1、安装java环境 yum install java-11-openjdk-devel # 检查 java -version # 打印 [rootiZwz9a99mctbkabkh2imhdZ init.d] java -version openjdk version "11.0.21" 2023-10-17 L…

用HTML的原生语法实现两个div子元素在同一行中排列

代码如下&#xff1a; <div id"level1" style"display: flex;"><div id"level2-1" style"display: inline-block; padding: 10px; border: 1px solid #ccc; margin: 5px;">这是第一个元素。</div><div id"…

ThinkPHP5多小区物业管理系统源码(支持多小区)

基于 ThinkPHP5 Bootstrap 倾力打造的多小区物业 管理系统源码&#xff0c;操作简单&#xff0c;功能完善&#xff0c;用户体验良好 开发环境PHP7mysql 安装步骤: 1.新建数据库db_estate,还原数据db_estate.sql 2.修改配置文件&#xff1a;application/database.php 3.运…

解决java接口使用spring-validation验证入参类型为List校验不生效的问题

由于 List 是接口,无法直接用于参数验证,但可以通过实现类重写 List 接口,把此实现类作为校验dto即可 dto标记: 一、直接使用 List 入参类型,不生效示例: @ApiOperation(value = "公共测试接口")@PostMapping("/testPublicApi")public CommonResult&…

IDEA TODO

今天记录一个 IDEA 工具的小技巧&#xff0c; TODO。比如下班前有一个小功能没完善好&#xff0c;此时可以在响应代码上加上 TODO 注解&#xff0c; //密码比对 // TODO 后期需要进行md5加密&#xff0c;然后再进行比对 password DigestUtils.md5DigestAsHex(password.getByt…

Linux内核--网络协议栈(一)Socket通信原理和实例讲解

目录 一、引言 二、Socket ------>2.1、socket编程 ------>2.2、Socket的创建 三、收发数据 四、断开连接 五、删除套接字 六、网络 IO 一、引言 本章开始进入linux内核中网络部分的学习,先简单介绍一下socket套接字 二、Socket 一个数据包经由应用程序产生…

系列七、Typora安装 配置

一、安装 1.1、下载安装包 我分享的链接&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1K5DjV_xhCH5WGiiEHlNQVQ?pwdyyds 提取码&#xff1a;yyds 1.2、安装 无脑下一步&#xff0c;下一步即可。 二、Typora中设置插入的图片左对齐 2.1、背景 往Typora中插入图…

FineBI实战(2):案例架构说明及数据准备

1 系统架构 基于MySQL搭建数据仓库基于Kettle进行数据处理帆软FineBI基于MySQL搭建的数据仓库进行数据分析 2 数据流程图 通过Kettle将MySQL业务系统数据库中&#xff0c;将数据抽取出来&#xff0c;然后装载到MySQL数据仓库中。编写SQL脚本&#xff0c;对MySQL数据仓库中的数…

【MySQL】视图,外连接内连接子查询简单介绍及面试笔试案例题

目录 一 视图 1.1视图是什么 1.2 创建视图 1.3 查看视图(两种) 1.4 修改视图(两种) 1.5 删除视图 二 外连接&内连接&子查询介绍 2.1 外连接 2.2 内连接 2.3 子查询 三 外连接&内连接&子查询案例 3.1 了解表结构与数据 3.2 案例题目 四 思维导图…

听GPT 讲Rust源代码--compiler(25)

File: rust/compiler/rustc_target/src/spec/mod.rs 在Rust的源代码中&#xff0c;rust/compiler/rustc_target/src/spec/mod.rs文件的作用是定义和实现有关目标平台的规范。 SanitizerSet是一个结构体&#xff0c;用于表示目标平台上存在的sanitizer集合。 TargetWarnings是一…

HttpRunner自动化测试工具之获取响应数据extract提取值到变量

获取响应数据 extract: 提取 注&#xff1a;extract 应与request保持同一层级 1、响应行&#xff0c;响应头&#xff1b;通过 extract 提取响应的数据并存储到变量中&#xff0c;如下图&#xff1a; 注&#xff1a;变量名的前面要有 - # 获取响应数据: 响应行&#xff08;…

GoLang:gRPC协议的介绍以及详细教程,从Protocol开始

目录 ​编辑 引言 一、安装相关Go语言库和相关工具 1. 安装Go 2. 安装Protocol Buffers Compiler 2.1 Windows 2.1.1 下载 2.1.2 解压 2.1.3 环境变量 2. macOS 3. Linux 4. 验证安装 3. 安装gRPC-Go 4. 安装Protocol Buffers的Go插件 二、定义服务 三、生成Go…