Świat telekomunikacji ewoluuje w szybkim tempie, a dla operatorów jest nie tylko ważne, ale wręcz kluczowe, aby wyprzedzać konkurencję. W miarę jak technologia 5G staje się normą, płynne przejście z technologii 4G (która działa w oparciu o technologię Kubernet) jest nie tylko niezbędne, ale wręcz strategiczne. OpenStack cloud) do technologii 5G (która wykorzystuje Kubernetes).
W obecnym scenariuszu operatorzy inwestują w narzędzia monitorujące wielu dostawców, co prowadzi do wyższych kosztów i mniej wydajnych operacji. Jednak w nadchodzącym świecie 5G operatorzy mogą przyjąć ujednolicony system monitorowania i ostrzegania dla wszystkich swoich produktów. Ten pojedynczy system, z możliwością monitorowania sprzętu sieciowego, urządzeń klienckich i platform usługowych, oferuje uspokajająco holistyczny widok całego systemu, zmniejszając w ten sposób złożoność i zwiększając wydajność.
Poprzez przyjęcie Prometheus-based operatorzy mogą usprawnić operacje, obniżyć koszty i poprawić jakość obsługi klienta. Dzięki pojedynczemu systemowi monitorowania operatorzy mogą płynnie monitorować cały swój system 5G, zapewniając optymalną wydajność i unikając zakłóceń.
To praktyczne rozwiązanie eliminuje potrzebę całkowitego remontu i oferuje opłacalną transformację.
Zanurzmy się głębiej.
Prometheus, Grafana i menedżer alertów
Prometheus to narzędzie do monitorowania i alarmowania systemów, wykorzystujące system monitorowania oparty na pullingu. Zbiera, gromadzi i przechowuje kluczowe wskaźniki wydajności (KPI) z etykietami i znacznikami czasu, umożliwiając zbieranie metryk z celów, które są przestrzeniami nazw funkcji sieciowych w świecie telekomunikacji 5G.
Grafana to dynamiczna aplikacja internetowa, która oferuje szeroki zakres funkcjonalności. Wizualizuje dane, umożliwiając tworzenie wykresów, grafów i pulpitów nawigacyjnych, które operator 5G Telecom chce wizualizować. Jej podstawową cechą jest wyświetlanie wielu trybów obsługi wykresów i dashboardów za pomocą GUI (graficznego interfejsu użytkownika). Grafana może płynnie integrować dane zebrane przez Prometheus, co czyni ją niezbędnym narzędziem dla operatorów telekomunikacyjnych. Jest to potężna aplikacja internetowa, która obsługuje integrację różnych źródeł danych w jednym pulpicie nawigacyjnym, umożliwiając ciągłe monitorowanie. Ta wszechstronność poprawia szybkość reakcji, ostrzegając zespół operatora telekomunikacyjnego o wystąpieniu incydentu, zapewniając minimalny czas przestoju funkcji sieci 5G.
Alert Manager jest kluczowym komponentem, który zarządza alertami z serwera Prometheus za pomocą reguł alertowania. Zarządza otrzymanymi alertami, w tym wycisza je i blokuje oraz wysyła powiadomienia za pośrednictwem poczty e-mail lub czatu. Menedżer alertów usuwa również duplikaty, grupuje i kieruje je do scentralizowanego odbiornika webhook, co czyni go niezbędnym narzędziem dla każdego operatora telekomunikacyjnego.
Schemat architektoniczny
Prometheus
Składniki Prometheus (specyficzne dla operatora telekomunikacyjnego 5G)
- Komponent podstawowy: Serwer Prometheus zeskrobuje punkty końcowe HTTP i przechowuje dane (szeregi czasowe).
- The Serwer Prometheus, kluczowy komponent w świecie telekomunikacji 5G, zbiera metryki z celów Prometheus. W naszym kontekście cele te to klaster Kubernetes, w którym znajdują się funkcje sieciowe 5G.
- Baza danych szeregów czasowych (TSDB): Prometheus przechowuje dane telecom Metrics jako dane szeregów czasowych.
- Serwer HTTP: API do odpytywania danych przechowywanych w TSDB; Pulpit nawigacyjny Grafana może odpytywać te dane w celu wizualizacji.
- Biblioteki specyficzne dla operatorów telekomunikacyjnych (5G) do oprzyrządowania kodu aplikacji.
- Push gateway (cel scrape dla krótkotrwałych zadań)
- Wykrywanie usług: W świecie 5G pody funkcji sieciowych są stale dodawane lub usuwane przez operatorów telekomunikacyjnych w celu skalowania w górę lub w dół. Adaptowalny komponent wykrywania usług Prometheus monitoruje stale zmieniającą się listę podów.
- The Prometheus Web UI, dostępny przez port 9090, jest narzędziem do wizualizacji danych. Umożliwia ono użytkownikom przeglądanie i analizowanie danych Prometheus w przyjazny dla użytkownika i interaktywny sposób, zwiększając możliwości monitorowania operatorów telekomunikacyjnych 5G.
- The Menedżer alertów, kluczowy komponent Prometheusa, jest odpowiedzialny za obsługę alertów. Został zaprojektowany, aby powiadamiać użytkowników, gdy coś pójdzie nie tak, wyzwalając powiadomienia, gdy spełnione są określone warunki. Po spełnieniu określonych warunków Prometheus powiadamia menedżera alertów, który wysyła alerty za pośrednictwem różnych kanałów, takich jak poczta e-mail lub komunikator, zapewniając terminową i skuteczną komunikację krytycznych problemów.
- Grafana do wizualizacji pulpitu nawigacyjnego (rzeczywiste wykresy)
Dzięki solidnym komponentom Prometheus, funkcje sieci 5G Państwa operatora telekomunikacyjnego są monitorowane z należytą starannością, zapewniając niezawodne wykorzystanie zasobów, śledzenie wydajności, wykrywanie błędów w dostępności i nie tylko. Prometheus może zapewnić Państwu niezbędne narzędzia, aby Państwa sieć działała płynnie i wydajnie.
Funkcje Prometheus
- Wielowymiarowy model danych określony przez szczegóły metryki wykorzystuje PromQL (Prometheus Querying Language) jako język zapytań i model HTTP Pull.
- Operatorzy telekomunikacyjni mogą teraz odkrywać funkcje sieci 5G za pomocą wykrywania usług i konfiguracji statycznej.
- Wiele trybów obsługi pulpitu nawigacyjnego i graficznego interfejsu użytkownika zapewnia użytkownikom wszechstronne i konfigurowalne doświadczenie.
Prometheus Remote Write to Central Prometheus z poziomu funkcji sieciowych
Operatorzy 5G będą mieli wiele funkcji sieciowych od różnych dostawców, takich jak SMF (Session Management Function), UPF (User Plane Function), AMF (Access and Mobility Management Function), PCF (Policy Control Function) i UDM (Unified Data Management).
Korzystanie z wielu pulpitów Prometheus/Grafana dla każdej funkcji sieciowej może prowadzić do złożonego i nieefektywnego procesu monitorowania operatora sieci 5G. Aby temu zaradzić, zdecydowanie zaleca się skonsolidowanie wszystkich danych / metryk z poszczególnych Prometheus w jednym centralnym Prometheus, upraszczając proces monitorowania i zwiększając wydajność.
Operator sieci 5G może teraz pewnie monitorować wszystkie dane w scentralizowanej lokalizacji Central Prometheus. Ten przyjazny dla użytkownika interfejs zapewnia kompleksowy wgląd w wydajność sieci, dając operatorowi niezbędne narzędzia do skutecznego monitorowania.
Grafana
Cechy Grafany
- Panele: Ta potężna funkcja umożliwia operatorom wizualizację danych Telecom 5G na wiele sposobów, w tym histogramów, wykresów, map i wskaźników KPI. Oferuje wszechstronny i elastyczny interfejs do reprezentacji danych, zwiększając wydajność i skuteczność analizy danych.
- Wtyczki: Funkcja ta skutecznie renderuje dane Telecom 5G w czasie rzeczywistym w przyjaznym dla użytkownika interfejsie API (Application Programming Interface), zapewniając operatorom zawsze najdokładniejsze i najbardziej aktualne dane na wyciągnięcie ręki. Umożliwia również operatorom tworzenie wtyczek źródeł danych i pobieranie danych z dowolnego interfejsu API.
- Transformacje: Ta funkcja umożliwia elastyczne dostosowywanie, podsumowywanie, łączenie i wykonywanie zapytań / obliczeń wskaźników KPI w źródłach danych funkcji sieci 5G, zapewniając narzędzia do skutecznego manipulowania i analizowania danych.
- Adnotacje: Bogate zdarzenia z różnych źródeł danych funkcji sieci Telecom 5G są wykorzystywane do adnotacji wykresów opartych na metrykach.
- Edytor panelu: Niezawodny i spójny graficzny interfejs użytkownika do konfigurowania i dostosowywania paneli danych telekomunikacyjnych 5G.
Grafana Sample Dashboard GUI dla 5G
Menedżer alertów
Składniki Menedżera alertów
- The Ingester szybko pozyskuje wszystkie alerty, podczas gdy aplikacja Grouper grupuje je w kategorie.
- The De-duplicator zapobiega powtarzającym się alertom, zapewniając, że nie są Państwo bombardowani powiadomieniami.
- The Tłumik służy do wyciszania alertów na podstawie etykiety, a funkcja Throttler reguluje częstotliwość alertów.
- Wreszcie Notifier zapewni niezwłoczne powiadomienie osób trzecich.
Funkcje menedżera alertów
- Grupowanie:
- Grupowanie kategoryzuje podobne alerty w jednym systemie powiadomień. Jest to pomocne podczas bardziej rozległych awarii, gdy wiele funkcji sieci 5G ulega awarii jednocześnie i gdy wszystkie alerty muszą zostać uruchomione jednocześnie.
- Operator telekomunikacyjny będzie oczekiwał, że otrzyma tylko jedną stronę, a jednocześnie będzie w stanie zwizualizować dokładne instancje usług, których to dotyczy.
- Inhibicja:
- Inhibicja wstrzymuje powiadomienia dla określonych alertów o niskim priorytecie, jeśli niektóre główne/krytyczne alerty są już uruchomione.
- Na przykład, gdy uruchomiony zostanie alert krytyczny, wskazujący, że cały klaster 5G SMF (Session Management Function) nie jest osiągalny, AlertManager może wyciszyć wszystkie inne alerty pomniejsze/ostrzegawcze dotyczące tego klastra.
- Wyciszenia: Wyciszenia to po prostu wyciszenie alertów na określony czas. Przychodzące alerty są sprawdzane pod kątem zgodności z wyrażeniami regularnymi aktywnego wyciszenia. Jeśli pasują, żadne powiadomienia nie zostaną wysłane dla tego alertu.
- Wysoka dostępność: Operatorzy telekomunikacyjni nie będą równoważyć ruchu między Prometheus a wszystkimi menedżerami alertów; zamiast tego wskażą Prometheus na listę wszystkich menedżerów alertów.
Wizualizacja pulpitu nawigacyjnego
Pulpit nawigacyjny Grafana wizualizuje powiadomienia o ruchu webhook Alert Manager, jak pokazano poniżej:
Konfiguracja YAML (Yet Another Markup Language)
Operatorzy telekomunikacyjni mogą zainstalować i uruchomić Prometheus przy użyciu poniższej konfiguracji:
prometheus:
enabled: true
route:
enabled: {}
nameOverride: Prometheus
tls:
enabled: true
certificatesSecret: backstage-prometheus-certs
certFilename: tls.crt
certKeyFilename: tls.key
volumePermissions:
enabled: true
initdbScriptsSecret: backstage-prometheus-initdb
prometheusSpec:
retention: 3d
replicas: 2
prometheusExternalLabelName: prometheus_cluster
image:
repository: <5G operator image repository for Prometheus>
tag: <Version example v2.39.1>
sha: ""
podAntiAffinity: "hard"
securityContext: null
resources:
limits:
cpu: 1
memory: 2Gi
requests:
cpu: 500m
memory: 1Gi
serviceMonitorNamespaceSelector:
matchExpressions:
- {key: namespace, operator: In, values: [<Network function 1 namespace>, <Network function 2 namespace>]}
serviceMonitorSelectorNilUsesHelmValues: false
podMonitorSelectorNilUsesHelmValues: false
ruleSelectorNilUsesHelmValues: false
Konfiguracja do kierowania danych scrape posegregowanych na podstawie przestrzeni nazw i kierowania do Central Prometheus.
- Uwaga: Poniższą konfigurację można dołączyć do Prometheusa wspomnianego w powyższym instalacyjnym YAML.
remoteWrite:
- url: <Central Prometheus URL for namespace 1 by 5G operator>
basicAuth:
username:
name: <secret username for namespace 1>
key: username
password:
name: <secret password for namespace 1>
key: password
tlsConfig:
insecureSkipVerify: true
writeRelabelConfigs:
- sourceLabels:
- namespace
regex: <namespace 1>
action: keep
- url: <Central Prometheus URL for namespace 2 by 5G operator>
basicAuth:
username:
name: <secret username for namespace 2>
key: username
password:
name: <secret password for namespace 2>
key: password
tlsConfig:
insecureSkipVerify: true
writeRelabelConfigs:
- sourceLabels:
- namespace
regex: <namespace 2>
action: keep
Operatorzy telekomunikacyjni mogą zainstalować i uruchomić Grafanę przy użyciu poniższej konfiguracji.
grafana:
replicas: 2
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: "app.kubernetes.io/name"
operator: In
values:
- Grafana
topologyKey: "kubernetes.io/hostname"
securityContext: false
rbac:
pspEnabled: false # Must be disabled due to tenant permissions
namespaced: true
adminPassword: admin
image:
repository: <artifactory>/Grafana
tag: <version>
sha: ""
pullPolicy: IfNotPresent
persistence:
enabled: false
initChownData:
enabled: false
sidecar:
image:
repository: <artifactory>/k8s-sidecar
tag: <version>
sha: ""
imagePullPolicy: IfNotPresent
resources:
limits:
cpu: 100m
memory: 100Mi
requests:
cpu: 50m
memory: 50Mi
dashboards:
enabled: true
label: grafana_dashboard
labelValue: "Vendor name"
datasources:
enabled: true
defaultDatasourceEnabled: false
additionalDataSources:
- name: Prometheus
type: Prometheus
url: http://<prometheus-operated>:9090
access: proxy
isDefault: true
jsonData:
timeInterval: 30s
resources:
limits:
cpu: 400m
memory: 512Mi
requests:
cpu: 50m
memory: 206Mi
extraContainers:
- name: oauth-proxy
image: <artifactory>/origin-oauth-proxy:<version>
imagePullPolicy: IfNotPresent
ports:
- name: proxy-web
containerPort: 4181
args:
- --https-address=:4181
- --provider=openshift
# Service account name here must be "<Helm Release name>-grafana"
- --openshift-service-account=monitoring-grafana
- --upstream=http://localhost:3000
- --tls-cert=/etc/tls/private/tls.crt
- --tls-key=/etc/tls/private/tls.key
- --cookie-secret=SECRET
- --pass-basic-auth=false
resources:
limits:
cpu: 100m
memory: 256Mi
requests:
cpu: 50m
memory: 128Mi
volumeMounts:
- mountPath: /etc/tls/private
name: grafana-tls
extraContainerVolumes:
- name: grafana-tls
secret:
secretName: grafana-tls
serviceAccount:
annotations:
"serviceaccounts.openshift.io/oauth-redirecturi.first": https://[SPK exposed IP for Grafana]
service:
targetPort: 4181
annotations:
service.alpha.openshift.io/serving-cert-secret-name: <secret>
Operatorzy telekomunikacyjni mogą zainstalować i uruchomić Alert Manager przy użyciu poniższej konfiguracji.
alertmanager:
enabled: true
alertmanagerSpec:
image:
repository: prometheus/alertmanager
tag: <version>
replicas: 2
podAntiAffinity: hard
securityContext: null
resources:
requests:
cpu: 25m
memory: 200Mi
limits:
cpu: 100m
memory: 400Mi
containers:
- name: config-reloader
resources:
requests:
cpu: 10m
memory: 10Mi
limits:
cpu: 25m
memory: 50Mi
Konfiguracja kierowania danych Prometheus Alert Manager do scentralizowanego odbiornika webhook operatora.
- Uwaga: Poniższa konfiguracja może zostać dołączona do Menedżera alertów wspomnianego w powyższym instalacyjnym YAML.
config:
global:
resolve_timeout: 5m
route:
group_by: ['alertname']
group_wait: 30s
group_interval: 5m
repeat_interval: 12h
receiver: 'null'
routes:
- receiver: '<Network function 1>'
group_wait: 10s
group_interval: 10s
group_by: ['alertname','oid','action','time','geid','ip']
matchers:
- namespace="<namespace 1>"
- receiver: '<Network function 2>'
group_wait: 10s
group_interval: 10s
group_by: ['alertname','oid','action','time','geid','ip']
matchers:
- namespace="<namespace 2>"
Wnioski
Narzędzia open-source OAM (Operation and Maintenance) Prometheus, Grafana i Alert Manager mogą przynieść korzyści operatorom 5G Telecom. Prometheus okresowo przechwytuje cały stan monitorowanych funkcji sieciowych 5G Telecom za pośrednictwem protokołu HTTP, a każdy komponent może być podłączony do monitorowania, o ile operator 5G Telecom zapewnia odpowiedni interfejs HTTP. Prometheus i Grafana Agent dają operatorowi 5G Telecom kontrolę nad metrykami, które operator chce raportować; gdy dane znajdą się w Grafanie, mogą być przechowywane w bazie danych Grafana jako dodatkowa redundancja danych.
Podsumowując, Prometheus pozwala operatorom 5G Telecom usprawnić swoje operacje i zaoferować lepszą obsługę klienta. Przyjęcie ujednoliconego systemu monitorowania i ostrzegania, takiego jak Prometheus, jest jednym ze sposobów osiągnięcia tego celu.