Przejdź do treści

Tagi wiadomości

Tagi pomagają kategoryzować, filtrować i organizować powiadomienia.

Czym są tagi?

Tagi to etykiety, które dołączasz do wiadomości, aby je organizować i filtrować. Pomyśl o nich jak o hashtagach w mediach społecznościowych.

Przykłady: - server-01, server-02 - Identyfikują, który serwer wysłał alert - production, staging, development - Środowisko - critical, warning, info - Poziom ważności - database, api, frontend - Komponent - deploy, backup, monitoring - Typ aktywności

Dodawanie tagów

Przez nagłówki HTTP

Użyj nagłówka X-Tags z wartościami oddzielonymi przecinkami:

curl -d "Wdrożenie zakończone" \
  -H "X-Tags: deploy,production,success" \
  https://app.notifer.io/deployments

Wiele tagów:

curl -d "Pula połączeń bazy danych wyczerpana" \
  -H "X-Title: Ostrzeżenie bazy danych" \
  -H "X-Priority: 4" \
  -H "X-Tags: database,warning,prod-db-01,connection-pool" \
  https://app.notifer.io/alerts

Przez aplikację webową

Podczas publikowania z panelu:

  1. Kliknij "Publikuj"
  2. Wprowadź swoją wiadomość
  3. W polu "Tagi" wprowadź tagi oddzielone przecinkami
  4. Kliknij "Wyślij"

Przez API

curl -X POST https://app.notifer.io/my-topic \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: text/plain" \
  -H "X-Tags: tag1,tag2,tag3" \
  -d "Message with tags"

Zasady nazywania tagów

Poprawne tagi

  • ✅ Małe litery: production
  • ✅ Liczby: server01, v2.1.0
  • ✅ Łączniki: prod-web-01
  • ✅ Podkreślenia: backup_completed
  • ✅ Mieszane: deploy-prod-v2

Niepoprawne tagi

  • ❌ Spacje: my tag → Użyj my-tag zamiast tego
  • ❌ Znaki specjalne: server@01 → Użyj server-01
  • ❌ Unicode: 🚀deploy → Użyj deploy

Uwaga: Tagi są automatycznie konwertowane na małe litery.

Filtrowanie według tagów

W aplikacji mobilnej

Filtruj wiadomości według tagów:

  1. Otwórz temat
  2. Dotknij ikony "Filtruj"
  3. Wybierz tagi do filtrowania
  4. Będą wyświetlane tylko wiadomości z wybranymi tagami

Logika filtrowania: - Dowolny tag (LUB): Pokaż, jeśli wiadomość ma KTÓRYKOLWIEK z wybranych tagów - Wszystkie tagi (I): Pokaż, jeśli wiadomość ma WSZYSTKIE wybrane tagi

W panelu webowym

  1. Przejdź do strony tematu
  2. Kliknij pigułki tagów poniżej paska wyszukiwania
  3. Wiadomości filtrują się automatycznie

Przez API

Wyszukuj wiadomości według tagów:

curl "https://app.notifer.io/api/messages?tags=production,critical" \
  -H "Authorization: Bearer YOUR_TOKEN"

Przez SSE

Subskrybuj tylko wiadomości z określonymi tagami:

# Nie jest bezpośrednio obsługiwane w SSE
# Użyj filtrowania API lub filtrowania po stronie klienta

Subskrypcje oparte na tagach

Filtrowanie powiadomień mobilnych

W aplikacji mobilnej możesz skonfigurować filtry tagów dla każdego tematu:

  1. Otwórz temat → UstawieniaPowiadomienia
  2. W sekcji "Filtr tagów" wprowadź tagi (oddzielone przecinkami)
  3. Zapisz

Zachowanie: - Puste: Otrzymuj wszystkie wiadomości (domyślnie) - Określone tagi: Otrzymuj tylko wiadomości z tymi tagami

Przykład:

Tagi: production,critical
- ✅ Wiadomość z tagami [production, critical] → Wysłano push - ✅ Wiadomość z tagami [production, warning] → Wysłano push (ma "production") - ❌ Wiadomość z tagami [staging, critical] → Brak push (brak "production")

Popularne wzorce tagów

1. Tagi środowiska

Oddziel produkcję od staging/dev:

# Produkcja
curl -d "Wdrożenie v2.1.0 powiodło się" \
  -H "X-Tags: production,deploy,success" \
  https://app.notifer.io/deployments

# Staging
curl -d "Wdrożenie v2.1.0 powiodło się" \
  -H "X-Tags: staging,deploy,success" \
  https://app.notifer.io/deployments

Filtruj w aplikacji: Pokazuj tylko tagi production na telefonie dyżurnym.

2. Tagi serwera/usługi

Zidentyfikuj, która usługa wysłała alert:

curl -d "Użycie CPU: 95%" \
  -H "X-Tags: server,cpu,prod-web-01" \
  https://app.notifer.io/monitoring

curl -d "Użycie pamięci: 92%" \
  -H "X-Tags: server,memory,prod-api-03" \
  https://app.notifer.io/monitoring

Filtruj w aplikacji: Pokazuj tylko prod-web-01, aby debugować ten konkretny serwer.

3. Tagi ważności

Kategoryzuj według ważności:

curl -d "Użycie dysku na poziomie 85%" \
  -H "X-Tags: warning,disk,prod-db-01" \
  -H "X-Priority: 4" \
  https://app.notifer.io/alerts

curl -d "Użycie dysku na poziomie 98%" \
  -H "X-Tags: critical,disk,prod-db-01" \
  -H "X-Priority: 5" \
  https://app.notifer.io/alerts

4. Tagi typu aktywności

Grupuj według tego, co się stało:

# Wdrożenia
curl -d "..." -H "X-Tags: deploy,production" ...

# Kopie zapasowe
curl -d "..." -H "X-Tags: backup,database" ...

# Wydarzenia użytkownika
curl -d "..." -H "X-Tags: user,signup" ...

# Monitorowanie
curl -d "..." -H "X-Tags: monitoring,health-check" ...

5. Tagi komponentów

Zidentyfikuj, która część systemu:

curl -d "Czas odpowiedzi API: 2.5s" \
  -H "X-Tags: api,performance,latency" \
  https://app.notifer.io/monitoring

curl -d "Przekroczono limit czasu zapytania do bazy danych" \
  -H "X-Tags: database,timeout,query" \
  https://app.notifer.io/errors

curl -d "Kompilacja frontendu nie powiodła się" \
  -H "X-Tags: frontend,build,error" \
  https://app.notifer.io/ci

Zaawansowane strategie tagów

Tagi hierarchiczne

Użyj prefiksów dla hierarchii:

# Prefiks środowiska
env:production
env:staging
env:development

# Prefiks usługi
service:api
service:frontend
service:database

# Prefiks poziomu alertu
alert:critical
alert:warning
alert:info

Przykład:

curl -d "Usługa API nie działa" \
  -H "X-Tags: env:production,service:api,alert:critical" \
  https://app.notifer.io/alerts

Tagi wersji

Śledź wdrożenia według wersji:

curl -d "Wdrożenie zakończone" \
  -H "X-Tags: deploy,production,v2.1.0" \
  https://app.notifer.io/deployments

Wyszukaj później wszystkie wdrożenia v2.1.0.

Tagi zespołu

Kieruj powiadomienia według zespołu:

curl -d "Kompilacja frontendu nie powiodła się" \
  -H "X-Tags: frontend,team:web,build-error" \
  https://app.notifer.io/ci

Tagi czasowe

Dodaj kontekst czasowy:

curl -d "Zakończono cotygodniową kopię zapasową" \
  -H "X-Tags: backup,weekly,sunday,automated" \
  https://app.notifer.io/backups

Limity tagów

  • Maksymalna liczba tagów na wiadomość: 10 tagów
  • Maksymalna długość tagu: 50 znaków
  • Całkowita długość ciągu tagów: 200 znaków

Przekroczenie limitów spowoduje obcięcie lub błąd walidacji.

Tagi w historii wiadomości

Wyświetl wszystkie tagi

Zobacz wszystkie tagi użyte w temacie:

curl "https://app.notifer.io/api/topics/my-topic/tags" \
  -H "Authorization: Bearer YOUR_TOKEN"

Odpowiedź:

[
  "production",
  "staging",
  "deploy",
  "success",
  "error",
  "server-01",
  "server-02"
]

Statystyki tagów

Pobierz liczby wiadomości według tagu:

curl "https://app.notifer.io/api/topics/my-topic/tag-stats" \
  -H "Authorization: Bearer YOUR_TOKEN"

Odpowiedź:

{
  "production": 145,
  "staging": 67,
  "deploy": 89,
  "success": 76,
  "error": 13
}

Najlepsze praktyki

1. Bądź konsekwentny

Zdefiniuj schemat tagowania:

# team-tagging-guide.yaml
environments:
  - production
  - staging
  - development

services:
  - api
  - frontend
  - database
  - worker

severity:
  - critical
  - warning
  - info

activity:
  - deploy
  - backup
  - monitoring
  - user-event

Udostępnij to swojemu zespołowi!

2. Nie przesadzaj z tagowaniem

❌ Za dużo tagów:

curl -d "Wdrożenie powiodło się" \
  -H "X-Tags: deploy,production,success,api,v2.1.0,automated,ci,github-actions,main-branch,release" \
  ...
# 10 tagów - trudne do efektywnego filtrowania

✅ Skupione tagi:

curl -d "Wdrożenie powiodło się" \
  -H "X-Tags: deploy,production,success,v2.1.0" \
  ...
# 4 tagi - jasne i użyteczne

3. Używaj tagów + priorytet razem

Tagi do filtrowania, priorytet do pilności:

# Krytyczny alert produkcyjny
curl -d "Baza danych nie działa" \
  -H "X-Priority: 5" \
  -H "X-Tags: production,database,critical" \
  https://app.notifer.io/alerts

# Wdrożenie informacyjne na staging
curl -d "Wdrożenie powiodło się" \
  -H "X-Priority: 2" \
  -H "X-Tags: staging,deploy,success" \
  https://app.notifer.io/deploys

4. Dokumentuj swoje tagi

Utwórz TAGS.md w swoim repozytorium:

# Tagi powiadomień

## Środowiska
- `production` - Środowisko produkcyjne
- `staging` - Środowisko staging
- `development` - Środowisko deweloperskie

## Usługi
- `api` - Backend API
- `frontend` - Frontend webowy
- `database` - Baza danych PostgreSQL

## Ważność
- `critical` - Wymaga natychmiastowego działania
- `warning` - Potrzebna uwaga
- `info` - Tylko informacyjne

Przykłady z rzeczywistych sytuacji

Monitorowanie DevOps

# Alert CPU
curl -d "Użycie CPU: 95% na prod-web-01" \
  -H "X-Priority: 4" \
  -H "X-Tags: monitoring,cpu,prod-web-01,warning" \
  https://app.notifer.io/monitoring

# Miejsce na dysku
curl -d "Użycie dysku: 92% na prod-db-01" \
  -H "X-Priority: 5" \
  -H "X-Tags: monitoring,disk,prod-db-01,critical" \
  https://app.notifer.io/monitoring

# Wdrożenie
curl -d "Wdrożenie v2.1.0 zakończone w 3m 45s" \
  -H "X-Priority: 3" \
  -H "X-Tags: deploy,production,success,v2.1.0" \
  https://app.notifer.io/deployments

Aplikacja e-commerce

# Nowe zamówienie
curl -d "Nowe zamówienie #12345 od john@example.com" \
  -H "X-Tags: order,new,high-value" \
  https://app.notifer.io/orders

# Płatność nie powiodła się
curl -d "Płatność nie powiodła się dla zamówienia #12346" \
  -H "X-Priority: 4" \
  -H "X-Tags: payment,failed,order-12346" \
  https://app.notifer.io/payments

# Niski stan magazynowy
curl -d "Produkt 'MacBook Pro' niski stan: pozostało 3" \
  -H "X-Priority: 3" \
  -H "X-Tags: inventory,low-stock,macbook-pro" \
  https://app.notifer.io/inventory

Pipeline CI/CD

# Rozpoczęto kompilację
curl -d "Kompilacja #456 rozpoczęta dla commitu abc123" \
  -H "X-Tags: ci,build,started,main" \
  https://app.notifer.io/ci

# Testy nie powiodły się
curl -d "5 testów nie powiodło się w kompilacji #456" \
  -H "X-Priority: 4" \
  -H "X-Tags: ci,test,failed,build-456" \
  https://app.notifer.io/ci

# Wdrożenie zakończone
curl -d "Kompilacja #456 wdrożona na produkcję" \
  -H "X-Priority: 3" \
  -H "X-Tags: ci,deploy,production,success,build-456" \
  https://app.notifer.io/ci

Odpowiedź API

Tagi są uwzględnione w odpowiedzi wiadomości:

{
  "id": "uuid",
  "topic": "monitoring",
  "message": "Użycie CPU: 95%",
  "title": "Alert wysokiego CPU",
  "priority": 4,
  "tags": ["monitoring", "cpu", "prod-web-01", "warning"],
  "timestamp": "2025-11-22T10:30:00Z"
}

Następne kroki


Wskazówka: Zacznij prosto od 3-4 tagów, a następnie rozwijaj, gdy odkryjesz, których filtrów faktycznie używasz! 🏷️