mirror of
https://github.com/trafficlunar/api.git
synced 2026-03-28 19:13:12 +00:00
feat: expose prometheus metrics on different port
This commit is contained in:
parent
d93f3f2797
commit
498b45eab3
5 changed files with 19 additions and 4 deletions
|
|
@ -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" ]
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
14
internal/server/prometheus.go
Normal file
14
internal/server/prometheus.go
Normal 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)
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
2
main.go
2
main.go
|
|
@ -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()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue