This guide covers how to use Foreman to track machine ownership to help produce accurate Power Reports.
A Hosted World
To increase profitability, it's common for miners to send their ASICs to colocation facilities in an attempt to obtain a cheaper cost per kWh. This process generally includes negotiating with the colo on terms (power cost, contract length, and some sort of service level agreement) and ends with the miner being shipped to the facility where it's fully managed.
Depending on the company, in exchange for your miner, you're given a pool watcher link where you can observe your hash rate, and in some rare situations, you're granted access to a private subnet with remote access to your miner through a VPN.
However, there are cons to both of these approaches. The facility has a tremendous overhead and risk associated with giving users external access to a subnet. Also, it's easy to become overburdened with service tickets requesting that operators check on hosted miners.
For the customer, if you're given VPN access and you've sent more than a handful of miners, it's unreasonable to access each miner management page manually. If you aren't given external access, nothing feels worse than the feeling of sending your device to the void with no ability to see if it's healthy or failing, hashing as effectively as it could, or if it's even consistently mining to your desired pool and worker account.
How Foreman Helps
At Foreman, we aim to ease the colo setup while allowing customers to monitor and conditionally manage their miners remotely.
To the facility, you're given a single global dashboard where operators and site personnel can monitor the fleet. As client miners arrive, you can dynamically add sub-clients, putting the miners in their own sandbox where the customer can monitor and manage them remotely.
To the customer, you're given access to a private sub-dashboard where you can view and control your devices from anywhere. Monitor their health and where they're hashing, and if permitted by the facility, remotely reboot, change their pools, etc.
Create an Account
If you haven't done so already, you'll need to create an account with us. That only takes a second!
Import Every Miner
Follow the guide here to run a subnet scan and bulk import every miner in your facility. To help group miners by customer, we recommend that in the scan prompt, you select Name Miners By and then select Miner worker name:
Once the scan is complete, Save and you should soon see them all appear online. For this example, there are 3 clients: Client A, Client B, and Client C. Each of them are mining to their own worker accounts:
Add a Customer
Now that every miner has been added, it's time to move things around. At the top of the page, click the Add Client button. Complete the form:
The page will refresh, and now you can move between dashboards (the global parent colo dashboard or the clients).
Assign the Miners to the Customer
Every miner is still associated with the parent dashboard. To give a user access to their miners, we'll need to assign them. First, we'll apply a global dashboard filter so we're only viewing the miners associated with Client A:
Then, we'll run a Bulk Action and assign them to the client. This will also make them visible on the sub-client's dashboard:
The Client column should change from Demo Colo LLC to Client A. The miners are now officially linked to the customer, but they can still be monitored and managed from the global parent dashboard:
We'll cover how to set up automation for this process a little later in the article. This way you don't have to repeat this process every time a client has a new miner come online in your facility.
Configure the Customer's Dashboard
From the top navigation bar in Foreman, switch to the new Client's private dashboard:
Before inviting users, create a custom role on the My Company page to minimize what they can do. The following example allows a customer to monitor their miners and their configurations while also allowing users to reboot remotely and change pools:
Send them an invite and grant them access:
Now that you've successfully created a sub-dashboard for one of your customers, repeat this process, creating a new dashboard for each of your clients, assigning them their miners as you go, and then configuring permissions.
Configure the Global Dashboard
Now that there are sub-dashboards with customer access, it's useful to customize the global parent dashboard so operators can quickly see how things look. This allows maintenance personnel to quickly identify when a client's miners have gone offline or there was an unexpected hash rate drop.
Switch to the parent dashboard, enter the Page Builder, and re-configure the Hash Rate Graph to separate data points by the client. You can also add a Sub Client Hash Rate block to display the current client's hash rate clearly:
If you're looking to give non-admins on the account access to the sub-client dashboards, they'll need the 'Sub-Client Admin' permission under My Company. Once they're added, within 5 minutes, they'll be able to see the client dashboard drop-down at the top and can help administer their accounts.
Operators do not need to be sub-client admins to monitor and manage customer miners. Without this permission, all of the devices will still be accessible and fully manageable from the global parent dashboard. The 'Sub-Client Admin' permission is only required if a user should be allowed to view a customer's private dashboard.
Create a Trigger to Auto-Assign Client Ownership
Now that you have your clients created and permissioned, you can create a trigger to automatically assign new miners to clients based on a set criteria. Setting a client ownership trigger saves the effort of bulk editing and assigning every time a new miner comes online for a client.
From your parent dashboard, enter the 'Alerts & Triggers' tab and click on the 'Add Trigger' button. In the example below, the trigger is set to auto-assign miners to client John anytime a new miner comes online in the specified Texas 1 facility in the IP Range.