To collect data on your server emissions and enter onto the leaderboard,
save the Carbon Client on your server and run the following command:
bash carbon send
This will collect all the data you need to enter your server onto the leaderboard.
However, you can find information below
about more advanced options, such as associating your servers with your user account.
Upload your data
Find your payload file at carbon-log/payload-${UUID}.json and upload it below.
When collecting system information in the leaderboard it may be desired to
optionally "claim" the device that is being sent. To do so, a user account
will need to be created in the leaderboard and the JWT_TOKEN
for the user will need to be set as the environment variable AUTH_TOKEN.
Your auth token can be found on your user profile page.
Specifying location
If the connection to the Internet goes via a VPN or proxy then the location
determined by the script may be incorrect. To override the automated location
identified, ensure that the environment variable LOCATION is set
to a valid ISO 3166-1 alpha-3 code.
View dependencies
BASH
lshw
lsblk
md5sum
Silencing output
By default the script will print a one-line debug of the system specs when
send is run. This can be silenced by setting the environment
variable QUIET to true.
Offline data collection (the payload file)
The payload file (carbon-log/payload-${UUID}.json) is created
by a device when it is unable to reach the leaderboard. This payload file can
have 1 or more entries for the device.
As the send command collects
the load average over the last 15 minutes for "live" carbon data, this file can
be used to build up many entries over time for a single device in order to get
historical estimates of the actual impact of the device at whatever load it has
been at.
Accepting defaults
By default the script will prompt confirmation of the various system specs with
the user. To prevent this from happening in the future set the environment variable
ACCEPT_DEFAULTS to true.
Note: Overrides to system specs only happen on a per-run basis so would need to be
overridden each time the command is run.