Я еще не смог найти несколько хороших примеров использования калибратора, счетчика и гистограммы в прометее. Любая помощь по этому поводу будет выполнена. Я попытался использовать документацию, но мне не удалось успешно создать рабочее приложение.Как подтолкнуть метрики к прометею с помощью client_golang?
3
A
ответ
3
Прометей - это система с тяговым механизмом, если вы хотите осуществлять контроль на основе нажатия, вам нужно использовать какой-либо шлюз. Минимальный пример (фактически не делает ничего полезного, как начиная НТТР слушателя, или на самом деле делать что-нибудь к метрике) следующим образом:
import (
"github.com/prometheus/client_golang/prometheus"
"net/http"
)
var responseMetric = prometheus.NewHistogram(
prometheus.HistogramOpts{
Name: "request_duration_milliseconds",
Help: "Request latency distribution",
Buckets: prometheus.ExponentialBuckets(10.0, 1.13, 40),
})
func main() {
prometheus.MustRegister(responseMetric)
http.Handle("/metrics", prometheus.Handler())
// Any other setup, then an http.ListenAndServe here
}
Затем нужно настроить Прометея, чтобы очистить /metrics
страницу бинарный файл обеспечивает.
5
Я нашел это
`
package main
import (
"net/http"
"github.com/prometheus/client_golang/prometheus"
)
var (
cpuTemp = prometheus.NewGauge(prometheus.GaugeOpts{
Name: "cpu_temperature_celsius",
Help: "Current temperature of the CPU.",
})
hdFailures = prometheus.NewCounter(prometheus.CounterOpts{
Name: "hd_errors_total",
Help: "Number of hard-disk errors.",
})
)
func init() {
prometheus.MustRegister(cpuTemp)
prometheus.MustRegister(hdFailures)
}
func main() {
cpuTemp.Set(65.3)
hdFailures.Inc()
http.Handle("/metrics", prometheus.Handler())
http.ListenAndServe(":8080", nil)
}
`
Это может быть полезно для некоторых.
Ваш вопрос непонятен, так как prometheus - система контроля на основе тягового усилия. – caskey
Я нашел документацию для клиента python намного проще, чем golang. – Efox