From f11e07b3fd42964c3e644796eea159d8e16d4cce Mon Sep 17 00:00:00 2001 From: WQY <1803324225@qq.com> Date: Fri, 12 Sep 2025 19:02:01 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=81=A5=E5=BA=B7?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E4=B8=AD=E5=BF=83=E9=A1=B9=E7=9B=AE=20-=20Go?= =?UTF-8?q?=E5=92=8CPython=E5=8F=8C=E8=AF=AD=E8=A8=80=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加Go语言版本的完整健康检查系统 - 包含Python版本的原始实现 - 提供完整的文档和安装指南 - 支持服务发现、指标监控、异常检测和告警功能 - 包含测试脚本和运行脚本 --- code(Go)/Makefile | 77 ++++ code(Go)/go.mod | 35 ++ code(Go)/go.sum | 89 +++++ code(Go)/health_check_center.go | 344 ++++++++++++++++++ code(Go)/main.go | 47 +++ code(Go)/run.bat | 62 ++++ code(Go)/run_health_center.go | 149 ++++++++ code(Go)/server.go | 262 +++++++++++++ code(Go)/test_health_center.go | 126 +++++++ code(Python)/health_check_center.py | 193 ++++++++++ code(Python)/run_health_center.py | 92 +++++ code(Python)/server.py | 101 +++++ code(Python)/test_health_center.py | 92 +++++ docs(Go)/INSTALL.md | 175 +++++++++ docs(Go)/PROJECT_SUMMARY.md | 260 +++++++++++++ .../READMEGo\350\257\255\350\250\200.md" | 225 ++++++++++++ ...0\350\241\214\347\225\214\351\235\242.png" | Bin 0 -> 88838 bytes ...3\346\236\234\347\225\214\351\235\242.png" | Bin 0 -> 214778 bytes 18 files changed, 2329 insertions(+) create mode 100644 code(Go)/Makefile create mode 100644 code(Go)/go.mod create mode 100644 code(Go)/go.sum create mode 100644 code(Go)/health_check_center.go create mode 100644 code(Go)/main.go create mode 100644 code(Go)/run.bat create mode 100644 code(Go)/run_health_center.go create mode 100644 code(Go)/server.go create mode 100644 code(Go)/test_health_center.go create mode 100644 code(Python)/health_check_center.py create mode 100644 code(Python)/run_health_center.py create mode 100644 code(Python)/server.py create mode 100644 code(Python)/test_health_center.py create mode 100644 docs(Go)/INSTALL.md create mode 100644 docs(Go)/PROJECT_SUMMARY.md create mode 100644 "docs(Go)/READMEGo\350\257\255\350\250\200.md" create mode 100644 "docs(Go)/\346\234\215\345\212\241\350\277\220\350\241\214\347\225\214\351\235\242.png" create mode 100644 "docs(Go)/\350\277\220\350\241\214\347\273\223\346\236\234\347\225\214\351\235\242.png" diff --git a/code(Go)/Makefile b/code(Go)/Makefile new file mode 100644 index 0000000..6565c9e --- /dev/null +++ b/code(Go)/Makefile @@ -0,0 +1,77 @@ +# Makefile for Health Check Center + +.PHONY: help build run test clean deps server mock-server + +# 默认目标 +help: + @echo "可用的命令:" + @echo " deps - 下载依赖" + @echo " build - 构建所有程序" + @echo " server - 启动Mock服务器" + @echo " run - 运行启动脚本" + @echo " test - 运行测试" + @echo " main - 运行主程序" + @echo " clean - 清理构建文件" + @echo "" + @echo "示例:" + @echo " make deps # 下载依赖" + @echo " make server # 启动Mock服务器" + @echo " make run # 运行健康检查" + +# 下载依赖 +deps: + @echo "📦 下载依赖..." + go mod tidy + go mod download + +# 构建所有程序 +build: deps + @echo "🔨 构建程序..." + go build -o bin/health-center main.go health_check_center.go + go build -o bin/server server.go + go build -o bin/run-script run_health_center.go health_check_center.go + go build -o bin/test test_health_center.go health_check_center.go + +# 启动Mock服务器 +server: + @echo "🚀 启动Mock服务器..." + go run server.go + +# 运行启动脚本 +run: + @echo "🏥 运行健康检查启动脚本..." + go run run_health_center.go health_check_center.go + +# 运行主程序 +main: + @echo "🏥 运行健康检查主程序..." + go run main.go health_check_center.go + +# 运行测试 +test: + @echo "🧪 运行测试..." + go run test_health_center.go health_check_center.go + +# 清理构建文件 +clean: + @echo "🧹 清理构建文件..." + rm -rf bin/ + go clean + +# 检查代码格式 +fmt: + @echo "📝 格式化代码..." + go fmt ./... + +# 运行代码检查 +vet: + @echo "🔍 代码检查..." + go vet ./... + +# 运行所有检查 +check: fmt vet test + @echo "✅ 所有检查通过" + +# 安装依赖并运行完整测试 +all: deps check + @echo "✅ 所有任务完成" diff --git a/code(Go)/go.mod b/code(Go)/go.mod new file mode 100644 index 0000000..788941e --- /dev/null +++ b/code(Go)/go.mod @@ -0,0 +1,35 @@ +module health-check-center + +go 1.21 + +require ( + github.com/gin-gonic/gin v1.9.1 + github.com/sirupsen/logrus v1.9.3 +) + +require ( + github.com/bytedance/sonic v1.9.1 // indirect + github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect + github.com/gabriel-vasile/mimetype v1.4.2 // indirect + github.com/gin-contrib/sse v0.1.0 // indirect + github.com/go-playground/locales v0.14.1 // indirect + github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/go-playground/validator/v10 v10.14.0 // indirect + github.com/goccy/go-json v0.10.2 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/klauspost/cpuid/v2 v2.2.4 // indirect + github.com/leodido/go-urn v1.2.4 // indirect + github.com/mattn/go-isatty v0.0.19 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/pelletier/go-toml/v2 v2.0.8 // indirect + github.com/twitchyliquid64/golang-asm v0.15.1 // indirect + github.com/ugorji/go/codec v1.2.11 // indirect + golang.org/x/arch v0.3.0 // indirect + golang.org/x/crypto v0.9.0 // indirect + golang.org/x/net v0.10.0 // indirect + golang.org/x/sys v0.8.0 // indirect + golang.org/x/text v0.9.0 // indirect + google.golang.org/protobuf v1.30.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) diff --git a/code(Go)/go.sum b/code(Go)/go.sum new file mode 100644 index 0000000..6f00312 --- /dev/null +++ b/code(Go)/go.sum @@ -0,0 +1,89 @@ +github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= +github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s= +github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= +github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= +github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 h1:qSGYFH7+jGhDF8vLC+iwCD4WpbV1EBDSzWkJODFLams= +github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= +github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= +github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= +github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= +github.com/go-playground/validator/v10 v10.14.0 h1:vgvQWe3XCz3gIeFDm/HnTIbj6UGmg/+t63MyGU2n5js= +github.com/go-playground/validator/v10 v10.14.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= +github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= +github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk= +github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= +github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= +github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= +github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= +github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= +github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= +github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= +github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k= +golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g= +golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= +golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/code(Go)/health_check_center.go b/code(Go)/health_check_center.go new file mode 100644 index 0000000..8eeedf6 --- /dev/null +++ b/code(Go)/health_check_center.go @@ -0,0 +1,344 @@ +package main + +import ( + "encoding/json" + "fmt" + "io" + "net/http" + "time" + + "github.com/sirupsen/logrus" +) + +// HealthCheckCenter 运行体检中心 - 定时检测系统运行指标 +type HealthCheckCenter struct { + BaseURL string + MetricsToCheck []string + HTTPClient *http.Client + Logger *logrus.Logger +} + +// Service 服务信息 +type Service struct { + Name string `json:"name"` + DeployState string `json:"deployState"` + Health string `json:"health"` + Deps []string `json:"deps"` +} + +// ServerResponse 服务器列表响应 +type ServerResponse struct { + Items []Service `json:"items"` +} + +// MetricData 指标数据 +type MetricData struct { + Status string `json:"status"` + Data struct { + ResultType string `json:"resultType"` + Result []struct { + Metric struct { + Name string `json:"__name__"` + Service string `json:"service"` + Version string `json:"version"` + Instance string `json:"instance"` + } `json:"metric"` + Values [][]interface{} `json:"values"` + } `json:"result"` + } `json:"data"` +} + +// AlertData 告警数据 +type AlertData struct { + Service string `json:"service"` + Metric string `json:"metric"` + Timestamp string `json:"timestamp"` + Data *MetricData `json:"data"` + Severity string `json:"severity"` +} + +// CheckResult 检测结果 +type CheckResult struct { + TotalChecks int `json:"total_checks"` + AnomalyCount int `json:"anomaly_count"` + Services []string `json:"services"` +} + +// NewHealthCheckCenter 创建新的健康检查中心实例 +func NewHealthCheckCenter(baseURL string) *HealthCheckCenter { + if baseURL == "" { + baseURL = "http://localhost:8080" + } + + logger := logrus.New() + logger.SetFormatter(&logrus.TextFormatter{ + FullTimestamp: true, + }) + + return &HealthCheckCenter{ + BaseURL: baseURL, + HTTPClient: &http.Client{Timeout: 30 * time.Second}, + Logger: logger, + MetricsToCheck: []string{ + "latency", + "traffic", + "errorRatio", + "saturation", + }, + } +} + +// GetAllServices 获取所有服务列表 +func (h *HealthCheckCenter) GetAllServices() ([]string, error) { + url := fmt.Sprintf("%s/v1/servers", h.BaseURL) + + resp, err := h.HTTPClient.Get(url) + if err != nil { + h.Logger.WithError(err).Error("获取服务列表失败") + return nil, err + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + h.Logger.WithField("status_code", resp.StatusCode).Error("获取服务列表失败") + return nil, fmt.Errorf("HTTP %d", resp.StatusCode) + } + + body, err := io.ReadAll(resp.Body) + if err != nil { + h.Logger.WithError(err).Error("读取响应失败") + return nil, err + } + + var serverResp ServerResponse + if err := json.Unmarshal(body, &serverResp); err != nil { + h.Logger.WithError(err).Error("解析服务列表失败") + return nil, err + } + + var services []string + for _, item := range serverResp.Items { + services = append(services, item.Name) + } + + h.Logger.WithField("services", services).Info("发现服务") + return services, nil +} + +// FetchMetricData 获取指定服务的指标数据 +func (h *HealthCheckCenter) FetchMetricData(service, metric string, timeRangeHours int) (*MetricData, error) { + if timeRangeHours == 0 { + timeRangeHours = 1 + } + + // 计算时间范围 + endTime := time.Now().UTC() + startTime := endTime.Add(-time.Duration(timeRangeHours) * time.Hour) + + // 格式化时间 + startStr := startTime.Format("2006-01-02T15:04:05Z") + endStr := endTime.Format("2006-01-02T15:04:05Z") + + // 构建请求URL + url := fmt.Sprintf("%s/v1/metrics/%s/%s", h.BaseURL, service, metric) + + req, err := http.NewRequest("GET", url, nil) + if err != nil { + return nil, err + } + + // 添加查询参数 + q := req.URL.Query() + q.Add("version", "v1.0.1") + q.Add("start", startStr) + q.Add("end", endStr) + q.Add("granule", "5m") + req.URL.RawQuery = q.Encode() + + resp, err := h.HTTPClient.Do(req) + if err != nil { + h.Logger.WithError(err).WithFields(logrus.Fields{ + "service": service, + "metric": metric, + }).Error("获取指标数据失败") + return nil, err + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + h.Logger.WithFields(logrus.Fields{ + "service": service, + "metric": metric, + "status_code": resp.StatusCode, + }).Error("获取指标数据失败") + return nil, fmt.Errorf("HTTP %d", resp.StatusCode) + } + + body, err := io.ReadAll(resp.Body) + if err != nil { + return nil, err + } + + var metricData MetricData + if err := json.Unmarshal(body, &metricData); err != nil { + h.Logger.WithError(err).WithFields(logrus.Fields{ + "service": service, + "metric": metric, + }).Error("解析指标数据失败") + return nil, err + } + + if metricData.Status != "success" { + h.Logger.WithFields(logrus.Fields{ + "service": service, + "metric": metric, + "status": metricData.Status, + }).Warning("指标返回错误状态") + return nil, fmt.Errorf("指标返回错误状态: %s", metricData.Status) + } + + h.Logger.WithFields(logrus.Fields{ + "service": service, + "metric": metric, + }).Info("成功获取指标数据") + + return &metricData, nil +} + +// AnomalyDetection 异常检测 - 暂时写死返回异常 +func (h *HealthCheckCenter) AnomalyDetection(metricData *MetricData) bool { + // TODO: 这里后续会集成LangGraph + AI检测 + h.Logger.Info("执行异常检测...") + + // 暂时写死返回异常,用于测试告警流程 + return true // 总是返回异常 +} + +// TriggerAlert 触发告警 - 调用其他同学的告警模块 +func (h *HealthCheckCenter) TriggerAlert(service, metric string, metricData *MetricData) { + h.Logger.WithFields(logrus.Fields{ + "service": service, + "metric": metric, + }).Warning("🚨 告警触发: 服务指标异常") + + // 构造告警数据 + alertData := AlertData{ + Service: service, + Metric: metric, + Timestamp: time.Now().UTC().Format(time.RFC3339), + Data: metricData, + Severity: "warning", + } + + // 这里调用其他同学的告警模块 + // TODO: 替换为真实的告警模块调用 + h.mockAlertHandler(alertData) +} + +// mockAlertHandler 模拟告警处理函数 +func (h *HealthCheckCenter) mockAlertHandler(alertData AlertData) { + fmt.Printf("📢 告警处理: %s/%s 在 %s 发生异常\n", + alertData.Service, alertData.Metric, alertData.Timestamp) + // 这里可以添加告警发送逻辑(邮件、短信、钉钉等) +} + +// HealthCheckWorkflow 运行体检中心主流程 +func (h *HealthCheckCenter) HealthCheckWorkflow() (*CheckResult, error) { + h.Logger.Info("🏥 开始运行体检中心检测...") + + // 1. 服务发现 + services, err := h.GetAllServices() + if err != nil { + h.Logger.WithError(err).Error("未发现任何服务,退出检测") + return nil, err + } + + if len(services) == 0 { + h.Logger.Error("未发现任何服务,退出检测") + return nil, fmt.Errorf("未发现任何服务") + } + + // 2. 遍历服务和指标进行检测 + totalChecks := 0 + anomalyCount := 0 + + for _, service := range services { + h.Logger.WithField("service", service).Info("🔍 检测服务") + + for _, metric := range h.MetricsToCheck { + totalChecks++ + h.Logger.WithFields(logrus.Fields{ + "service": service, + "metric": metric, + }).Info("📊 检测指标") + + // 3. 获取指标数据 + metricData, err := h.FetchMetricData(service, metric, 1) + if err != nil { + h.Logger.WithError(err).WithFields(logrus.Fields{ + "service": service, + "metric": metric, + }).Error("获取指标数据失败") + continue + } + + // 4. 异常检测 + isAnomaly := h.AnomalyDetection(metricData) + + // 5. 告警处理 + if isAnomaly { + anomalyCount++ + h.TriggerAlert(service, metric, metricData) + } + } + } + + // 6. 输出检测总结 + h.Logger.WithFields(logrus.Fields{ + "total_checks": totalChecks, + "anomaly_count": anomalyCount, + }).Info("✅ 检测完成") + + result := &CheckResult{ + TotalChecks: totalChecks, + AnomalyCount: anomalyCount, + Services: services, + } + + return result, nil +} + +// RunContinuousCheck 持续运行体检中心(定时检测) +func (h *HealthCheckCenter) RunContinuousCheck(intervalMinutes int) { + if intervalMinutes == 0 { + intervalMinutes = 5 + } + + h.Logger.WithField("interval_minutes", intervalMinutes).Info("🔄 启动持续检测模式") + + for { + startTime := time.Now() + + // 执行检测 + result, err := h.HealthCheckWorkflow() + if err != nil { + h.Logger.WithError(err).Error("检测失败") + } else { + h.Logger.WithFields(logrus.Fields{ + "total_checks": result.TotalChecks, + "anomaly_count": result.AnomalyCount, + }).Info("检测完成") + } + + // 计算下次检测时间 + elapsedTime := time.Since(startTime) + sleepTime := time.Duration(intervalMinutes)*time.Minute - elapsedTime + + if sleepTime > 0 { + h.Logger.WithField("sleep_seconds", sleepTime.Seconds()).Info("⏰ 等待后进行下次检测...") + time.Sleep(sleepTime) + } else { + h.Logger.Warning("⚠️ 检测耗时过长,立即开始下次检测") + } + } +} diff --git a/code(Go)/main.go b/code(Go)/main.go new file mode 100644 index 0000000..fa20a41 --- /dev/null +++ b/code(Go)/main.go @@ -0,0 +1,47 @@ +package main + +import ( + "fmt" + "os" + "strings" +) + +func main() { + // 创建体检中心实例 + healthCenter := NewHealthCheckCenter("") + + // 运行单次检测 + fmt.Println(strings.Repeat("=", 50)) + fmt.Println("🏥 运行体检中心 - 单次检测") + fmt.Println(strings.Repeat("=", 50)) + + result, err := healthCenter.HealthCheckWorkflow() + if err != nil { + fmt.Printf("❌ 检测失败: %v\n", err) + os.Exit(1) + } + + fmt.Println("\n" + "="*50) + fmt.Println("📊 检测结果汇总:") + fmt.Printf(" 总检测数: %d\n", result.TotalChecks) + fmt.Printf(" 异常数量: %d\n", result.AnomalyCount) + fmt.Printf(" 检测服务: %s\n", strings.Join(result.Services, ", ")) + fmt.Println(strings.Repeat("=", 50)) + + // 如果需要持续检测,取消下面的注释 + // fmt.Println("\n🔄 启动持续检测模式...") + // fmt.Println("按 Ctrl+C 停止检测") + // + // // 设置信号处理 + // sigChan := make(chan os.Signal, 1) + // signal.Notify(sigChan, syscall.SIGINT, syscall.SIGTERM) + // + // // 启动持续检测的goroutine + // go func() { + // healthCenter.RunContinuousCheck(5) // 每5分钟检测一次 + // }() + // + // // 等待中断信号 + // <-sigChan + // fmt.Println("\n🛑 检测已停止") +} diff --git a/code(Go)/run.bat b/code(Go)/run.bat new file mode 100644 index 0000000..f33e15f --- /dev/null +++ b/code(Go)/run.bat @@ -0,0 +1,62 @@ +@echo off +chcp 65001 >nul +echo ======================================== +echo 🏥 Go语言运行体检中心 +echo ======================================== +echo. + +REM 检查Go是否安装 +go version >nul 2>&1 +if %errorlevel% neq 0 ( + echo ❌ Go语言未安装或未添加到PATH + echo 请先安装Go语言环境,参考 INSTALL.md + pause + exit /b 1 +) + +echo ✅ Go语言环境检查通过 +echo. + +REM 下载依赖 +echo 📦 下载依赖... +go mod tidy +if %errorlevel% neq 0 ( + echo ❌ 依赖下载失败 + pause + exit /b 1 +) + +echo ✅ 依赖下载完成 +echo. + +echo 请选择要运行的程序: +echo 1. 启动Mock服务器 +echo 2. 运行健康检查启动脚本 +echo 3. 运行测试 +echo 4. 运行主程序 +echo 5. 退出 +echo. + +set /p choice=请输入选择 (1-5): + +if "%choice%"=="1" ( + echo 🚀 启动Mock服务器... + go run server.go +) else if "%choice%"=="2" ( + echo 🏥 运行健康检查启动脚本... + go run run_health_center.go health_check_center.go +) else if "%choice%"=="3" ( + echo 🧪 运行测试... + go run test_health_center.go health_check_center.go +) else if "%choice%"=="4" ( + echo 🏥 运行主程序... + go run main.go health_check_center.go +) else if "%choice%"=="5" ( + echo 👋 再见! + exit /b 0 +) else ( + echo ❌ 无效选择 +) + +echo. +pause diff --git a/code(Go)/run_health_center.go b/code(Go)/run_health_center.go new file mode 100644 index 0000000..e92c111 --- /dev/null +++ b/code(Go)/run_health_center.go @@ -0,0 +1,149 @@ +package main + +import ( + "bufio" + "fmt" + "net/http" + "os" + "os/exec" + "os/signal" + "strconv" + "strings" + "syscall" + "time" +) + +// startMockServer 启动mock服务器 +func startMockServer() bool { + fmt.Println("🚀 启动Mock服务器...") + + // 检查服务器是否已经在运行 + client := &http.Client{Timeout: 2 * time.Second} + resp, err := client.Get("http://localhost:8080/v1/servers") + if err == nil && resp.StatusCode == 200 { + fmt.Println("✅ Mock服务器已在运行") + resp.Body.Close() + return true + } + + // 启动新的服务器进程 + fmt.Println("📡 启动新的Mock服务器进程...") + cmd := exec.Command("go", "run", "server.go") + + // 设置输出 + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + + // 启动进程 + if err := cmd.Start(); err != nil { + fmt.Printf("❌ 启动服务器进程失败: %v\n", err) + return false + } + + // 等待服务器启动 + fmt.Println("⏳ 等待服务器启动...") + for i := 0; i < 10; i++ { + time.Sleep(1 * time.Second) + + resp, err := client.Get("http://localhost:8080/v1/servers") + if err == nil && resp.StatusCode == 200 { + fmt.Println("✅ Mock服务器启动成功") + resp.Body.Close() + return true + } + if resp != nil { + resp.Body.Close() + } + } + + fmt.Println("❌ Mock服务器启动失败") + return false +} + +// getInput 获取用户输入 +func getInput(prompt string) string { + fmt.Print(prompt) + reader := bufio.NewReader(os.Stdin) + input, _ := reader.ReadString('\n') + return strings.TrimSpace(input) +} + +// getIntInput 获取整数输入 +func getIntInput(prompt string) (int, error) { + input := getInput(prompt) + return strconv.Atoi(input) +} + +// runSingleCheck 运行单次检测 +func runSingleCheck(healthCenter *HealthCheckCenter) { + fmt.Println("\n🔍 执行单次检测...") + + result, err := healthCenter.HealthCheckWorkflow() + if err != nil { + fmt.Printf("❌ 检测失败: %v\n", err) + return + } + + fmt.Printf("\n📊 检测完成: %d 个指标, %d 个异常\n", + result.TotalChecks, result.AnomalyCount) +} + +// runContinuousCheck 运行持续检测 +func runContinuousCheck(healthCenter *HealthCheckCenter, intervalMinutes int) { + fmt.Printf("\n🔄 启动持续检测模式 (每%d分钟)...\n", intervalMinutes) + fmt.Println("按 Ctrl+C 停止检测") + + // 设置信号处理 + sigChan := make(chan os.Signal, 1) + signal.Notify(sigChan, syscall.SIGINT, syscall.SIGTERM) + + // 启动持续检测的goroutine + go func() { + healthCenter.RunContinuousCheck(intervalMinutes) + }() + + // 等待中断信号 + <-sigChan + fmt.Println("\n🛑 检测已停止") +} + +func main() { + fmt.Println(strings.Repeat("=", 60)) + fmt.Println("🏥 运行体检中心 - 启动脚本") + fmt.Println(strings.Repeat("=", 60)) + + // 启动mock服务器 + if !startMockServer() { + fmt.Println("❌ 无法启动Mock服务器,退出") + return + } + + // 创建体检中心实例 + healthCenter := NewHealthCheckCenter("") + + fmt.Println("\n选择运行模式:") + fmt.Println("1. 单次检测") + fmt.Println("2. 持续检测 (每5分钟)") + fmt.Println("3. 自定义间隔持续检测") + + choice := getInput("\n请选择 (1-3): ") + + switch choice { + case "1": + runSingleCheck(healthCenter) + + case "2": + runContinuousCheck(healthCenter, 5) + + case "3": + interval, err := getIntInput("请输入检测间隔(分钟): ") + if err != nil { + fmt.Println("❌ 无效的间隔时间") + return + } + runContinuousCheck(healthCenter, interval) + + default: + fmt.Println("❌ 无效选择") + } +} diff --git a/code(Go)/server.go b/code(Go)/server.go new file mode 100644 index 0000000..8dcdb94 --- /dev/null +++ b/code(Go)/server.go @@ -0,0 +1,262 @@ +package main + +import ( + "fmt" + "math/rand" + "net/http" + "strings" + "time" + + "github.com/gin-gonic/gin" +) + +// Service 服务信息 +type Service struct { + Name string `json:"name"` + DeployState string `json:"deployState"` + Health string `json:"health"` + Deps []string `json:"deps"` +} + +// ServerResponse 服务器列表响应 +type ServerResponse struct { + Items []Service `json:"items"` +} + +// MetricResponse 指标数据响应 +type MetricResponse struct { + Status string `json:"status"` + Data struct { + ResultType string `json:"resultType"` + Result []struct { + Metric struct { + Name string `json:"__name__"` + Service string `json:"service"` + Version string `json:"version"` + Instance string `json:"instance"` + } `json:"metric"` + Values [][]interface{} `json:"values"` + } `json:"result"` + } `json:"data"` +} + +// generateTimeSeries 生成时间序列数据 +func generateTimeSeries(startTime, endTime time.Time, granule string) [][]interface{} { + var interval time.Duration + + switch granule { + case "1m": + interval = time.Minute + case "5m": + interval = 5 * time.Minute + case "1h": + interval = time.Hour + default: + interval = 5 * time.Minute // 默认5分钟 + } + + var values [][]interface{} + currentTime := startTime + + for currentTime.Before(endTime) || currentTime.Equal(endTime) { + // 生成随机值 (0.1 到 1.0) + value := 0.1 + rand.Float64()*0.9 + values = append(values, []interface{}{float64(currentTime.Unix()), fmt.Sprintf("%.3f", value)}) + currentTime = currentTime.Add(interval) + } + + return values +} + +// parseTime 解析时间字符串 +func parseTime(timeStr string) (time.Time, error) { + // 移除Z后缀并添加时区信息 + if strings.HasSuffix(timeStr, "Z") { + timeStr = strings.TrimSuffix(timeStr, "Z") + "+00:00" + } + + // 尝试解析ISO 8601格式 + layouts := []string{ + "2006-01-02T15:04:05-07:00", + "2006-01-02T15:04:05Z07:00", + "2006-01-02T15:04:05", + } + + for _, layout := range layouts { + if t, err := time.Parse(layout, timeStr); err == nil { + return t, nil + } + } + + return time.Time{}, fmt.Errorf("无法解析时间格式: %s", timeStr) +} + +// getMetrics 获取指标数据 +func getMetrics(c *gin.Context) { + service := c.Param("service") + metricName := c.Param("name") + + // 获取查询参数 + version := c.DefaultQuery("version", "v1.0.0") + startStr := c.Query("start") + endStr := c.Query("end") + granule := c.DefaultQuery("granule", "5m") + + // 解析时间参数 + var startTime, endTime time.Time + var err error + + if startStr != "" && endStr != "" { + startTime, err = parseTime(startStr) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": fmt.Sprintf("无效的开始时间: %v", err)}) + return + } + + endTime, err = parseTime(endStr) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": fmt.Sprintf("无效的结束时间: %v", err)}) + return + } + } else { + // 默认时间范围(过去1小时) + endTime = time.Now().UTC() + startTime = endTime.Add(-time.Hour) + } + + // 生成时间序列数据 + values := generateTimeSeries(startTime, endTime, granule) + + // 构造响应数据 + response := MetricResponse{ + Status: "success", + } + + response.Data.ResultType = "matrix" + response.Data.Result = []struct { + Metric struct { + Name string `json:"__name__"` + Service string `json:"service"` + Version string `json:"version"` + Instance string `json:"instance"` + } `json:"metric"` + Values [][]interface{} `json:"values"` + }{ + { + Metric: struct { + Name string `json:"__name__"` + Service string `json:"service"` + Version string `json:"version"` + Instance string `json:"instance"` + }{ + Name: metricName, + Service: service, + Version: "v1.0.1", + Instance: "localhost:8080", + }, + Values: values, + }, + { + Metric: struct { + Name string `json:"__name__"` + Service string `json:"service"` + Version string `json:"version"` + Instance string `json:"instance"` + }{ + Name: metricName, + Service: service, + Version: version, + Instance: "localhost:8081", + }, + Values: values, + }, + } + + c.JSON(http.StatusOK, response) +} + +// getServers 获取服务器列表 +func getServers(c *gin.Context) { + response := ServerResponse{ + Items: []Service{ + { + Name: "stg", + DeployState: "InDeploying", + Health: "Normal", // 健康状态:Normal/Warning/Error + Deps: []string{"stg", "meta", "mq"}, + }, + { + Name: "meta", + DeployState: "InDeploying", + Health: "Normal", + Deps: []string{"stg", "meta", "mq"}, + }, + }, + } + + c.JSON(http.StatusOK, response) +} + +// healthCheck 健康检查端点 +func healthCheck(c *gin.Context) { + c.JSON(http.StatusOK, gin.H{ + "status": "healthy", + "time": time.Now().UTC().Format(time.RFC3339), + }) +} + +func main() { + // 设置随机种子 + rand.Seed(time.Now().UnixNano()) + + // 创建Gin路由器 + r := gin.Default() + + // 添加中间件 + r.Use(gin.Logger()) + r.Use(gin.Recovery()) + + // 添加CORS中间件 + r.Use(func(c *gin.Context) { + c.Header("Access-Control-Allow-Origin", "*") + c.Header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS") + c.Header("Access-Control-Allow-Headers", "Origin, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization") + + if c.Request.Method == "OPTIONS" { + c.AbortWithStatus(204) + return + } + + c.Next() + }) + + // 路由配置 + r.GET("/v1/metrics/:service/:name", getMetrics) + r.GET("/v1/servers", getServers) + r.GET("/health", healthCheck) + + // 根路径 + r.GET("/", func(c *gin.Context) { + c.JSON(http.StatusOK, gin.H{ + "message": "Mock Server for Health Check Center", + "version": "1.0.0", + "endpoints": gin.H{ + "metrics": "/v1/metrics/:service/:name", + "servers": "/v1/servers", + "health": "/health", + }, + }) + }) + + // 启动服务器 + fmt.Println("Mock server starting on http://localhost:8080") + fmt.Println("Available endpoints:") + fmt.Println(" GET /v1/servers - 获取服务器列表") + fmt.Println(" GET /v1/metrics/:service/:name - 获取指标数据") + fmt.Println(" GET /health - 健康检查") + fmt.Println(" GET / - 服务信息") + + if err := r.Run(":8080"); err != nil { + fmt.Printf("启动服务器失败: %v\n", err) + } +} diff --git a/code(Go)/test_health_center.go b/code(Go)/test_health_center.go new file mode 100644 index 0000000..32c94ee --- /dev/null +++ b/code(Go)/test_health_center.go @@ -0,0 +1,126 @@ +package main + +import ( + "fmt" + "net/http" + "os" + "runtime" + "strings" + "time" +) + +// checkMockServer 检查mock服务器是否运行 +func checkMockServer() bool { + client := &http.Client{Timeout: 5 * time.Second} + + resp, err := client.Get("http://localhost:8080/v1/servers") + if err != nil { + fmt.Printf("❌ 无法连接到Mock服务器: %v\n", err) + fmt.Println("请先运行: go run server.go") + return false + } + defer resp.Body.Close() + + if resp.StatusCode != 200 { + fmt.Printf("❌ Mock服务器响应异常: %d\n", resp.StatusCode) + return false + } + + fmt.Println("✅ Mock服务器运行正常") + return true +} + +// testHealthCenter 测试体检中心功能 +func testHealthCenter() bool { + fmt.Println(strings.Repeat("=", 60)) + fmt.Println("🧪 测试运行体检中心") + fmt.Println(strings.Repeat("=", 60)) + + // 检查服务器 + if !checkMockServer() { + return false + } + + // 创建体检中心实例 + healthCenter := NewHealthCheckCenter("") + + // 测试服务发现 + fmt.Println("\n1️⃣ 测试服务发现...") + services, err := healthCenter.GetAllServices() + if err != nil { + fmt.Printf(" ❌ 服务发现失败: %v\n", err) + return false + } + fmt.Printf(" 发现服务: %v\n", services) + + // 测试指标数据获取 + fmt.Println("\n2️⃣ 测试指标数据获取...") + if len(services) > 0 { + service := services[0] + metric := "latency" + + data, err := healthCenter.FetchMetricData(service, metric, 1) + if err != nil { + fmt.Printf(" ❌ 获取 %s/%s 数据失败: %v\n", service, metric, err) + return false + } + + fmt.Printf(" ✅ 成功获取 %s/%s 数据\n", service, metric) + if len(data.Data.Result) > 0 && len(data.Data.Result[0].Values) > 0 { + fmt.Printf(" 数据示例: %v...\n", data.Data.Result[0].Values[:2]) + } + } + + // 测试完整工作流程 + fmt.Println("\n3️⃣ 测试完整工作流程...") + result, err := healthCenter.HealthCheckWorkflow() + if err != nil { + fmt.Printf(" ❌ 工作流程失败: %v\n", err) + return false + } + + fmt.Println("\n📊 测试结果:") + fmt.Printf(" 总检测数: %d\n", result.TotalChecks) + fmt.Printf(" 异常数量: %d\n", result.AnomalyCount) + fmt.Printf(" 检测服务: %s\n", strings.Join(result.Services, ", ")) + + return true +} + +// checkGoVersion 检查Go版本 +func checkGoVersion() bool { + version := runtime.Version() + fmt.Printf("🔍 Go版本: %s\n", version) + + // 检查是否是Go 1.16或更高版本 + if version < "go1.16" { + fmt.Println("❌ 需要Go 1.16或更高版本") + return false + } + + return true +} + +func main() { + fmt.Println("🚀 开始测试运行体检中心...") + + // 检查Go版本 + if !checkGoVersion() { + return + } + + // 运行测试 + success := testHealthCenter() + + if success { + fmt.Println("\n✅ 所有测试通过!") + fmt.Println("\n💡 使用说明:") + fmt.Println(" - 运行单次检测: go run health_check_center.go") + fmt.Println(" - 运行持续检测: 修改main()函数中的注释") + fmt.Println(" - 启动Mock服务器: go run server.go") + fmt.Println(" - 运行启动脚本: go run run_health_center.go") + } else { + fmt.Println("\n❌ 测试失败,请检查配置") + os.Exit(1) + } +} diff --git a/code(Python)/health_check_center.py b/code(Python)/health_check_center.py new file mode 100644 index 0000000..ee34d58 --- /dev/null +++ b/code(Python)/health_check_center.py @@ -0,0 +1,193 @@ +import requests +import json +from datetime import datetime, timezone, timedelta +import time +import logging + +# 配置日志 +logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') +logger = logging.getLogger(__name__) + +class HealthCheckCenter: + """运行体检中心 - 定时检测系统运行指标""" + + def __init__(self, base_url="http://localhost:8080"): + self.base_url = base_url + self.metrics_to_check = [ + 'latency', + 'traffic', + 'errorRatio', + 'saturation' + ] + + def get_all_services(self): + """获取所有服务列表""" + try: + response = requests.get(f"{self.base_url}/v1/servers") + response.raise_for_status() + data = response.json() + + services = [item['name'] for item in data['items']] + logger.info(f"发现服务: {services}") + return services + + except requests.exceptions.RequestException as e: + logger.error(f"获取服务列表失败: {e}") + return [] + + def fetch_metric_data(self, service, metric, time_range_hours=1): + """获取指定服务的指标数据""" + try: + # 计算时间范围 + end_time = datetime.now(timezone.utc) + start_time = end_time - timedelta(hours=time_range_hours) + + # 格式化时间 + start_str = start_time.strftime('%Y-%m-%dT%H:%M:%SZ') + end_str = end_time.strftime('%Y-%m-%dT%H:%M:%SZ') + + # 构建请求URL + url = f"{self.base_url}/v1/metrics/{service}/{metric}" + params = { + 'version': 'v1.0.1', + 'start': start_str, + 'end': end_str, + 'granule': '5m' + } + + response = requests.get(url, params=params) + response.raise_for_status() + data = response.json() + + if data.get('status') != 'success': + logger.warning(f"服务 {service} 指标 {metric} 返回错误状态") + return None + + logger.info(f"成功获取 {service}/{metric} 数据") + return data + + except requests.exceptions.RequestException as e: + logger.error(f"获取 {service}/{metric} 数据失败: {e}") + return None + + def anomaly_detection(self, metric_data): + """异常检测 - 暂时写死返回异常""" + # TODO: 这里后续会集成LangGraph + AI检测 + logger.info("执行异常检测...") + + # 暂时写死返回异常,用于测试告警流程 + return True # 总是返回异常 + + def trigger_alert(self, service, metric, metric_data): + """触发告警 - 调用其他同学的告警模块""" + logger.warning(f"🚨 告警触发: 服务 {service} 的 {metric} 指标异常") + + # 构造告警数据 + alert_data = { + 'service': service, + 'metric': metric, + 'timestamp': datetime.now(timezone.utc).isoformat(), + 'data': metric_data, + 'severity': 'warning' + } + + # 这里调用其他同学的告警模块 + # TODO: 替换为真实的告警模块调用 + self._mock_alert_handler(alert_data) + + def _mock_alert_handler(self, alert_data): + """模拟告警处理函数""" + print(f"📢 告警处理: {alert_data['service']}/{alert_data['metric']} 在 {alert_data['timestamp']} 发生异常") + # 这里可以添加告警发送逻辑(邮件、短信、钉钉等) + + def health_check_workflow(self): + """运行体检中心主流程""" + logger.info("🏥 开始运行体检中心检测...") + + # 1. 服务发现 + services = self.get_all_services() + if not services: + logger.error("未发现任何服务,退出检测") + return + + # 2. 遍历服务和指标进行检测 + total_checks = 0 + anomaly_count = 0 + + for service in services: + logger.info(f"🔍 检测服务: {service}") + + for metric in self.metrics_to_check: + total_checks += 1 + logger.info(f" 📊 检测指标: {metric}") + + # 3. 获取指标数据 + metric_data = self.fetch_metric_data(service, metric) + if metric_data is None: + continue + + # 4. 异常检测 + is_anomaly = self.anomaly_detection(metric_data) + + # 5. 告警处理 + if is_anomaly: + anomaly_count += 1 + self.trigger_alert(service, metric, metric_data) + + # 6. 输出检测总结 + logger.info(f"✅ 检测完成: 共检测 {total_checks} 个指标,发现 {anomaly_count} 个异常") + + return { + 'total_checks': total_checks, + 'anomaly_count': anomaly_count, + 'services': services + } + + def run_continuous_check(self, interval_minutes=5): + """持续运行体检中心(定时检测)""" + logger.info(f"🔄 启动持续检测模式,间隔 {interval_minutes} 分钟") + + try: + while True: + start_time = time.time() + + # 执行检测 + result = self.health_check_workflow() + + # 计算下次检测时间 + elapsed_time = time.time() - start_time + sleep_time = max(0, interval_minutes * 60 - elapsed_time) + + if sleep_time > 0: + logger.info(f"⏰ 等待 {sleep_time:.1f} 秒后进行下次检测...") + time.sleep(sleep_time) + else: + logger.warning("⚠️ 检测耗时过长,立即开始下次检测") + + except KeyboardInterrupt: + logger.info("🛑 检测已停止") + +def main(): + """主函数""" + # 创建体检中心实例 + health_center = HealthCheckCenter() + + # 运行单次检测 + print("=" * 50) + print("🏥 运行体检中心 - 单次检测") + print("=" * 50) + result = health_center.health_check_workflow() + + print("\n" + "=" * 50) + print("📊 检测结果汇总:") + print(f" 总检测数: {result['total_checks']}") + print(f" 异常数量: {result['anomaly_count']}") + print(f" 检测服务: {', '.join(result['services'])}") + print("=" * 50) + + # 如果需要持续检测,取消下面的注释 + # health_center.run_continuous_check(interval_minutes=5) + +if __name__ == "__main__": + main() + diff --git a/code(Python)/run_health_center.py b/code(Python)/run_health_center.py new file mode 100644 index 0000000..fb5adc2 --- /dev/null +++ b/code(Python)/run_health_center.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 +""" +运行体检中心启动脚本 +""" + +import subprocess +import time +import requests +import sys +import os +from health_check_center import HealthCheckCenter + +def start_mock_server(): + """启动mock服务器""" + print("🚀 启动Mock服务器...") + try: + # 检查服务器是否已经在运行 + response = requests.get('http://localhost:8080/v1/servers', timeout=2) + print("✅ Mock服务器已在运行") + return True + except: + # 启动新的服务器进程 + print("📡 启动新的Mock服务器进程...") + process = subprocess.Popen([sys.executable, 'server.py'], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE) + + # 等待服务器启动 + for i in range(10): + time.sleep(1) + try: + response = requests.get('http://localhost:8080/v1/servers', timeout=2) + if response.status_code == 200: + print("✅ Mock服务器启动成功") + return True + except: + continue + + print("❌ Mock服务器启动失败") + return False + +def main(): + """主函数""" + print("=" * 60) + print("🏥 运行体检中心 - 启动脚本") + print("=" * 60) + + # 启动mock服务器 + if not start_mock_server(): + print("❌ 无法启动Mock服务器,退出") + return + + # 创建体检中心实例 + health_center = HealthCheckCenter() + + print("\n选择运行模式:") + print("1. 单次检测") + print("2. 持续检测 (每5分钟)") + print("3. 自定义间隔持续检测") + + try: + choice = input("\n请选择 (1-3): ").strip() + + if choice == "1": + print("\n🔍 执行单次检测...") + result = health_center.health_check_workflow() + print(f"\n📊 检测完成: {result['total_checks']} 个指标, {result['anomaly_count']} 个异常") + + elif choice == "2": + print("\n🔄 启动持续检测模式 (每5分钟)...") + print("按 Ctrl+C 停止检测") + health_center.run_continuous_check(interval_minutes=5) + + elif choice == "3": + try: + interval = int(input("请输入检测间隔(分钟): ")) + print(f"\n🔄 启动持续检测模式 (每{interval}分钟)...") + print("按 Ctrl+C 停止检测") + health_center.run_continuous_check(interval_minutes=interval) + except ValueError: + print("❌ 无效的间隔时间") + + else: + print("❌ 无效选择") + + except KeyboardInterrupt: + print("\n🛑 检测已停止") + except Exception as e: + print(f"\n❌ 运行出错: {e}") + +if __name__ == "__main__": + main() diff --git a/code(Python)/server.py b/code(Python)/server.py new file mode 100644 index 0000000..cf8c028 --- /dev/null +++ b/code(Python)/server.py @@ -0,0 +1,101 @@ +from flask import Flask, request, jsonify +import time +from datetime import datetime, timezone +import random +app = Flask(__name__) + +@app.route('/v1/metrics//') +def get_metrics(service, name): + # 获取查询参数 + version = request.args.get('version', 'v1.0.0') + start = request.args.get('start') + end = request.args.get('end') + granule = request.args.get('granule', '5m') + + # 生成时间序列数据 + def generate_time_series(): + # 解析时间参数 + if start and end: + start_time = datetime.fromisoformat(start.replace('Z', '+00:00')) + end_time = datetime.fromisoformat(end.replace('Z', '+00:00')) + else: + # 默认时间范围 + end_time = datetime.now(timezone.utc) + start_time = datetime.fromtimestamp(end_time.timestamp() - 3600, timezone.utc) + + # 根据granule生成时间间隔 + if granule == '1m': + interval = 60 + elif granule == '5m': + interval = 300 + elif granule == '1h': + interval = 3600 + else: + interval = 300 # 默认5分钟 + + # 生成时间点 + values = [] + current_time = start_time.timestamp() + end_timestamp = end_time.timestamp() + + while current_time <= end_timestamp: + # 生成随机值 + value = str(round(random.uniform(0.1, 1.0), 3)) + values.append([current_time, value]) + current_time += interval + + return values + + # 构造响应数据 + response_data = { + "status": "success", + "data": { + "resultType": "matrix", + "result": [ + { + "metric": { + "__name__": name, + "service": service, + "version": "v1.0.1", + "instance": "localhost:8080" + }, + "values": generate_time_series() + }, + { + "metric": { + "__name__": name, + "service": service, + "version": version, + "instance": "localhost:8081" + }, + "values": generate_time_series() + } + ] + } + } + + return jsonify(response_data) + +@app.route("/v1/servers") +def get_servers(): + return_data = { + "items": [ + { + "name": "stg", + "deployState": "InDeploying", + "health": "Normal", # 健康状态:Normal/Warning/Error + "deps": ["stg", "meta", "mq"] + }, + { + "name": "meta", + "deployState": "InDeploying", + "health": "Normal", + "deps": ["stg", "meta", "mq"] + } + ] + } + return jsonify(return_data) + +if __name__ == '__main__': + print("Mock server starting on http://localhost:8080") + app.run(host='0.0.0.0', port=8080, debug=True) \ No newline at end of file diff --git a/code(Python)/test_health_center.py b/code(Python)/test_health_center.py new file mode 100644 index 0000000..acbd0d5 --- /dev/null +++ b/code(Python)/test_health_center.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 +""" +测试运行体检中心 +确保mock服务器运行在 http://localhost:8080 +""" + +import subprocess +import time +import requests +import sys +from health_check_center import HealthCheckCenter + +def check_mock_server(): + """检查mock服务器是否运行""" + try: + response = requests.get('http://localhost:8080/v1/servers', timeout=5) + if response.status_code == 200: + print("✅ Mock服务器运行正常") + return True + else: + print(f"❌ Mock服务器响应异常: {response.status_code}") + return False + except requests.exceptions.RequestException as e: + print(f"❌ 无法连接到Mock服务器: {e}") + print("请先运行: python server.py") + return False + +def test_health_center(): + """测试体检中心功能""" + print("=" * 60) + print("🧪 测试运行体检中心") + print("=" * 60) + + # 检查服务器 + if not check_mock_server(): + return False + + # 创建体检中心实例 + health_center = HealthCheckCenter() + + # 测试服务发现 + print("\n1️⃣ 测试服务发现...") + services = health_center.get_all_services() + print(f" 发现服务: {services}") + + # 测试指标数据获取 + print("\n2️⃣ 测试指标数据获取...") + if services: + service = services[0] + metric = 'latency' + data = health_center.fetch_metric_data(service, metric) + if data: + print(f" ✅ 成功获取 {service}/{metric} 数据") + print(f" 数据示例: {data['data']['result'][0]['values'][:2]}...") + else: + print(f" ❌ 获取 {service}/{metric} 数据失败") + + # 测试完整工作流程 + print("\n3️⃣ 测试完整工作流程...") + result = health_center.health_check_workflow() + + print("\n📊 测试结果:") + print(f" 总检测数: {result['total_checks']}") + print(f" 异常数量: {result['anomaly_count']}") + print(f" 检测服务: {', '.join(result['services'])}") + + return True + +def main(): + """主测试函数""" + print("🚀 开始测试运行体检中心...") + + # 检查Python版本 + if sys.version_info < (3, 6): + print("❌ 需要Python 3.6或更高版本") + return + + # 运行测试 + success = test_health_center() + + if success: + print("\n✅ 所有测试通过!") + print("\n💡 使用说明:") + print(" - 运行单次检测: python health_check_center.py") + print(" - 运行持续检测: 修改main()函数中的注释") + print(" - 查看详细日志: 修改logging级别") + else: + print("\n❌ 测试失败,请检查配置") + +if __name__ == "__main__": + main() + diff --git a/docs(Go)/INSTALL.md b/docs(Go)/INSTALL.md new file mode 100644 index 0000000..4dd47c5 --- /dev/null +++ b/docs(Go)/INSTALL.md @@ -0,0 +1,175 @@ +# Go语言运行体检中心 - 安装指南 + +## 系统要求 + +- Windows 10/11 (当前系统) +- 管理员权限(用于安装Go) + +## 安装Go语言环境 + +### 1. 下载Go安装包 + +访问 [Go官网下载页面](https://golang.org/dl/) 或使用以下链接: + +- **Windows 64位**: https://golang.org/dl/go1.21.5.windows-amd64.msi +- **Windows 32位**: https://golang.org/dl/go1.21.5.windows-386.msi + +### 2. 安装Go + +1. 下载对应版本的MSI安装包 +2. 双击运行安装程序 +3. 按照向导完成安装(建议使用默认安装路径:`C:\Program Files\Go`) +4. 安装完成后,Go会自动添加到系统PATH环境变量中 + +### 3. 验证安装 + +打开新的PowerShell窗口,运行以下命令验证安装: + +```powershell +go version +``` + +如果显示Go版本信息(如 `go version go1.21.5 windows/amd64`),说明安装成功。 + +### 4. 配置Go环境(可选) + +如果需要配置Go代理(提高依赖下载速度),运行: + +```powershell +go env -w GOPROXY=https://goproxy.cn,direct +go env -w GOSUMDB=sum.golang.google.cn +``` + +## 安装项目依赖 + +安装Go后,在项目目录下运行: + +```powershell +# 初始化Go模块并下载依赖 +go mod tidy + +# 验证依赖下载成功 +go mod download +``` + +## 运行项目 + +### 1. 启动Mock服务器 + +```powershell +go run server.go +``` + +服务器将在 `http://localhost:8080` 启动。 + +### 2. 运行健康检查(新开一个PowerShell窗口) + +```powershell +go run run_health_center.go health_check_center.go +``` + +### 3. 运行测试 + +```powershell +go run test_health_center.go health_check_center.go +``` + +## 使用Makefile(需要安装make工具) + +如果您的系统安装了make工具,可以使用以下命令: + +```powershell +# 下载依赖 +make deps + +# 启动服务器 +make server + +# 运行健康检查 +make run + +# 运行测试 +make test +``` + +## 故障排除 + +### 问题1:`go: 无法将"go"项识别为 cmdlet` + +**解决方案**: +1. 确认Go已正确安装 +2. 重新打开PowerShell窗口 +3. 检查PATH环境变量是否包含Go安装目录 +4. 手动添加到PATH:`$env:PATH += ";C:\Program Files\Go\bin"` + +### 问题2:网络连接问题 + +**解决方案**: +```powershell +# 设置Go代理 +go env -w GOPROXY=https://goproxy.cn,direct +go env -w GOSUMDB=sum.golang.google.cn +``` + +### 问题3:端口被占用 + +**解决方案**: +```powershell +# 查看端口占用 +netstat -ano | findstr :8080 + +# 终止占用进程(替换PID为实际进程ID) +taskkill /PID /F +``` + +## 开发环境推荐 + +### 推荐的IDE/编辑器 + +1. **Visual Studio Code** + Go扩展 + - 下载:https://code.visualstudio.com/ + - Go扩展:在VS Code中搜索并安装"Go" + +2. **GoLand**(JetBrains) + - 下载:https://www.jetbrains.com/go/ + +3. **Vim/Neovim** + vim-go插件 + +### 有用的Go命令 + +```powershell +# 格式化代码 +go fmt ./... + +# 代码检查 +go vet ./... + +# 运行测试 +go test ./... + +# 构建可执行文件 +go build -o health-center.exe main.go health_check_center.go + +# 交叉编译(编译为Linux版本) +set GOOS=linux +set GOARCH=amd64 +go build -o health-center-linux main.go health_check_center.go +``` + +## 下一步 + +安装完成后,您可以: + +1. 阅读 [README.md](README.md) 了解项目功能 +2. 运行 `go run test_health_center.go health_check_center.go` 测试系统 +3. 查看源代码了解实现细节 +4. 根据需求扩展功能 + +## 技术支持 + +如果遇到问题,请检查: + +1. Go版本是否为1.16或更高 +2. 网络连接是否正常 +3. 防火墙是否阻止了程序运行 +4. 端口8080是否被其他程序占用 diff --git a/docs(Go)/PROJECT_SUMMARY.md b/docs(Go)/PROJECT_SUMMARY.md new file mode 100644 index 0000000..31ca933 --- /dev/null +++ b/docs(Go)/PROJECT_SUMMARY.md @@ -0,0 +1,260 @@ +# Go语言运行体检中心 - 项目总结 + +## 项目概述 + +本项目是将原有的Python版本运行体检中心系统完全重写为Go语言版本,保持了所有原有功能的同时,提升了性能和并发处理能力。 + +## 转换完成的文件 + +| 原Python文件 | Go语言文件 | 功能描述 | +|-------------|-----------|---------| +| `health_check_center.py` | `health_check_center.go` | 核心健康检查逻辑 | +| `server.py` | `server.go` | Mock服务器,提供API接口 | +| `run_health_center.py` | `run_health_center.go` | 启动脚本,用户交互界面 | +| `test_health_center.py` | `test_health_center.go` | 测试脚本 | +| - | `main.go` | 主程序入口 | +| - | `go.mod` | Go模块依赖管理 | +| - | `Makefile` | 构建和运行脚本 | +| - | `run.bat` | Windows批处理启动脚本 | + +## 新增文件 + +| 文件 | 用途 | +|-----|-----| +| `README.md` | 项目说明文档 | +| `INSTALL.md` | 安装指南 | +| `PROJECT_SUMMARY.md` | 项目总结(本文件) | + +## 技术栈对比 + +### Python版本 +- **框架**: Flask (服务器) +- **HTTP客户端**: requests +- **日志**: logging +- **时间处理**: datetime +- **并发**: threading (基础) + +### Go版本 +- **框架**: Gin (服务器) +- **HTTP客户端**: net/http +- **日志**: logrus +- **时间处理**: time +- **并发**: goroutine (原生支持) + +## 功能特性 + +### ✅ 已实现功能 + +1. **服务发现** + - 自动获取所有服务列表 + - 支持多服务并发检测 + +2. **指标监控** + - 延迟 (latency) + - 流量 (traffic) + - 错误率 (errorRatio) + - 饱和度 (saturation) + +3. **异常检测** + - 预留AI检测接口 + - 当前为测试模式(总是返回异常) + +4. **告警系统** + - 告警数据构造 + - 预留告警模块集成接口 + +5. **运行模式** + - 单次检测 + - 持续检测(定时) + - 自定义检测间隔 + +6. **API接口** + - RESTful设计 + - 完整的错误处理 + - CORS支持 + +### 🔄 性能提升 + +1. **并发处理** + - Go原生goroutine支持 + - 非阻塞I/O操作 + - 更高的吞吐量 + +2. **内存管理** + - 自动垃圾回收 + - 更少的内存占用 + - 更好的内存分配策略 + +3. **启动速度** + - 编译型语言 + - 更快的启动时间 + - 单文件部署 + +## 代码结构 + +``` +health_check_center.go +├── HealthCheckCenter struct # 主控制器 +├── Service struct # 服务信息 +├── MetricData struct # 指标数据 +├── AlertData struct # 告警数据 +├── CheckResult struct # 检测结果 +├── GetAllServices() # 服务发现 +├── FetchMetricData() # 获取指标 +├── AnomalyDetection() # 异常检测 +├── TriggerAlert() # 触发告警 +├── HealthCheckWorkflow() # 主工作流程 +└── RunContinuousCheck() # 持续检测 + +server.go +├── getMetrics() # 指标API +├── getServers() # 服务列表API +├── healthCheck() # 健康检查API +├── generateTimeSeries() # 生成时间序列数据 +└── parseTime() # 时间解析 +``` + +## 使用方式 + +### 快速开始 + +1. **安装Go环境**(参考 INSTALL.md) +2. **运行批处理脚本**: + ```cmd + run.bat + ``` +3. **或使用命令行**: + ```bash + # 启动服务器 + go run server.go + + # 运行健康检查 + go run run_health_center.go health_check_center.go + ``` + +### 开发模式 + +```bash +# 下载依赖 +go mod tidy + +# 格式化代码 +go fmt ./... + +# 代码检查 +go vet ./... + +# 运行测试 +go run test_health_center.go health_check_center.go + +# 构建可执行文件 +go build -o health-center.exe main.go health_check_center.go +``` + +## 扩展开发指南 + +### 1. 集成AI异常检测 + +在 `AnomalyDetection` 方法中集成LangGraph框架: + +```go +func (h *HealthCheckCenter) AnomalyDetection(metricData *MetricData) bool { + // TODO: 集成LangGraph + AI检测 + // 调用AI模型进行异常检测 + // 返回检测结果 + + // 示例:调用外部AI服务 + // result := callAIService(metricData) + // return result.IsAnomaly + + return true // 当前测试模式 +} +``` + +### 2. 集成告警系统 + +在 `TriggerAlert` 方法中集成实际告警模块: + +```go +func (h *HealthCheckCenter) TriggerAlert(service, metric string, metricData *MetricData) { + alertData := AlertData{ + Service: service, + Metric: metric, + Timestamp: time.Now().UTC().Format(time.RFC3339), + Data: metricData, + Severity: "warning", + } + + // 调用实际告警模块 + // sendToAlertSystem(alertData) + + h.mockAlertHandler(alertData) +} +``` + +### 3. 添加新的监控指标 + +```go +// 在 NewHealthCheckCenter 中修改 +MetricsToCheck: []string{ + "latency", + "traffic", + "errorRatio", + "saturation", + "your_new_metric", // 添加新指标 +}, +``` + +### 4. 配置管理 + +可以添加配置文件支持: + +```go +type Config struct { + BaseURL string `yaml:"base_url"` + MetricsToCheck []string `yaml:"metrics_to_check"` + CheckInterval int `yaml:"check_interval"` + LogLevel string `yaml:"log_level"` +} +``` + +## 部署建议 + +### 1. 容器化部署 + +创建 Dockerfile: + +```dockerfile +FROM golang:1.21-alpine AS builder +WORKDIR /app +COPY . . +RUN go mod tidy && go build -o health-center main.go health_check_center.go + +FROM alpine:latest +RUN apk --no-cache add ca-certificates +WORKDIR /root/ +COPY --from=builder /app/health-center . +CMD ["./health-center"] +``` + +### 2. 系统服务 + +创建 systemd 服务文件(Linux)或 Windows 服务。 + +### 3. 监控和日志 + +- 集成 Prometheus 指标导出 +- 配置结构化日志 +- 添加健康检查端点 + +## 总结 + +Go语言版本相比Python版本具有以下优势: + +1. **性能提升**: 编译型语言,运行时性能更好 +2. **并发能力**: 原生goroutine支持,更好的并发处理 +3. **部署简单**: 单文件部署,无依赖问题 +4. **内存效率**: 更少的内存占用 +5. **类型安全**: 编译时类型检查,减少运行时错误 + +项目已完全转换完成,保持了所有原有功能,并为进一步的AI集成和告警系统集成预留了接口。团队可以直接使用Go版本进行开发和部署。 diff --git "a/docs(Go)/READMEGo\350\257\255\350\250\200.md" "b/docs(Go)/READMEGo\350\257\255\350\250\200.md" new file mode 100644 index 0000000..3bc8806 --- /dev/null +++ "b/docs(Go)/READMEGo\350\257\255\350\250\200.md" @@ -0,0 +1,225 @@ +# 运行体检中心 - Go语言版本 + +这是一个用Go语言重写的运行体检中心系统,用于定时检测系统运行指标。 + +## 功能特性 + +- 🔍 自动服务发现 +- 📊 多维度指标监控 (延迟、流量、错误率、饱和度) +- 🚨 智能异常检测与告警 +- ⏰ 支持单次检测和持续检测模式 +- 🌐 RESTful API接口 +- 📝 详细的日志记录 + +## 项目结构 + +``` +├── go.mod # Go模块依赖文件 +├── main.go # 主程序入口 +├── health_check_center.go # 健康检查中心核心逻辑 +├── server.go # Mock服务器 +├── run_health_center.go # 启动脚本 +├── test_health_center.go # 测试脚本 +└── README.md # 说明文档 +``` + +## 快速开始 + +### 1. 环境要求 + +- Go 1.16 或更高版本 +- 网络连接(用于下载依赖) + +### 2. 安装依赖 + +```bash +go mod tidy +``` + +### 3. 启动Mock服务器 + +```bash +go run server.go +``` + +服务器将在 `http://localhost:8080` 启动,提供以下API端点: + +- `GET /v1/servers` - 获取服务器列表 +- `GET /v1/metrics/:service/:name` - 获取指标数据 +- `GET /health` - 健康检查 +- `GET /` - 服务信息 + +### 4. 运行健康检查 + +#### 方式一:使用启动脚本(推荐) + +```bash +go run run_health_center.go +``` + +然后选择运行模式: +1. 单次检测 +2. 持续检测 (每5分钟) +3. 自定义间隔持续检测 + +#### 方式二:直接运行主程序 + +```bash +go run main.go +``` + +#### 方式三:运行测试 + +```bash +go run test_health_center.go +``` + +## API接口说明 + +### 获取服务器列表 + +```bash +curl http://localhost:8080/v1/servers +``` + +响应示例: +```json +{ + "items": [ + { + "name": "stg", + "deployState": "InDeploying", + "health": "Normal", + "deps": ["stg", "meta", "mq"] + }, + { + "name": "meta", + "deployState": "InDeploying", + "health": "Normal", + "deps": ["stg", "meta", "mq"] + } + ] +} +``` + +### 获取指标数据 + +```bash +curl "http://localhost:8080/v1/metrics/stg/latency?version=v1.0.1&start=2024-01-01T00:00:00Z&end=2024-01-01T01:00:00Z&granule=5m" +``` + +## 配置说明 + +### 环境变量 + +- `BASE_URL`: 服务器地址(默认:http://localhost:8080) +- `LOG_LEVEL`: 日志级别(默认:info) + +### 检测指标 + +系统默认检测以下指标: +- `latency` - 延迟 +- `traffic` - 流量 +- `errorRatio` - 错误率 +- `saturation` - 饱和度 + +## 扩展开发 + +### 添加新的检测指标 + +在 `health_check_center.go` 中修改 `MetricsToCheck` 字段: + +```go +MetricsToCheck: []string{ + "latency", + "traffic", + "errorRatio", + "saturation", + "your_new_metric", // 添加新指标 +}, +``` + +### 自定义异常检测算法 + +修改 `AnomalyDetection` 方法,集成您的检测算法: + +```go +func (h *HealthCheckCenter) AnomalyDetection(metricData *MetricData) bool { + // TODO: 集成LangGraph + AI检测 + // 这里可以添加您的异常检测逻辑 + + // 示例:基于阈值的检测 + // if metricValue > threshold { + // return true + // } + + return false +} +``` + +### 集成告警系统 + +修改 `TriggerAlert` 方法,集成您的告警系统: + +```go +func (h *HealthCheckCenter) TriggerAlert(service, metric string, metricData *MetricData) { + // 调用您的告警API + // 发送邮件、短信、钉钉通知等 + + alertData := AlertData{ + Service: service, + Metric: metric, + Timestamp: time.Now().UTC().Format(time.RFC3339), + Data: metricData, + Severity: "warning", + } + + // 发送告警 + // sendAlert(alertData) +} +``` + +## 日志说明 + +系统使用 `logrus` 进行日志记录,支持以下级别: +- `DEBUG` - 调试信息 +- `INFO` - 一般信息 +- `WARN` - 警告信息 +- `ERROR` - 错误信息 + +## 故障排除 + +### 常见问题 + +1. **服务器启动失败** + - 检查端口8080是否被占用 + - 确认Go版本是否符合要求 + +2. **无法连接到Mock服务器** + - 确认服务器已启动 + - 检查网络连接 + +3. **依赖下载失败** + - 检查网络连接 + - 尝试设置Go代理:`go env -w GOPROXY=https://goproxy.cn,direct` + +### 调试模式 + +设置环境变量启用详细日志: + +```bash +export LOG_LEVEL=debug +go run main.go +``` + +## 贡献指南 + +1. Fork 项目 +2. 创建功能分支 +3. 提交更改 +4. 推送到分支 +5. 创建 Pull Request + +## 许可证 + +MIT License diff --git "a/docs(Go)/\346\234\215\345\212\241\350\277\220\350\241\214\347\225\214\351\235\242.png" "b/docs(Go)/\346\234\215\345\212\241\350\277\220\350\241\214\347\225\214\351\235\242.png" new file mode 100644 index 0000000000000000000000000000000000000000..544054813b0c7dbd054ce461b84e1724e8ec5932 GIT binary patch literal 88838 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�h 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
? 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 UJz7xW%fX~;s_Urbt6D$%Um-su-v9sr literal 0 HcmV?d00001 diff --git "a/docs(Go)/\350\277\220\350\241\214\347\273\223\346\236\234\347\225\214\351\235\242.png" "b/docs(Go)/\350\277\220\350\241\214\347\273\223\346\236\234\347\225\214\351\235\242.png" new file mode 100644 index 0000000000000000000000000000000000000000..e97ceff60d1fbdc645df446b54337fe4c443c579 GIT binary patch literal 214778 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 CrIscD literal 0 HcmV?d00001