gohai

command module
v0.47.0-rc.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 7, 2023 License: MIT Imports: 14 Imported by: 0

README

Gohai

license

Gohai is a tool which collects an inventory of system information. It aims to implement some parts of features from facter and ohai. It's forked from Kentaro Kuribayashi's verity.

Usage

Gohai will build and install with go get. We require at least Go 1.7.

go get github.com/DataDog/datadog-agent/pkg/gohai

Running it will dump json formatted output:

$ gohai | jq .
{
  "cpu": {
    "cpu_cores": "2",
    "family": "6",
    "mhz": "2600",
    "model": "58",
    "model_name": "Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz",
    "stepping": "9",
    "vendor_id": "GenuineIntel"
  },
  "filesystem": [
    {
      "kb_size": "244277768",
      "mounted_on": "/",
      "name": "/dev/disk0s2"
    }
  ],
  "memory": {
    "swap_total": "4096.00M",
    "total": "8589934592"
  },
  "network": {
    "ipaddress": "192.168.1.6",
    "ipaddressv6": "fe80::5626:96ff:fed3:5811",
    "macaddress": "54:26:96:d3:58:11"
  },
  "platform": {
    "GOOARCH": "amd64",
    "GOOS": "darwin",
    "goV": "1.2.1",
    "hostname": "new-host.home",
    "kernel_name": "Darwin",
    "kernel_release": "12.5.0",
    "kernel_version": "Darwin Kernel Version 12.5.0: Sun Sep 29 13:33:47 PDT 2013; root:xnu-2050.48.12~1/RELEASE_X86_64",
    "machine": "x86_64",
    "os": "Darwin",
    "processor": "i386",
    "pythonV": "2.7.2"
  }
}

Pipe it through eg. jq or python -m json.tool for pretty output.

How to build

Just run go build!

Build with version info

To build Gohai with version information, use make.go:

go run make.go

It will build gohai using the go build command, with the version info passed through -ldflags.

Updating CPU Information

Some information about CPUs is drawn from the source of the util-linux utility lscpu. To update this information, such as when new processors are released, run

python cpu/from-lscpu-arm.py /path/to/lscpu-arm.c > cpu/lscpu_linux_arm64.go

See Also

Author

License

Documentation

Overview

Package main contains the binary related functions, eg. cli parameters

Directories

Path Synopsis
Package cpu regroups collecting information about the CPU
Package cpu regroups collecting information about the CPU
Package filesystem returns information about available filesystems.
Package filesystem returns information about available filesystems.
Package memory regroups collecting information about the memory
Package memory regroups collecting information about the memory
Package network regroups collecting information about the network interfaces
Package network regroups collecting information about the network interfaces
Package platform regroups collecting information about the platform
Package platform regroups collecting information about the platform
Package processes regroups collecting information about existing processes
Package processes regroups collecting information about existing processes
gops
Package gops extracts the information on running processes from gopsutil
Package gops extracts the information on running processes from gopsutil
Package utils contains helper functions used across the project
Package utils contains helper functions used across the project

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL