https://github.com/ericsson/ericsson-hds-agent
Open Source HDS Agent
https://github.com/ericsson/ericsson-hds-agent
data-center ericsson ocp ocp-platform server-management
Last synced: 8 months ago
JSON representation
Open Source HDS Agent
- Host: GitHub
- URL: https://github.com/ericsson/ericsson-hds-agent
- Owner: Ericsson
- License: apache-2.0
- Created: 2017-03-07T15:49:21.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-04-19T22:15:28.000Z (over 8 years ago)
- Last Synced: 2025-05-07T18:16:03.986Z (8 months ago)
- Topics: data-center, ericsson, ocp, ocp-platform, server-management
- Language: Go
- Size: 3.42 MB
- Stars: 28
- Watchers: 12
- Forks: 14
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Ericsson HDS Agent
==================
What is Ericsson HDS Agent?
--------------------------
Ericsson HDS (Hyperscale Datacenter Systems) Agent is a Linux based program designed to run on any Linux System. It collects an inventory of the host machine's hardware inventory and runtime system metrics. It is composed of many built-in collectors, formatters and a forwarder.

### Supported Platforms:
* LINUX/x86_64
* LINUX/ARM64
### Recommended System Tools
The agent uses various Linux commands to collect inventory data from the host machine. Please refer to the documentation in docs folder for more details.
Getting Started
---------------
Installation from Binary Distribution
-------------------------------------
1. **Download**
Please go to the release folder to download the binary code.
1. **Install**
Extract the downloaded file to a directory from where the user wants to run.
```
tar -zxvf ericsson-hds-agent_x86_64.tar.gz
```
1. **Run**
After the files are extracted, the program can be executed as follows:
```
cd ericsson-hds-agent/
sudo ./ericsson-hds-agent -stdout
```
A `node.id` file is automatically created and contains an unique identifier for this host system.
The above command runs the inventory and metrics collectors once and sends the collected data to standard output.
This behavior can be changed by passing different sets of command line arguments. Here are some examples.
```
sudo ./ericsson-hds-agent -stdout -frequency=15
```
The above command collects metrics at an interval of 15 seconds and sends the data to standard output.
```
sudo ./ericsson-hds-agent -frequency=15 -destination=tcp::9090
```
(ip_addr = ip address of the storage server.)
The above command collects metrics at an interval of 15 seconds and sends the data to a storage server running on port 9090. A [sample storage server](./examples/simple-storage-server.py) has been provided to ingest the data.
### Command Line Arguments and Other details
Please refer to [detailed document](./docs/agent-overview.md#running-the-agent) for a complete list of supported parameters and other details of the Ericsson HDS Agent.
Installation from Source Code
-----------------------------
### Prerequisite:
* **git**
* **go 1.6**
Follow these installation and setup instruction links [**`git`**](https://www.digitalocean.com/community/tutorials/how-to-install-git-on-ubuntu-14-04) and [**`go 1.6`**](https://golang.org/doc/install) if you neeed to install.
1. **How to Download**
User can download the Ericsson HDS Agent source code using `go` command
```
mkdir -p $HOME/go/src
export GOPATH=$HOME/go
cd $GOPATH/src
go get github.com/Ericsson/ericsson-hds-agent
```
1. **How to Build**
Execute the following set of commands to build HDS Agent binary:
```
cd $GOPATH/src/github.com/Ericsson/ericsson-hds-agent/agent/apps/ericsson-hds-agent
go get ./...
go build
```
1. **How to Run**
After the build completes, follow this instruction to execute the Ericsson HDS Agent program:
```
sudo ./ericsson-hds-agent -stdout
```
After the agent is run, a `node.id` file is automatically created. This file contains an unique identifier for this agent.
To run with other parameters refer to section [Running the agent](./docs/agent-overview.md#running-the-agent)
1. **How to Validate Data Being Collected**
User can validate Ericsson HDS Agent output with system command(s)
For example, cpu inventory data output from Ericsson HDS Agent(shown below) can be verified using Linux command `cat /proc/cpuinfo`.
```
{
"Category": "cpuinfo",
"Details": [
{
"Tag": "processor",
"Value": "0"
},
{
"Tag": "vendor_id",
"Value": "GenuineIntel"
},
{
"Tag": "cpu family",
"Value": "6"
},
{
"Tag": "model",
"Value": "70"
},
{
"Tag": "model name",
"Value": "Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz"
},
...
]
}
```
1. **How to Use the Data**
In this example, the inventory and metrics data from the Ericsson HDS Agent can be viewed on a dashboard to analyze the inventory of the data center and how each machine is operating.

