როგორ ხორციელდება ექსპორტიორების მიერ მეტრიკების გადაცემის მეთოდების განხორციელება?
sobes.tech AI
პასუხი AI-სგან
ექსპორტიორების მიერ მეტრიკების გადაცემის მეთოდები ჩვეულებრივ განხორციელებულია პროტოკოლებისა და ფორმატების საშუალებით, რაც საშუალებას აძლევს მონიტორინგის მონაცემების შეგროვებას და გადაცემას აგრეგაციის სისტემებს (მაგალითად, Prometheus).
ძირითადი გადაცემის მეთოდები:
- Pull მოდელი (მოწევა) — ექსპორტერი უზრუნველყოფს HTTP-კენარის, რომელზეც მონიტორინგის სისტემა პერიოდულად აგზავნის მოთხოვნებს და იღებს აქტუალურ მეტრიკებს, მაგალითად, Prometheus-ის ექსპოზიციის ფორმატში:
import (
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
"net/http"
)
func main() {
http.Handle("/metrics", promhttp.Handler())
http.ListenAndServe(":2112", nil)
}
-
Push მოდელი (გაგზავნა) — ექსპორტერი პირდაპირ აგზავნის მეტრიკებს მონიტორინგის სერვერზე API ან პროტოკოლების საშუალებით (მაგალითად, Pushgateway Prometheus-ში):
-
შუალედური ბროკერების გამოყენება — მეტრიკები იგზავნება შეტყობინებების რიგში (Kafka, RabbitMQ), საიდანაც მათ იღებს მონიტორინგის სისტემა.
პრომეთეუმში მეტრიკების ექსპორტის მაგალითი (pull მოდელი):
import (
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
"net/http"
)
func main() {
http.Handle("/metrics", promhttp.Handler())
http.ListenAndServe(":2112", nil)
}
აქ, ექსპორტერი იწყებს HTTP სერვერს, რომელიც მოთხოვნის შემთხვევაში აბრუნებს მეტრიკებს, რომლებიც Prometheus-ისთვის გასაგებია ფორმატში.