Grant Proposal for hostd
Prometheus Exporter
Project Name: hostd
Metrics Exporter for Prometheus
Submitted by:
Nikita Orlov
Project Overview
This project aims to build a production-ready Prometheus exporter for Sia’s hostd
, enabling users and node operators to monitor the health and performance of their hosts using standardized, widely-adopted infrastructure.
The exporter will expose key operational metrics from hostd
, such as availability, storage status, and usage stats, via a /metrics
endpoint consumable by Prometheus. In addition, we will provide a starter Grafana dashboard and a configurable alert (e.g. host down) to showcase the exporter in action.
Key Features
-
Prometheus-Compatible Metrics:
- Export health and availability of
hostd
nodes. - Include key operational variables (e.g. remaining storage, uptime).
- Collect all metrics available from
/api/metrics
. - Track availability of accounts from
/api/accounts
. - Count connected peers from
/api/syncer/peers
.
- Export health and availability of
-
Multi-node Support:
- Monitor multiple
hostd
endpoints via config file.
- Monitor multiple
-
Built-in Dashboard & Alerts:
- Simple example Grafana dashboard with Prometheus data source.
- Alert rule for node downtime — easily extendable by users.
-
Community Input Welcome:
- If the community has suggestions for additional metrics, we’re happy to incorporate them into the exporter.
Who Benefits From This Project?
- Sia node operators who want a clear and standard way to monitor their infrastructure.
- DevOps teams already using Prometheus/Grafana — the exporter plugs in directly.
- Sia core developers — better insight into real-world node behavior.
- Infrastructure providers running
hostd
as a service.
How Does the Project Serve the Sia Ecosystem?
Sia has long prioritized decentralization and user control — but meaningful self-hosting at scale requires monitoring. This project bridges that gap by integrating hostd
into one of the most popular monitoring ecosystems (Prometheus), giving operators tools to detect issues proactively and integrate with their own workflows.
This exporter is the missing piece to enable seamless visibility into hostd
, and lays groundwork for alerting, auto-scaling, and even potential incident response automation.
Grant Specifics
Amount Requested: $9,000 USD
Budget Breakdown:
-
Exporter Development (Go): $6,500
- Metrics collector and parser
- Config loader and node manager
- Multi-instance support
- Prometheus
/metrics
endpoint
-
Dashboard & Alerting Example: $1,500
- Sample Grafana dashboard
- Prometheus rule file for alerting
- Example Slack/Telegram integration
-
Testing, Documentation, Packaging: $1,000
- Setup guides and examples
- Dockerfile and binary builds
- End-to-end validation with real
hostd
instances
Timeline (1.5 Months)
-
Week 1–2:
- Exporter scaffolding and config system
- Basic
/metrics
endpoint with uptime/availability
-
Week 3–4:
- Add more metrics (
/api/metrics
,/api/accounts
,/api/syncer/peers
) - Add multi-node support
- Add more metrics (
-
Week 5–6:
- Build dashboard & example alert
- Final polish, testing, documentation
- Publish and announce project
Potential risks that will affect the outcome of the project
At first glance, the potential risks are minimal. We have a well-documented API (for hostd
/renterd
), and I’ve reviewed all the methods mentioned here. The only potential risk I foresee is in the future, if a new major version is released. However, I don’t expect it to be a significant problem — updating the monitoring tool to support new major versions of renterd
/hostd
should be straightforward.
–
Open-Source Commitment
Yes, the exporter will be released under an MIT license and maintained on GitHub. Contributions and extensions will be encouraged.
Progress Reporting
Yes, progress updates will be submitted biweekly during the development period. All milestones will be documented in the public GitHub repo and optionally shared in Sia’s community channels.
Contact Info
Email: [email protected]
Discord: stringnick6408
GitHub: https://github.com/stringnick