func apiRedisStat(param martini.Params) (int, string) { addr := param["addr"] info, err := utils.GetRedisStat(addr, globalEnv.Password()) if err != nil { return 500, err.Error() } b, _ := json.MarshalIndent(info, " ", " ") return 200, string(b) }
func apiOverview() (int, string) { // get all server groups groups, err := models.ServerGroups(unsafeZkConn, globalEnv.ProductName()) if err != nil && !zkhelper.ZkErrorEqual(err, zk.ErrNoNode) { return 500, err.Error() } var instances []string for _, group := range groups { for _, srv := range group.Servers { if srv.Type == "master" { instances = append(instances, srv.Addr) } } } info := make(map[string]interface{}) info["product"] = globalEnv.ProductName() info["ops"] = proxiesSpeed redisInfos := make([]map[string]string, 0) if len(instances) > 0 { for _, instance := range instances { info, err := utils.GetRedisStat(instance, globalEnv.Password()) if err != nil { log.ErrorErrorf(err, "get redis stat failed") } redisInfos = append(redisInfos, info) } } info["redis_infos"] = redisInfos b, err := json.MarshalIndent(info, " ", " ") return 200, string(b) }