Commit a8a5fe7a authored by Node- 门 忠鑫's avatar Node- 门 忠鑫

# 添加部分数据

parent 4c8a82af
...@@ -5,20 +5,27 @@ import ( ...@@ -5,20 +5,27 @@ import (
"fmt" "fmt"
"git.quantgroup.cn/DevOps/enoch/service/end_points" "git.quantgroup.cn/DevOps/enoch/service/end_points"
"github.com/influxdata/influxdb/client/v2" "github.com/influxdata/influxdb/client/v2"
"math/big"
"net"
"time" "time"
) )
var sysNameIndex = make(map[int64]bool)
func AgentMsgProcess(msg string) { func AgentMsgProcess(msg string) {
chunkMsg := enn_points.ChunkMsg{} chunkMsg := end_points.ChunkMsg{}
err := json.Unmarshal([]byte(msg), &chunkMsg) err := json.Unmarshal([]byte(msg), &chunkMsg)
if err != nil { if err != nil {
fmt.Println(err) fmt.Println(err)
} }
buildMetricsInfluxMsg(chunkMsg) buildMetricsInfluxMsg(chunkMsg)
} }
func buildMetricsInfluxMsg(chunkMsg enn_points.ChunkMsg) { func buildMetricsInfluxMsg(chunkMsg end_points.ChunkMsg) {
var ip = inetAtoN(chunkMsg.Ip)
println("ip:%d", ip)
sysNameIndex[ip] = true
var sysNameCount = len(sysNameIndex)
for _, p := range chunkMsg.EndPoints { for _, p := range chunkMsg.EndPoints {
tags := make(map[string]string, ) tags := make(map[string]string, )
tags["sys_name"] = chunkMsg.AppName tags["sys_name"] = chunkMsg.AppName
...@@ -62,15 +69,24 @@ func buildMetricsInfluxMsg(chunkMsg enn_points.ChunkMsg) { ...@@ -62,15 +69,24 @@ func buildMetricsInfluxMsg(chunkMsg enn_points.ChunkMsg) {
fields["gc_concurrent_mark_sweep"] = metrics.GcConcurrentmarksweepCount fields["gc_concurrent_mark_sweep"] = metrics.GcConcurrentmarksweepCount
fields["gc_concurrent_mark_time"] = metrics.GcConcurrentmarksweepTime fields["gc_concurrent_mark_time"] = metrics.GcConcurrentmarksweepTime
fields["processors"] = metrics.Processors fields["uptime"] = metrics.Uptime
fields["instance_uptime"] = metrics.InstanceUptime
fields["system_load_average"] = metrics.SystemloadAverage
unix := time.Unix(0, p.Timestamp) unix := time.Unix(0, p.Timestamp*1000000)
if (len(pointSlice) == batchSize) { println(p.Timestamp)
if len(pointSlice) >= sysNameCount {
go batchWrite(pointSlice) go batchWrite(pointSlice)
pointSlice = make([]*client.Point, 0, batchSize) pointSlice = make([]*client.Point, 0, batchSize)
} }
println(len(pointSlice))
point, _ := client.NewPoint("machine_info", tags, fields, unix) point, _ := client.NewPoint("machine_info", tags, fields, unix)
pointSlice = append(pointSlice, point) pointSlice = append(pointSlice, point)
} }
}
func inetAtoN(ip string) int64 {
ret := big.NewInt(0)
ret.SetBytes(net.ParseIP(ip).To4())
return ret.Int64()
} }
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment