apm_register_host.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package containers
  2. import (
  3. "fmt"
  4. . "github.com/coroot/coroot-node-agent/utils/modelse"
  5. klog "github.com/sirupsen/logrus"
  6. "runtime"
  7. "time"
  8. )
  9. func (r *Registry) RegisterHost() error {
  10. // 注册
  11. nodeInfo := r.nodeInfo.GetNodeInfo()
  12. if nodeInfo == nil {
  13. return fmt.Errorf("could not find node info")
  14. }
  15. req := RegisterHostReq{
  16. LicenseKey: nodeInfo.LicenseKey,
  17. HostId: nodeInfo.HostID,
  18. HostIp: nodeInfo.HostIp,
  19. HostName: nodeInfo.Hostname,
  20. HostNameAlias: nodeInfo.Hostname,
  21. HostType: 1,
  22. Version: nodeInfo.AgentVersion,
  23. SysVersion: runtime.GOOS + " " + runtime.GOARCH,
  24. SystemUuid: nodeInfo.SystemUUID,
  25. Ebpf: true,
  26. AgentType: 2020,
  27. }
  28. err := r.connServer.RegisterHost(req)
  29. if err != nil {
  30. return err
  31. }
  32. return nil
  33. }
  34. func (r *Registry) TaskRegisterHost() {
  35. gcTicker := time.NewTicker(RegisterHostInterval)
  36. defer gcTicker.Stop()
  37. for {
  38. select {
  39. case <-gcTicker.C:
  40. //_, err1 := os.Stat("/tmp/fuse")
  41. //if err1 == nil {
  42. // //r.isFusing = true
  43. // r.DoFusing()
  44. //} else {
  45. // r.DoResume()
  46. // //r.isFusing = false
  47. //}
  48. err := r.RegisterHost()
  49. if err != nil {
  50. klog.WithError(err).Error("[task] Failed to register host")
  51. }
  52. }
  53. }
  54. }