Big data collection is a solved problem in web technology, albeit still expensive due to the cost of storing long term data. In these examples, the utilization is the same: Grafana dashboards are used to query and alert based on data collected by each system.
This is not a comprehensive example, nor does it list all technologies that compete in this space. It is simply comparing two that were brought up in conversation and serve as an example of the patterns themselves.
Where Telegraf & the corresponding TIG stack isn't necessary ALWAYS a distributed agent network, and it's not always pushing metrics to a central DB, the example here is just that.
Each node container is configured to generate random values, and push it to a single known database. The database has a username & password to prevent miscellaneous data sources, but other than that: Any device that knows the right endpoint simply need to ship metrics to it.
This uses Telegraf as the mechanism to execute our data collection script, which will collate the raw metrics in its simplest form and push it to it's configured output db influxdb.
Configuration of this model is done at creation time and does not need further modification at any central point. This can greatly simplify deployment. Telegraf in this case also provides a very simple interface between "get metrics" and "deliver metrics" in a single sweep.
After deployment, these still need to be modified and inventoried. Products like Ansible can solve this problem, but can introduce complexity later in the lifecycle of the product.
SNMP was created in 1988 to manage many many devices at once with very low overhead. Today it's largely used for networking equipment or underpowered devices like IOT functions and has been greatly displaced by the ever-cheaper compute power available today.
Here we defined a custom SNMP OID with which to monitor our custom resource collector that is defined by our central collector as a custom model.
Many pre-made products already support SNMP and have well defined documentation to access the juicy details there-in.
SNMP requires extrenuous research and testing for even the simplest metrics collections due to its long list of opinions and baked-in assumptions.
- Download all these links
- Install all these links as appropriate for your OS
- Clone this repository
mkdir -p ~/repos/github/Tokugero/ cd ~/repos/github/Tokugero/ git clone git@github.com:Tokugero/device-collector-poc.git cd device-collector-poc
- Browse to one of these folders:
- prom-snmp-stack
- tig-stack
- Example:
cd tig-stack
- Follow instructions on the respective README.md
- Example:
docker-compose up -d
- Example:
- Clean up after yourself
- Example:
docker-compose down -v
- Example:

