专于诊断网络使用的
- ping 存活检查
- healthz 健康检查
- 检查IP是否通达
- 检查健康接口是否通达
- 检查 MySQL 连接状态
- 创建 MySQL 新的数据库
- 提供 Prometheus metrics 数据
- 添加 httpstat 分析URL请求不同阶段的耗时
- 添加 nali 一个查询IP地理信息和CDN提供商的离线终端工具.
两种使用方法,一种是使用 DeamonSet, 一种是 Deployment
- DeamonSet 清单
- 用于诊断整个集群的网络通达
- Deployment 清单
- 用于单个应用的测试与调试使用
# 使用默认端口 80
docker run -itd --name kube-box -p 9110:80 sgfoot/kube-box:latest
https://hub.docker.com/r/sgfoot/kube-box/tags
# 最新版本
docker pull sgfoot/kube-box:latest
默认80端口
序列 | 接口地址 | 说明 |
---|---|---|
1 | / | 主页 |
2 | /ping | 存活检测接口 |
3 | /healthz | 健康接口 |
4 | /check-ip | 检查IP是否通达 |
5 | /dry-check-ip | 检查IP是否通达,只返回失败的 |
6 | /check-healthz | 检查健康接口是否通达 |
7 | /dry-check-healthz | 检查健康接口是否通达,只返回失败的 |
8 | /metrics | prometheus metrics infomation |
9 | /check-mysql | 检查 MySQL 连接状态 |
10 | /create-mysql-db | 创建 MySQL 新的数据库 |
名称 | 默认值 | 说明 |
---|---|---|
PORT | 80 | 端口 |
TARGET_PORT | 80 | 目标端口,即 healthz请求时使用的端口 |
VERSION | v0.0.1 | 版本号 |
DATA_PATH | ./data/ | 数据存储目录路径 |
IP_DATA_FILENAME | ip.data | IP数据文件名 |
NETWORK_NAME | eth0 | 网卡名称,用于获取本机IP地址 |
GO_NUMBER | 10 | 并发数 |
TIMEOUT | 5 | 请求超时,单位秒(s) |
HEALTHZ_PATH_NAME | healthz | 健康接口地址 |
- windown
$env:DATA_PATH="./data/"
$env:NETWORK_NAME="WLAN"
go run .
- linux
export DATA_PATH="./data/"
export NETWORK_NAME="WLAN"
go run .
用于接入 prometheus 监控使用。
访问方法:http://localhost:80/metrics
# 统计接口访问状态次数。如 200 表示成功次数为 10 次,404表示未找到页面 7 次。
# HELP kubebox_requests_total Number of the http requests received since the server started
# TYPE kubebox_requests_total counter
kubebox_requests_total{status="200"} 10
kubebox_requests_total{status="404"} 7
- host 连接地址
- port 端口号,必须整型
- user 用户名称
- pass 用户密码
例:
curl localhost/check-mysql?host=127.0.0.1&port=3306&user=root&pass=123456
- 创建数据库,默认采用 utf8mb4
- host 连接地址
- port 端口号,必须整型
- user 用户名称
- pass 用户密码
- dbname 需要创建的数据库名称
例:
curl localhost/create-mysql-db?host=127.0.0.1&port=3306&user=root&pass=123456&dbname=test