本篇內容主要講解“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并插入數據的方法”有了更深的了解,不妨來實際操作一番吧!這里是創新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
本文題目:go根據配置文件操作influxdb并插入數據的方法
文章路徑:http://vcdvsql.cn/article18/gjdpgp.html
成都網站建設公司_創新互聯,為您提供網站設計、小程序開發、外貿網站建設、品牌網站設計、網站維護、ChatGPT
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯