Documentation ¶
Overview ¶
Package utils generate host metadata payloads ready to be sent.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetInformation ¶
GetInformation returns an InfoStat object, filled in with various operating system metadata. This returns an empty host.InfoStat if gopsutil fails.
func GetPlatformName ¶
func GetPlatformName() string
GetPlatformName returns the name of the current platform
Types ¶
type CommonPayload ¶
type CommonPayload struct { APIKey string `json:"apiKey"` AgentVersion string `json:"agentVersion"` UUID string `json:"uuid"` InternalHostname string `json:"internalHostname"` }
CommonPayload handles the JSON unmarshalling of the metadata payload
func GetCommonPayload ¶
func GetCommonPayload(hostname string, conf model.Reader) *CommonPayload
GetCommonPayload fills and return the common metadata payload
type InstallMethod ¶
type InstallMethod struct { Tool *string `json:"tool"` ToolVersion string `json:"tool_version"` InstallerVersion *string `json:"installer_version"` }
InstallMethod is metadata about the agent's installation
type LogsMeta ¶
type LogsMeta struct { Transport string `json:"transport"` AutoMultilineEnabled bool `json:"auto_multi_line_detection_enabled"` }
LogsMeta is metadata about the host's logs agent
type Meta ¶
type Meta struct { SocketHostname string `json:"socket-hostname"` Timezones []string `json:"timezones"` SocketFqdn string `json:"socket-fqdn"` EC2Hostname string `json:"ec2-hostname"` Hostname string `json:"hostname"` HostAliases []string `json:"host_aliases"` InstanceID string `json:"instance-id"` AgentHostname string `json:"agent-hostname,omitempty"` ClusterName string `json:"cluster-name,omitempty"` LegacyResolutionHostname string `json:"legacy-resolution-hostname,omitempty"` HostnameResolutionVersion int `json:"hostname-resolution-version,omitempty"` }
Meta is the metadata nested under the meta key
type NetworkMeta ¶
type NetworkMeta struct { ID string `json:"network-id"` PublicIPv4 string `json:"public-ipv4,omitempty"` }
NetworkMeta is metadata about the host's network
type OtlpMeta ¶
type OtlpMeta struct {
Enabled bool `json:"enabled"`
}
OtlpMeta is metadata about the otlp pipeline
type Payload ¶
type Payload struct { Os string `json:"os"` AgentFlavor string `json:"agent-flavor"` PythonVersion string `json:"python"` SystemStats *systemStats `json:"systemStats"` Meta *Meta `json:"meta"` HostTags *hosttags.Tags `json:"host-tags"` ContainerMeta map[string]string `json:"container-meta,omitempty"` NetworkMeta *NetworkMeta `json:"network"` LogsMeta *LogsMeta `json:"logs"` InstallMethod *InstallMethod `json:"install-method"` ProxyMeta *ProxyMeta `json:"proxy-info"` OtlpMeta *OtlpMeta `json:"otlp"` }
Payload handles the JSON unmarshalling of the metadata payload
func GetFromCache ¶
GetFromCache returns the payload from the cache if it exists, otherwise it creates it. The metadata reporting should always grab it fresh. Any other uses, e.g. status, should use this