Api网关-使用Grafana可视化Apisix指标

文章目录

  • 前言
  • 一、Apisix部署
  • 二、安装配置Grafana
    • 1. 安装Grafana
    • 2. 设置中文
    • 3. 启动
    • 4. 登录
    • 5. 启停命令
      • 5.1 启动和停止
      • 5.2 启禁用开机自启动
      • 5.3 查看状态
  • 三、安装配置prometheus
    • 1. 安装
    • 2. 配置服务
    • 3. 启动
    • 4. 登录
    • 5. prometheus启停命令
      • 5.1 启动和停止
      • 5.2 启禁用开机自启动
      • 5.3 查看状态
  • 四、Apisix指标数据可视化
    • 1. Apisix配置
      • 1.1 启用Prometheus插件
      • 1.2 配置指标访问
        • 1.2.1 hadoop101节点
        • 1.2.2 hadoop102节点
        • 1.2.3 hadoop103节点
    • 2. Prometheus配置
    • 3. Grafana配置
      • 3.1 下载Apisix指标模版文件
      • 3.2 配置Prometheus数据源
  • 五、嵌入Grafana到Apisix
    • 1. 修改Grafana配置
      • 1.1 启用匿名访问
      • 1.2 允许通过 iframe 访问
    • 2. 修改apisix-dashboard配置
    • 3. 在Apisix中嵌入Grafana
  • 总结


前言

本文介绍了Apisix的部署和配置,以及如何安装和配置Grafana与Prometheus来实现指标数据的可视化。通过阅读本文,您将了解到如何搭建多节点的Apisix环境,并使用Grafana展示Apisix的监控指标。


一、Apisix部署

Apisix多节点搭建教程
Apisix数据编辑器路由配置教程
Apisix路由配置教程


二、安装配置Grafana

1. 安装Grafana

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-10.4.1-1.x86_64.rpm -P /tmp
yum install -y /tmp/grafana-enterprise-10.4.1-1.x86_64.rpm

2. 设置中文

sed -i "s|^default_language =.*|default_language = zh-Hans|" /usr/share/grafana/conf/defaults.ini

3. 启动

systemctl start grafana-server

4. 登录

浏览器访问 http://localhost:3000 登录UI页面。用户名和密码都是admin,第一次登录时要更改密码。

在这里插入图片描述

5. 启停命令

5.1 启动和停止

systemctl start grafana-server
systemctl restart grafana-server
systemctl stop grafana-server

5.2 启禁用开机自启动

systemctl enable grafana-server
systemctl disable grafana-server

5.3 查看状态

systemctl status grafana-server

三、安装配置prometheus

1. 安装

mkdir -p /opt/module
wget https://github.com/prometheus/prometheus/releases/download/v2.51.0/prometheus-2.51.0.linux-amd64.tar.gz -P /tmp
tar -zxvf /tmp/prometheus-2.51.0.linux-amd64.tar.gz -C /opt/module

2. 配置服务

创建/usr/lib/systemd/system/prometheus.service文件。

vim /usr/lib/systemd/system/prometheus.service

添加如下内容。

[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target

[Service]
Type=simple
ExecStart=/opt/module/prometheus-2.51.0.linux-amd64/prometheus --config.file=/opt/module/prometheus-2.51.0.linux-amd64/prometheus.yml --web.listen-address=0.0.0.0:9090
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target

3. 启动

systemctl start prometheus

4. 登录

浏览器访问 http://localhost:9090 进入UI页面。

在这里插入图片描述

5. prometheus启停命令

5.1 启动和停止

systemctl start prometheus
systemctl restart prometheus
systemctl stop prometheus

5.2 启禁用开机自启动

systemctl enable prometheus
systemctl disable prometheus

5.3 查看状态

systemctl status prometheus

四、Apisix指标数据可视化

1. Apisix配置

1.1 启用Prometheus插件

在这里插入图片描述
在这里插入图片描述

1.2 配置指标访问

1.2.1 hadoop101节点

修改/usr/local/apisix/conf/config.yaml文件,添加如下内容。

vim /usr/local/apisix/conf/config.yaml

添加如下配置。

plugin_attr:
  prometheus:
    export_addr:
      ip: 192.168.145.103
      port: 9091

重新加载配置文件。

ulimit -n 4096
apisix reload

验证是否可以获取指标数据。

curl -i http://192.168.145.103:9091/apisix/prometheus/metrics
1.2.2 hadoop102节点

修改/usr/local/apisix/conf/config.yaml文件,添加如下内容。

vim /usr/local/apisix/conf/config.yaml

添加如下配置。

plugin_attr:
  prometheus:
    export_addr:
      ip: 192.168.145.104
      port: 9091

重新加载配置文件。

ulimit -n 4096
apisix reload

验证是否可以获取指标数据。

curl -i http://192.168.145.104:9091/apisix/prometheus/metrics
1.2.3 hadoop103节点

修改/usr/local/apisix/conf/config.yaml文件,添加如下内容。

vim /usr/local/apisix/conf/config.yaml

添加如下配置。

plugin_attr:
  prometheus:
    export_addr:
      ip: 192.168.145.105
      port: 9091

重新加载配置文件。

ulimit -n 4096
apisix reload

验证是否可以获取指标数据。

curl -i http://192.168.145.105:9091/apisix/prometheus/metrics

2. Prometheus配置

修改/opt/module/prometheus-2.51.0.linux-amd64/prometheus.yml文件,添加如下内容。

vim /opt/module/prometheus-2.51.0.linux-amd64/prometheus.yml
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["localhost:9090"]
  
  - job_name: 'apisix'
    scrape_interval: 10s
    metrics_path: '/apisix/prometheus/metrics'
    static_configs:
      - targets: ['192.168.145.103:9091', '192.168.145.104:9091', '192.168.145.105:9091']

重启Prometheus服务。

systemctl restart prometheus

浏览器访问 http://localhost:9090 进入Prometheus页面,然后根据下图操作,可查看获取指标的相关信息。

在这里插入图片描述
在这里插入图片描述

3. Grafana配置

3.1 下载Apisix指标模版文件

点击下载Apisix指标模版文件。

3.2 配置Prometheus数据源

浏览器访问 http://localhost:3000 登录Grafana,然后根据下图操作创建数据源。

在这里插入图片描述

选择Prometheus数据源。

在这里插入图片描述

输入Prometheus地址。

在这里插入图片描述

在最下面点击Save & test,出现Successfully queried the Prometheus API.即为成功。

在这里插入图片描述

新建仪表盘。

在这里插入图片描述

导入之前下载的Apisix指标模版文件。

在这里插入图片描述

选择数据源后点击导入。

在这里插入图片描述

然后就会跳转到可视化界面。然后记住这个页面对应的url地址,后面需要使用该地址嵌入到Apisix。

在这里插入图片描述

五、嵌入Grafana到Apisix

1. 修改Grafana配置

修改 Grafana 配置文件,找到相关配置并修改为如下配置,允许 grafana 跨域。

vim /usr/share/grafana/conf/defaults.ini

1.1 启用匿名访问

[auth.anonymous]
enabled = true

1.2 允许通过 iframe 访问

allow_embedding = true

2. 修改apisix-dashboard配置

修改apisix-dashboard配置文件,添加如下配置。把192.168.145.103修改为安装Grafan的主机IP地址。

vim /usr/local/apisix/dashboard/conf/conf.yaml
conf:
  security:
    content_security_policy: "default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; frame-src 192.168.145.103:3000"

3. 在Apisix中嵌入Grafana

打开系统设置。

在这里插入图片描述

填入之前记住的地址,并点击提交。

在这里插入图片描述

如下图,成功的把Grafana可视化页面嵌入到Apisix中。

在这里插入图片描述


总结

本文详细介绍了在Apisix中部署并配置Grafana与Prometheus来实现指标数据可视化的步骤。首先我们安装并设置好Grafana,然后配置Prometheus作为数据源,并在Grafana中导入和展示Apisix相关指标模板。最后,我们还讲解了如何将嵌入好的Grafana页面集成到Apisix中进行显示。通过这些步骤,您可以方便地监控和分析Apisisx服务运行时产生的各项性能指标。

希望本教程对您有所帮助!如有任何疑问或问题,请随时在评论区留言。感谢阅读!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

高等数学基础篇(数二)之定积分的应用

定积分的应用&#xff1a; 一、几何应用 二、物理应用 三、几何例题 四、物理例题 目录 一、几何应用 1.平面图形的面积 2.旋转体体积 3.曲线弧长 4.旋转体侧面积 二、物理应用 三、几何例题 四、物理例题 一、几何应用 1.平面图形的面积 2.旋转体体积 3.曲线弧长…

mysql 安装与连接

关系型数据库 SQL: MySql Oracle 非关系型数据库 NoSql : redis MangoDB 关系型数据库有局限性&#xff0c;它的局限性由非关系型数据库弥补。 手机端常用的数据库是&#xff1a;SqlLite mysql下载 https://www.mysql.com/ 社区版本(免费) -> 推荐第二种方式 安装 …

基于 Rust 标准库 API 使用 200 行代码实现 Http 1.1 协议简易服务

1. 背景 早在之前学过一波 Rust&#xff0c;但是由于没用武之地&#xff0c;没过多久又荒废了&#xff0c;最近想捡起来下。刚好看见有群里小伙伴说学习 Http 网络协议太难怎么办&#xff1f;其实很多技术都是相通的&#xff0c;只要你理解了技术的本质就可以自己实现它&#…

WWDC24定档6月 | 崩坏3将推Mac系统版 苹果AI启航 visionOS 2.0将系数登场WWDC24

这几天又有一件苹果用户圈大事发生了&#xff01;WWDC24正式定档&#xff0c;将在6月10日-14日召开&#xff0c;届时一众软件系统&#xff0c;包括iOS18&#xff0c;iPadOS&#xff0c;WatchOS&#xff0c;VisionOS等等&#xff0c;都将迎来更新。另外就是手游崩坏3官宣&#x…

【JavaSE】接口 详解(上)

前言 本篇会讲到Java中接口内容&#xff0c;概念和注意点可能比较多&#xff0c;需要耐心多看几遍&#xff0c;我尽可能的使用经典的例子帮助大家理解~ 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 前言 接口 语法…

《数据结构学习笔记---第十篇》--- 堆堆排序(超详细图解)

目录 1.堆是什么? 2.问题引入&#xff1a;当我们插入一个新的元素时&#xff0c;那么他还是堆吗。 3.堆的元素插入 4.问题引入&#xff1a;当我们删除一个堆顶元素时&#xff0c;我们又该如何调整呢&#xff1f; 5.堆顶元素删除 6.如何建堆&#xff1f; 6.1向上调整建堆…

栈的应用——用栈实现算数混合运算表达式的计算

1、单目运算符双目运算符 算数运算符分为单目运算符和双目运算符等 单目运算符只需要一个操作数,双目运算符需要两个操作数 双目运算符最常见:常见的算术运算符:*/,比较运算符:<>=等等以下是一些单目运算符:正号 (+): 用于表示正数或给数值一个正号。例如:+5 仍然…

自动驾驶中各种坐标系辨析

坐标系辨析 0. 地球椭圆体1. 大地坐标系2. eci地心惯性坐标系3. 地心地固坐标系(ECEF坐标系&#xff0c;E系)4. 站心坐标系(ENU坐标系)5. UTM坐标系6. LTM坐标系7. IMU坐标系8. 代码部分8.1 LLA(大地坐标系坐标、经纬度海拔)坐标转LTM系(ENU系)下的三维笛卡尔坐标8.2 LLA坐标转…

Vue3(学自尚硅谷)

一、基础准备工作 &#xff08;一&#xff09;过程 环境要求&#xff1a;有node.js环境、npm。执行命令&#xff1a; npm create vuelatest 而后选择&#xff1a; ✔ 请输入项目名称&#xff1a; … me_vue3 ✔ 是否使用 TypeScript 语法&#xff1f; … 否 / 是 ✔ 是否启用…

Java 中 Spring Boot 框架下的 Email 开发

Email 开发 1. 核心依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId> </dependency><dependency><groupId>org.springframework.boot</groupId><…

9.set容器的使用

文章目录 set容器1.构造和赋值代码工程运行结果 2.大小和交换代码工程运行结果 4.插入和删除代码工程运行结果 5.查找和统计工程代码运行结果 6.multset代码工程运行结果 7.指定排序规则代码工程运行结果 8.自定义数据类型排序代码工程运行结果 set容器 所有元素都会在插入时&a…

ABAP SHIFT-字符串移位 和 CONDENSE去除空格

文章目录 SHIFT-字符串移位 和 CONDENSE去除空格SHIFT BY n PLACES RIGHT/LEFT运行结果 SHIFT ... UP TO ...运行结果 其他的-变量后面加括号和数字SHIFT c LEFT/RIGHT DELETING运行结果 SHIFT 去除0示例程序1运行结果示例程序2运行结果 CONDENSE示例程序运行结果 SHIFT-字符串…

电荷泵如何实现升压原来

电荷泵如何实现升压原来 某芯片自举栅极驱动内部原理图迪克森电荷泵 某芯片自举栅极驱动内部原理图 迪克森电荷泵 迪克森电荷泵&#xff08;Dickson Charge Pump&#xff09;是一种电压倍增器电路&#xff0c;可以将低电压升高到较高电压&#xff0c;相对于其他电压升压电路&a…

Vue3:组件间通信-各种通信方式的用法总结

Vue3组件通信和Vue2的区别&#xff1a; 移出事件总线&#xff0c;使用mitt代替。vuex换成了pinia。把.sync优化到了v-model里面了。把$listeners所有的东西&#xff0c;合并到$attrs中了。$children被砍掉了。

Java NIO是New IO还是Non-blocking IO

文章目录 前言NIO到底叫啥通过对比理解NIO传统IO网络编程NIO引入的新概念NIO网络编程两者区别NIO的事件驱动 总结 前言 很多小伙伴对Java NIO的一些概念和编程不是很理解&#xff0c;希望通过本文对Java NIO与传统IO的对比&#xff0c;可以帮助大家更好地理解和掌握Java NIO。…

10-用PySpark建立第一个Spark RDD

目录 RDD概念RDD特点建立RDD的方式不同工具建立RDD的方式使用PySpark Shell(交互环境)建立RDD使用VSCode编程建立RDD使用Jupyter Notebook建立RDD 总结 PySpark实战笔记系列第一篇 RDD概念 Apache Spark的核心组件的基础是RDD。所谓的RDD&#xff0c;即弹性分布式数据集&#…

力扣刷题 二叉树的迭代遍历

题干 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,2,3]示例 2&#xff1a; 输入&#xff1a;root [] 输出&#xff1a;[]示例 3&#xff1a; 输入&#xff1a;root [1] 输…

以太网布局指南

2层板 顶层走信号线以及地平面底层走信号线以及地平面信号走线应至少沿一条边被接地或接地走线包围如果使用地走线&#xff0c;应接本层接地平面&#xff0c;与上层接地平面解耦。 4层板 当信号走线被重新引用到功率平面时&#xff0c;在地平面和功率平面之间需要去耦电容器(0…

CSS - 你实现过0.5px的线吗

难度级别:中级及以上 提问概率:75% 我们知道在网页显示或是网页打印中,像素已经是最小单位了,但在很多时候,即便是最小的1像素,精度却不足以呈现所需的线条精度和细节。因此,为了在网页显示和网页打印中呈现更加细致的线条,为了在视觉…

回归预测 | Matlab基于CPO-GPR基于冠豪猪算法优化高斯过程回归的多输入单输出回归预测

回归预测 | Matlab基于CPO-GPR基于冠豪猪算法优化高斯过程回归的多输入单输出回归预测 目录 回归预测 | Matlab基于CPO-GPR基于冠豪猪算法优化高斯过程回归的多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab基于CPO-GPR基于冠豪猪算法优化高斯…