mirror of
https://github.com/bolucat/Archive.git
synced 2025-12-24 13:28:37 +08:00
Update On Sun Jul 13 20:36:32 CEST 2025
This commit is contained in:
@@ -2,22 +2,38 @@ package metrics
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/Ehco1996/ehco/internal/config"
|
||||
"github.com/alecthomas/kingpin/v2"
|
||||
"github.com/prometheus/client_golang/prometheus"
|
||||
"github.com/prometheus/common/promlog"
|
||||
"github.com/prometheus/node_exporter/collector"
|
||||
)
|
||||
|
||||
func RegisterNodeExporterMetrics(cfg *config.Config) error {
|
||||
level := &promlog.AllowedLevel{}
|
||||
// mute node_exporter logger
|
||||
if err := level.Set("error"); err != nil {
|
||||
return err
|
||||
// zapLevelToSlogLevel converts zap log level string to slog.Level
|
||||
func zapLevelToSlogLevel(zapLevel string) slog.Level {
|
||||
switch strings.ToLower(zapLevel) {
|
||||
case "debug":
|
||||
return slog.LevelDebug
|
||||
case "info":
|
||||
return slog.LevelInfo
|
||||
case "warn", "warning":
|
||||
return slog.LevelWarn
|
||||
case "error":
|
||||
return slog.LevelError
|
||||
default:
|
||||
return slog.LevelInfo
|
||||
}
|
||||
}
|
||||
|
||||
func RegisterNodeExporterMetrics(cfg *config.Config) error {
|
||||
slogLevel := zapLevelToSlogLevel(cfg.LogLeveL)
|
||||
logger := slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{
|
||||
Level: slogLevel,
|
||||
}))
|
||||
|
||||
logger := promlog.New(&promlog.Config{Level: level})
|
||||
// node_exporter relay on `kingpin` to enable default node collector
|
||||
// see https://github.com/prometheus/node_exporter/pull/2463
|
||||
if _, err := kingpin.CommandLine.Parse([]string{}); err != nil {
|
||||
|
||||
@@ -16,7 +16,7 @@ const defaultPageSize = 20
|
||||
func MakeIndexF() http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
zap.S().Named("web").Infof("index call from %s", r.RemoteAddr)
|
||||
fmt.Fprintf(w, "access from remote ip: %s \n", r.RemoteAddr)
|
||||
_, _ = fmt.Fprintf(w, "access from remote ip: %s \n", r.RemoteAddr)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user