feat: expose prometheus metrics on different port

This commit is contained in:
trafficlunar 2026-01-01 23:46:54 +00:00
parent d93f3f2797
commit 498b45eab3
5 changed files with 19 additions and 4 deletions

View file

@ -18,4 +18,5 @@ COPY --from=builder /app/api .
COPY favicon.ico . COPY favicon.ico .
EXPOSE 8888 EXPOSE 8888
EXPOSE 8889
CMD [ "/app/api" ] CMD [ "/app/api" ]

View file

@ -13,3 +13,5 @@ trafficlunar's api
- computer statistics websocket - computer statistics websocket
- The application [here](https://github.com/trafficlunar/computer) is used to send data to this WebSocket - The application [here](https://github.com/trafficlunar/computer) is used to send data to this WebSocket
- After the data is sent, it is turned into chart data and is displayed on my website. - After the data is sent, it is turned into chart data and is displayed on my website.
- github
- Gets amount of stars for my repositories

View file

@ -0,0 +1,14 @@
package server
import (
"net/http"
"github.com/prometheus/client_golang/prometheus/promhttp"
)
func StartPrometheusServer() {
go func() {
http.HandleFunc("/", promhttp.Handler().ServeHTTP)
http.ListenAndServe(":8889", nil)
}()
}

View file

@ -11,7 +11,6 @@ import (
"github.com/go-chi/chi/v5/middleware" "github.com/go-chi/chi/v5/middleware"
"github.com/go-chi/cors" "github.com/go-chi/cors"
"github.com/go-chi/httprate" "github.com/go-chi/httprate"
"github.com/prometheus/client_golang/prometheus/promhttp"
"api/internal/handler" "api/internal/handler"
app_middleware "api/internal/middleware" app_middleware "api/internal/middleware"
@ -49,9 +48,6 @@ func NewRouter() {
r.Group(func(r chi.Router) { r.Group(func(r chi.Router) {
r.Use(app_middleware.PrometheusMiddleware) r.Use(app_middleware.PrometheusMiddleware)
// Prometheus
r.Handle("/metrics", promhttp.Handler())
var commit = "unknown" var commit = "unknown"
if os.Getenv("SOURCE_COMMIT") != "" { if os.Getenv("SOURCE_COMMIT") != "" {
commit = os.Getenv("SOURCE_COMMIT")[:7] // shorten to 7 characters commit = os.Getenv("SOURCE_COMMIT")[:7] // shorten to 7 characters

View file

@ -38,6 +38,7 @@ func main() {
go worker.StartWorkers() go worker.StartWorkers()
// Shutdown-chan~~ // Shutdown-chan~~
// this joke sucks
shutdownChan := make(chan os.Signal, 1) shutdownChan := make(chan os.Signal, 1)
signal.Notify(shutdownChan, os.Interrupt, syscall.SIGINT, syscall.SIGTERM) signal.Notify(shutdownChan, os.Interrupt, syscall.SIGINT, syscall.SIGTERM)
@ -53,5 +54,6 @@ func main() {
os.Exit(0) os.Exit(0)
}() }()
server.StartPrometheusServer()
server.NewRouter() server.NewRouter()
} }