// GatherAndSend - XXX func (a *Agent) GatherAndSend() error { allMetrics := collectors.CollectAllData() err := remote.SendData(allMetrics) if err != nil { return fmt.Errorf("Can't connect to the Amon API on %s\n", err.Error()) } return nil }
// GatherAndSend - XXX func (a *Agent) GatherAndSend(debug bool) error { allMetrics := collectors.CollectAllData(a.ConfiguredPlugins) log.Infof("Metrics collected (Interval:%s)\n", a.Interval) err := remote.SendData(allMetrics, debug) if err != nil { return fmt.Errorf("Can't connect to the Amon API on %s\n", err.Error()) } return nil }
// Test - XXX func (a *Agent) Test(config settings.Struct) error { allMetrics := collectors.CollectAllData() fmt.Println("\n------------------") fmt.Println("\033[92mCollecting Metrics: \033[0m") fmt.Println("") fmt.Println(allMetrics) fmt.Println("\n------------------") fmt.Println("\033[92mTesting settings: \033[0m") fmt.Println("") machineID := collectors.MachineID() if len(machineID) == 0 && len(config.ServerKey) == 0 { fmt.Println("Can't find Machine ID (looking in /etc/opt/amonagent/machine-id, /etc/machine-id and /var/lib/dbus/machine-id).") fmt.Println("This usually means D-bus is missing on this server. To solve this problem") fmt.Println("---") fmt.Println("On RPM distros:") fmt.Println("rpm install dbus") fmt.Println("dbus-uuidgen > /etc/opt/amonagent/machine-id") fmt.Println("---") fmt.Println("On Debian distros:") fmt.Println("apt-get install dbus") fmt.Println("dbus-uuidgen > /etc/opt/amonagent/machine-id") fmt.Println("---") fmt.Println("Or alternatively, you can 'Add Server' from the Amon Interface and paste the Server Key value") fmt.Println("as server_key in /etc/opt/amonagent.conf") } fmt.Println("\n------------------") url := remote.SystemURL() fmt.Printf("\033[92m\nSending data to %s \033[0m", url) err := remote.SendData(allMetrics) if err != nil { return fmt.Errorf("%s\n", err.Error()) } return nil }
// Test - XXX func (a *Agent) Test(config settings.Struct) error { allMetrics := collectors.CollectAllData(a.ConfiguredPlugins) ProcessesData := collectors.CollectProcessData() SystemData := collectors.CollectSystemData() HostData := collectors.CollectHostData() fmt.Println("\n------------------") fmt.Println("\033[92mSystem Metrics: \033[0m") fmt.Println("") fmt.Println(SystemData) fmt.Println("\n------------------") fmt.Println("\n------------------") fmt.Println("\033[92mProcess Metrics: \033[0m") fmt.Println("") fmt.Println(ProcessesData) fmt.Println("\n------------------") fmt.Println("\n------------------") fmt.Println("\033[92mPlugins: \033[0m") fmt.Println("") for _, p := range a.ConfiguredPlugins { start := time.Now() PluginResult, err := p.Plugin.Collect() if err != nil { log.Errorf("Can't get stats for plugin: %s", err) } fmt.Println("\n------------------") fmt.Print("\033[92mPlugin: ") fmt.Print(p.Name) fmt.Print("\033[0m \n") fmt.Println(PluginResult) elapsed := time.Since(start) fmt.Printf("\n Executed in %s", elapsed) } fmt.Println("\n------------------") fmt.Println("\033[92mHost Data: \033[0m") fmt.Println("") fmt.Println(HostData) fmt.Println("\n------------------") fmt.Println("\033[92mTesting settings: \033[0m") fmt.Println("") machineID := collectors.GetOrCreateMachineID() if len(machineID) == 0 && len(config.ServerKey) == 0 { fmt.Println("Can't find Machine ID (looking in /etc/opt/amonagent/machine-id).") fmt.Println("To solve this problem, run the following command:") fmt.Println("---") fmt.Println("amonagent -machineid") fmt.Println("---") } else { fmt.Println("Settings OK") } fmt.Println("\n------------------") err := remote.SendData(allMetrics, true) if err != nil { return fmt.Errorf("%s\n", err.Error()) } return nil }