in internal/beatcmd/beat.go [834:897]
func logSystemInfo(info beat.Info) {
defer info.Logger.Recover("An unexpected error occurred while collecting " +
"information about the system.")
log := info.Logger.Named("beat").With(logp.Namespace("system_info"))
// Beat
beat := mapstr.M{
"type": info.Beat,
"uuid": info.ID,
"path": mapstr.M{
"config": paths.Resolve(paths.Config, ""),
"data": paths.Resolve(paths.Data, ""),
"home": paths.Resolve(paths.Home, ""),
"logs": paths.Resolve(paths.Logs, ""),
},
}
log.Infow("Beat info", "beat", beat)
// Build
build := mapstr.M{
"commit": version.CommitHash(),
"time": version.CommitTime(),
"version": info.Version,
}
log.Infow("Build info", "build", build)
// Go Runtime
log.Infow("Go runtime info", "go", sysinfo.Go())
// Host
if host, err := sysinfo.Host(); err == nil {
log.Infow("Host info", "host", host.Info())
}
// Process
if self, err := sysinfo.Self(); err == nil {
process := mapstr.M{}
if info, err := self.Info(); err == nil {
process["name"] = info.Name
process["pid"] = info.PID
process["ppid"] = info.PPID
process["cwd"] = info.CWD
process["exe"] = info.Exe
process["start_time"] = info.StartTime
}
if proc, ok := self.(types.Seccomp); ok {
if seccomp, err := proc.Seccomp(); err == nil {
process["seccomp"] = seccomp
}
}
if proc, ok := self.(types.Capabilities); ok {
if caps, err := proc.Capabilities(); err == nil {
process["capabilities"] = caps
}
}
if len(process) > 0 {
log.Infow("Process info", "process", process)
}
}
}