通过一个完整例子,在 Gin 框架中嵌入 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 来启动 Gin 服务。
请访问如下地址获取完整教程:
go get github.com/rookie-ninja/rk-boot
go get github.com/rookie-ninja/rk-gin
为了完整展示,我们使用一个 git 工程,并且添加 API。
除了开启 gin.tv.enabled,我们还开启了其他服务,这样就可以验证完整 TV 页面。
请参考专栏里其他文章来获取每个选项的详细信息。
或者访问:rk-boot 官方文档。
---
gin:
- 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
// 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-gin/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())
}
.
├── LICENSE
├── README.md
├── boot.yaml
├── go.mod
├── go.sum
└── main.go
$ go run main.go
rk-boot 会读取本地 README.md 文件,并展示在 TV 页面中。
如果是打包编译的情况,rk-boot 会寻找 .rk/README.md 路径,可以通过 RK 命令行,方便编译。
请参考:例子
rk-boot 会读取本地进程信息。
rk-boot 会读取 Gin 内部所有 API 列表。
如果 boot.yaml 里有 config 入口,会显示在这里。
下面的图只是个例子截图,上面的代码不会有 Config,因为我们没有加入 Config。
如果 boot.yaml 里有 cert 入口,会显示在这里。
下面的图只是个例子截图,上面的代码不会有 Cert,因为我们没有加入 Cert。
rk-boot 会读取本地 go.mod 文件,并展示在 TV 页面中。
如果是打包编译的情况,rk-boot 会寻找 .rk/go.mod 路径,可以通过 RK 命令行,方便编译。
请参考:例子
rk-boot 会收集本地 OS 信息。
rk-boot 会收集本地 Go Env 信息。
rk-boot 会读取本地 .git 文件,并展示在 TV 页面中。
如果是打包编译的情况,rk-boot 会寻找 .rk/rk.yaml 路径,里面包含了 git 信息。可以通过 RK 命令行,方便编译。
请参考:例子
rk-boot 会显示目前在进程中的所有 Log 实例信息。
rk-boot 如果开启了 Prometheus 中间件,我们可以在这个页面中看到 API 的基本监控信息。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。