您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
本篇内容主要讲解“go根据配置文件操作influxdb并插入数据的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“go根据配置文件操作influxdb并插入数据的方法”吧!
//配置文件
ip=http://10.102.110.93:8086 name=lbw pwd=123 portOrPid=8080,8086 pidName=java,influx telNetIp=10.102.110.100:3306,www.baidu.com:80
//读取配置文件
func InitConfig(path string) map[string]string {
config := make(map[string]string)
f, err := os.Open(path) defer f.Close() if err != nil { panic(err)
}
r := bufio.NewReader(f) for {
b, _, err := r.ReadLine() if err != nil { if err == io.EOF {break } panic(err)
}
s := strings.TrimSpace(string(b))
index := strings.Index(s, "=") if index < 0 { continue }
key := strings.TrimSpace(s[:index]) if len(key) == 0 { continue }
value := strings.TrimSpace(s[index+1:]) if len(value) == 0 { continue }
config[key] = value
} return config
}//influxdb初始化
func InitFluxdb() client.Client {
config := InitConfig("./config/test.txt")
ip := config["ip"]
name := config["name"]
pwd := config["pwd"]
conn := ConnInflux(ip,name,pwd) return conn
}func ConnInflux(ip string,name string,pwd string) client.Client {
cli, err := client.NewHTTPClient(client.HTTPConfig{
Addr: ip, Username: name, Password: pwd, }) if err != nil { log.Fatal(err)
} return cli
}func InsertDB(cli client.Client,dbName string,tableName string,tags map[string]string,fields map[string]interface{},accuracy string) {
bp, err := client.NewBatchPoints(client.BatchPointsConfig{
Database: dbName, Precision: accuracy, }) if err != nil { log.Fatal(err)
}
pt, err := client.NewPoint(tableName, tags, fields, time.Now()) if err != nil { log.Fatal(err)
}
bp.AddPoint(pt)
err = cli.Write(bp) if err != nil { log.Fatal(err)
} log.Println("insert success")
}//调用
func main() {
hostname:=common.GetHostName()
mem:=common.GetMem()
info, _ := disk.Partitions(true)
cpu:=common.GetCpuPercent()
memup:=mem.UsedPercent
tags := map[string]string{"name": hostname}
fields := map[string]interface{}{ "cpu_used_percent": cpu, "mem_used_percent": memup, } for _,info2:=range info{
disks:=info2
info3, _ := disk.Usage(disks.Device)
fields[strings.ToLower( strings.Replace(disks.Device,":","_used_percent",-1))]=info3.UsedPercent
} common.InsertDB(common.InitFluxdb(),"testdb","host_info",tags,fields,"s")
}到此,相信大家对“go根据配置文件操作influxdb并插入数据的方法”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。