Skip to content

gniemczyk/aws-dashboard-global-resource

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📊 AWS Global Resource Explorer Dashboard

🌟 O Projekcie

Ten projekt to zautomatyzowane rozwiązanie do monitorowania i wizualizacji wszystkich zasobów AWS rozproszonych po różnych regionach Twojego konta. Korzystając z AWS Resource Explorer 2 oraz CloudWatch Custom Widgets, tworzy jeden, spójny punkt widzenia na całą Twoją infrastrukturę.

🔍 Jakie problemy rozwiązuje?

  • Brak Widoczności: Trudno jest śledzić zasoby w regionach, których rzadko używasz (np. zapomniane instancje EC2 czy Buckety S3).
  • "Duchy" w Infrastrukturze: Pomaga wykryć rzadkie typy zasobów (jak konfiguracje S3 Storage Lens czy Access Points), które generują koszty lub bałagan, a są trudne do znalezienia w standardowej konsoli.
  • Rozproszenie Danych: Zamiast przełączać się między 20 regionami, widzisz wszystko w jednej, czytelnej tabeli.

📈 Co pokazuje Dashboard?

  • Dokładna Klasyfikacja: Precyzyjnie rozróżnia typy zasobów (np. s3:bucket osobno od s3:storage-lens).
  • Dystrybucja Geograficzna: Interaktywny wykres pokazujący, gdzie masz najwięcej zasobów.
  • Szybkie Statystyki: Łączna liczba zasobów, aktywnych regionów oraz unikalnych usług.

🛠️ Wstępna Konfiguracja (Co i gdzie wpisać?)

Aby automatyka mogła zadziałać, musisz podać dane w swoim repozytorium na GitHubie.
Przejdź do: Settings -> Secrets and variables -> Actions.

1. Zakładka "Secrets" (Dane wrażliwe)

Dodaj jako New repository secret:

  • AWS_ACCESS_KEY_ID: Twój klucz dostępu AWS.
  • AWS_SECRET_ACCESS_KEY: Twój tajny klucz dostępu AWS.

2. Zakładka "Variables" (Konfiguracja)

Dodaj jako New repository variable:

  • AWS_REGION: Główny region wdrożenia (np. eu-north-1). Tutaj powstanie Dashboard i funkcja Lambda.

🚀 Wdrożenie (Jak to uruchomić?)

Wdrożenie jest w pełni zautomatyzowane dzięki GitHub Actions:

  1. Pobierz kod lub zrób Forka tego repozytorium.
  2. Wykonaj git push: Każda zmiana w kodzie (lub pierwszy push po konfiguracji sekretów i zmiennych) uruchamia proces Deploy, który sam stworzy funkcję Lambda, uprawnienia IAM oraz Dashboard w Twoim AWS.

🧪 Testowanie Lokalne (Podgląd Wyglądu)

W projekcie znajduje się skrypt pomocniczy testLayout.js. Służy on do wygenerowania pliku HTML, abyś mógł lokalnie sprawdzić wygląd nowej siatki kart (Region Cards) i wprowadzić ewentualne poprawki w stylach widget/tableRenderer.js przed wypchnięciem zmian do repozytorium.

Jak wygenerować podgląd? W terminalu, w głównym folderze projektu wpisz polecenie:

node testLayout.js

Skrypt wygeneruje plik /tmp/dashboard_test.html. Otwórz go w dowolnej przeglądarce by podejrzeć jak zachowuje się widget, zanim podejmiesz decyzję o udostępnieniu go w chmurze AWS (plik nie jest wgrywany przez GitHub Actions).


📍 Gdzie znaleźć Dashboard?

Po zakończeniu wdrożenia (zakładka Actions na zielono), zaloguj się do konsoli AWS:

  1. Przejdź do usługi CloudWatch.
  2. W menu bocznym wybierz Dashboards.
  3. Kliknij w: CloudWatch-globalResourceExplorer2View.

⚠️ Ważna Uwaga (Pierwsze kroki)

Przy pierwszym wejściu zobaczysz komunikat o bezpieczeństwie. Kliknij żółty przycisk "Invoke Lambda functions" lub "Allow always" na widgecie. Bez tego kroku AWS nie pozwoli na pobranie danych z Twojej nowej Lambdy.


Autor: Grzegorz N
Data: Marzec 2026

About

Globalny dashboard AWS prezentujący wszystkie zasoby zebrane z wielu regionów, generowany automatycznie przez Lambdę i CloudWatch.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors