- pkg/discovery: TCP端口探测存活主机,ARP表解析MAC作为设备唯一标识 - pkg/sshclient: SSH连接(密码/密钥认证)与远程命令执行 - pkg/stress: stress-ng/stressapptest 压测(cpu/memory/disk/memnative/full)+温度与dmesg监控 - pkg/report: 检测报告生成(文本/JSON) - pkg/workflow: 永久循环工作流(间隔可配),MAC唯一标识设备,增量测试+状态变化打印 - pkg/config: YAML分类配置(scan/ssh/stress/report/workflow) - cmd: cobra入口,仅 --config 指定配置文件
36 lines
776 B
Go
36 lines
776 B
Go
package cmd
|
||
|
||
import (
|
||
"fmt"
|
||
"os"
|
||
|
||
"github.com/spf13/cobra"
|
||
)
|
||
|
||
var (
|
||
configFile string // 配置文件路径
|
||
)
|
||
|
||
var rootCmd = &cobra.Command{
|
||
Use: "auto-check",
|
||
Short: "自动化设备发现 + SSH 登录 + 远程压力测试工具",
|
||
Long: `auto-check 是一个自动化运维工具,支持:
|
||
1. 网段扫描发现存活设备
|
||
2. 自动 SSH 登录验证
|
||
3. 远程执行压力测试(CPU/内存/磁盘/网络)
|
||
|
||
配置仅从配置文件加载(默认 ./auto-check.yaml)`,
|
||
}
|
||
|
||
func init() {
|
||
rootCmd.PersistentFlags().StringVar(&configFile, "config", "", "配置文件路径 (默认: ./auto-check.yaml)")
|
||
}
|
||
|
||
// Execute 入口:加载配置并启动
|
||
func Execute() {
|
||
if err := rootCmd.Execute(); err != nil {
|
||
fmt.Fprintln(os.Stderr, err)
|
||
os.Exit(1)
|
||
}
|
||
}
|