前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Echo 框架: 通过 Web 获取服务元信息

Echo 框架: 通过 Web 获取服务元信息

原创
作者头像
尹东勋
修改2021-12-13 01:07:49
3630
修改2021-12-13 01:07:49
举报

介绍

通过一个完整例子,在 Echo 框架中嵌入 Web UI 获取服务元信息。

名称

详情

README

如果本地有 README.md 文件,会展示

进程信息

显示进程信息

API 列表

获取 API 列表

Entry 列表

Entry 列表,请参考详情

Config 列表

列出 Config 文件信息

| CA 证书 | 列出 TLS/SSL 证书信息 |

| 依赖 | 列出 go.mod 信息 |

| LICENSE | 如果本地有 LICENSE 文件,会展示 |

| OS 信息 | 当前 OS 信息 |

| Go Env 信息 | Go 环境信息 |

| Git 信息 | 如果是 Git 工程,会展示 |

| Log 信息 | 展示 Log 原信息 |

| Metrics | 展示 Prometheus Metrics |

我们将会使用 rk-boot 来启动 Echo 服务。

请访问如下地址获取完整教程:

安装

代码语言:txt
复制
go get github.com/rookie-ninja/rk-boot
go get github.com/rookie-ninja/rk-echo

快速开始

为了完整展示,我们使用一个 git 工程,并且添加 API。

1.创建 boot.yaml

除了开启 echo.tv.enabled,我们还开启了其他服务,这样就可以验证完整 TV 页面。

请参考专栏里其他文章来获取每个选项的详细信息。

或者访问:rk-boot 官方文档。

代码语言:txt
复制
---
echo:
  - name: greeter                   # Required
    port: 8080                      # Required
    enabled: true                   # Required
    commonService:
      enabled: true                 # Optional, enable common service
    tv:
      enabled: true                 # Optional, enable TV
    sw:
      enabled: true                 # Optional, enable swagger UI
    interceptors:
      metricsProm:
        enabled: true

2.创建 main.go

代码语言:txt
复制
// Copyright (c) 2021 rookie-ninja
//
// Use of this source code is governed by an Apache-style
// license that can be found in the LICENSE file.

package main

import (
	"context"
	"github.com/rookie-ninja/rk-boot"
	_ "github.com/rookie-ninja/rk-echo/boot"
)

// Application entrance.
func main() {
	// Create a new boot instance.
	boot := rkboot.NewBoot()

	// Bootstrap
	boot.Bootstrap(context.Background())

	// Wait for shutdown sig
	boot.WaitForShutdownSig(context.Background())
}

3.文件夹结构

代码语言:txt
复制
.
├── LICENSE
├── README.md
├── boot.yaml
├── go.mod
├── go.sum
└── main.go

4.验证

代码语言:txt
复制
$ go run main.go

访问 localhost:8080/rk/v1/tv

4.1 README

rk-boot 会读取本地 README.md 文件,并展示在 TV 页面中。

如果是打包编译的情况,rk-boot 会寻找 .rk/README.md 路径,可以通过 RK 命令行,方便编译。

请参考:例子

4.2 进程元信息

rk-boot 会读取本地进程信息。

4.3 API 列表

rk-boot 会读取 Echo 内部所有 API 列表。

4.4 Entry 列表

4.5 Config 列表

如果 boot.yaml 里有 config 入口,会显示在这里。

下面的图只是个例子截图,上面的代码不会有 Config,因为我们没有加入 Config。

4.6 证书

如果 boot.yaml 里有 cert 入口,会显示在这里。

下面的图只是个例子截图,上面的代码不会有 Cert,因为我们没有加入 Cert。

4.7 依赖

rk-boot 会读取本地 go.mod 文件,并展示在 TV 页面中。

如果是打包编译的情况,rk-boot 会寻找 .rk/go.mod 路径,可以通过 RK 命令行,方便编译。

请参考:例子

4.8 OS 信息

rk-boot 会收集本地 OS 信息。

4.9 Go Env 信息

rk-boot 会收集本地 Go Env 信息。

4.10 Git 信息

rk-boot 会读取本地 .git 文件,并展示在 TV 页面中。

如果是打包编译的情况,rk-boot 会寻找 .rk/rk.yaml 路径,里面包含了 git 信息。可以通过 RK 命令行,方便编译。

请参考:例子

4.11 Log 信息

rk-boot 会显示目前在进程中的所有 Log 实例信息。

4.12 Prometheus Metrics

rk-boot 如果开启了 Prometheus 中间件,我们可以在这个页面中看到 API 的基本监控信息。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 安装
  • 快速开始
    • 1.创建 boot.yaml
      • 2.创建 main.go
        • 3.文件夹结构
          • 4.验证
            • 4.1 README
            • 4.2 进程元信息
            • 4.4 Entry 列表
            • 4.5 Config 列表
            • 4.6 证书
            • 4.7 依赖
            • 4.8 OS 信息
            • 4.9 Go Env 信息
            • 4.10 Git 信息
            • 4.11 Log 信息
            • 4.12 Prometheus Metrics
        相关产品与服务
        Prometheus 监控服务
        Prometheus 监控服务(TencentCloud Managed Service for Prometheus,TMP)是基于开源 Prometheus 构建的高可用、全托管的服务,与腾讯云容器服务(TKE)高度集成,兼容开源生态丰富多样的应用组件,结合腾讯云可观测平台-告警管理和 Prometheus Alertmanager 能力,为您提供免搭建的高效运维能力,减少开发及运维成本。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档