Kilka miesięcy temu zamieściłem wpis, w którym pokazałem, jak przygotować prostą konfigurację ELK (Elasticsearch + Logstash + Kibana) w oparciu o środowisko Dockera. W dzisiejszym wpisie pokażę, jak rozbudować przygotowane wcześniej środowisko o integrację z Grafaną, aby móc wizualizować na niej dane.
Konfigurujemy serwisy
Najpierw ściągniemy gotowe środowisko dla ELK, które przygotowałem wcześniej i dostępne jest tutaj. Gdy pobierzemy powyższe repozytorium na swój komputer, przejdziemy do dodania serwisu z Grafaną. W tym celu otworzymy plik docker-compose.yaml i dodamy w nim konfigurację:
version: '3'
services:
# tutaj są wcześniej skonfigurowane serwisy
grafana:
image: grafana/grafana:8.3.2
ports:
- 3000:3000
Teraz wystarczy, że postawimy środowisko za pomocą komendy docker compose up -d i możemy przejść do konfigurowania źródła danych. A możemy to zrobić na dwa sposoby.
Konfigurowanie źródła danych przez interfejs web
Pierwszy z nich to wykorzystanie konfiguratora webowego. W tym celu wchodzimy na stronę http://localhost:3000 i logujemy się za pomocą domyślnych danych dostępowych: admin / admin. Następnie - po udanym zalogowaniu się do serwisu - klikamy na przycisk Settings oraz Data sources. Następnie w nowym widoku wybieramy opcję Add data source. Następnie w nowym oknie wyświetli się lista dostępnych integracji, z kategorii "Logging & document databases" wybieramy opcję Elasticsearch. Powinien pojawić się teraz formularz konfiguracyjny:
W formularzu musimy podać dane dostępowe do Elastica, tak jak na zdjęciu. Podajemy odpowiedną ścieżkę (http://elasticsearch:9200), zaznaczamy opcje Basic auth oraz With credentials. Wpisujemy login i hasło, które skonfigurowaliśmy wcześniej (w poprzednim wpisie) w pliku kibana.yaml (dla przypomnienia: elastic / password). Następnie w polu Index name wskazujemy index, w którym są nasze dane (w naszym przypadku apache_access) i wybieramy odpowiednią wersję Kibany (min. wersję 7.0).
Następnie klikamy przycisk Save and test. Jeżeli wszystko poszło dobrze, to pojawi się komunikat z informacją o sukcesie. Teraz klikamy na przycisk Explore, który pozwoli podejrzeć dane ze źródła:
Konfigurowanie źródła danych poprzez plik konfiguracyjny
Teraz uruchomimy komendę docker compose down. W ten sposób usunęliśmy dane, które zostały stworzone przez serwisy, w tym konfigurację naszego źródła. Teraz stworzymy ją za pomocą pliku konfiguracyjnego.
Konfiguracje źródeł danych są odczytywane m.in. z katalogu /etc/grafana/provisioning/datasources, dlatego zamontujemy w kontenerze odpowiedni plik modyfikując konfigurację docker-compose.yaml:
version: '3'
services:
# tutaj są wcześniej skonfigurowane serwisy
grafana:
image: grafana/grafana:8.3.2
volumes:
- "./grafana-datasources/elastic.yaml:/etc/grafana/provisioning/datasources/elastic.yaml"
ports:
- 3000:3000
Następnie dodajemy plik na maszynie hosta w katalogu ./grafana-datasources/elastic.yaml o treści:
apiVersion: 1
datasources:
- name: Elastic
type: elasticsearch
access: proxy
database: apache_access
url: http://elasticsearch:9200
basicAuth: true
withCredentials: true
basicAuthUser: elastic
basicAuthPassword: password
jsonData:
esVersion: 70
timeField: '@timestamp'
Teraz wystarczy zbudować serwisy, zalogować się do panelu Grafany i po wejściu w źródła danych zobaczymy, że zostało dodane nasze źródło, skonfigurowane w pliku.
I to już koniec tego krótkiego poradnika. Całość możesz pobrać z wyżej wymienionego repozytorium, gdzie stworzyłem nowy branch.
Oczywiście powyższa konfiguracja nie jest przygotowana pod użycie produkcyjne, ale do szybkiego startu do zabawy jak najbardziej tak.
Komentarze
Ten wpis nie posiada komentarzy.
Dodaj komentarz
Pola oznaczone gwiazdką (*) są wymagane. Komentarze są wstępnie moderowane i mogą nie pojawić się na stronie.