rpcserver+monitoring/config: enable Prometheus monitoring.

Start the Prometheus exporter in rpcserver.go if monitoring is enabled through the
build tag. Also allow users to specify what address they want the Prometheus
exporter to be listening on.
This commit is contained in:
Valentine Wallace committed 2019-06-11 11:26:09 -07:00
1 parent 1f6485e7e9
commit f5eeb05e0a
5 files changed
+95 -10

No files matched your search

+19
View File
@@ -0,0 +1,19 @@
// +build !monitoring
package lncfg
// Prometheus configures the Prometheus exporter when monitoring is enabled.
// Monitoring is currently disabled.
type Prometheus struct{}
// DefaultPrometheus is the default configuration for the Prometheus metrics
// exporter when monitoring is enabled. Monitoring is currently disabled.
func DefaultPrometheus() Prometheus {
return Prometheus{}
}
// Enabled returns whether or not Prometheus monitoring is enabled. Monitoring
// is currently disabled, so Enabled will always return false.
func (p *Prometheus) Enabled() bool {
return false
}
+30
View File
@@ -0,0 +1,30 @@
// +build monitoring
package lncfg
// Prometheus is the set of configuration data that specifies the listening
// address of the Prometheus exporter.
type Prometheus struct {
// Listen is the listening address that we should use to allow the main
// Prometheus server to scrape our metrics.
Listen string `long:"listen" description:"the interface we should listen on for Prometheus"`
// Enable indicates whether to export lnd gRPC performance metrics to
// Prometheus. Default is false.
Enable bool `long:"enable" description:"enable Prometheus exporting of lnd gRPC performance metrics."`
}
// DefaultPrometheus is the default configuration for the Prometheus metrics
// exporter.
func DefaultPrometheus() Prometheus {
return Prometheus{
Listen: "127.0.0.1:8989",
Enable: false,
}
}
// Enabled returns whether or not Prometheus monitoring is enabled. Monitoring
// is disabled by default, but may be enabled by the user.
func (p *Prometheus) Enabled() bool {
return p.Enable
}