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
hostdnodes. - 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
hostdendpoints 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
hostdas 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
/metricsendpoint
-
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
hostdinstances
Timeline (1.5 Months)
-
Week 1–2:
- Exporter scaffolding and config system
- Basic
/metricsendpoint 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
