CodeGym /Kurslar /Docker SELF /Konteynerlərin log edilməyi

Konteynerlərin log edilməyi

Docker SELF
Səviyyə , Dərs
Mövcuddur

6.1 docker logs komandasının əsas funksiyaları

Konteynerlərin loglanması — Docker tətbiqlərinin idarə olunması və monitorinqi üçün vacib hissədir. Loglar konteynerlərin davranışını izləməyə, problemləri diaqnostika etməyə və tətbiqlərin konteynerlərin içərisində necə işlədiyini başa düşməyə imkan verir. Bu mühazirədə biz konteynerlərin loglanması üçün docker logs komandasından necə istifadə etməyi ətraflı nəzərdən keçirəcəyik.

docker logs komandasının əsas funksiyaları

docker logs komandası konteynerlərin loglarını əldə etmək və görüntüləmək üçün istifadə olunur. Bu komanda aşağıdakıları icra etməyə imkan verir:

  • Konteynerin standart çıxışını (stdout) və səhvlər üçün standart çıxışı (stderr) izləmək.
  • Logları real vaxt rejimində filtrasiya etmək və izləmək.
  • Problemlərin diaqnostikası üçün loglara baxmaq və onları analiz etmək.

7.2 docker logs komandası ilə iş

1. Konteyner loglarına baxış

Konteyner loglarına baxmaq üçün bu komandadan istifadə edin:

Terminal


docker logs <container_id_or_name>

Nümunə:

Terminal


docker logs my_container 

Bu komanda my_container konteynerinin bütün loglarını çıxaracaq.

2. Logların real vaxt rejimində izlənilməsi

Logları real vaxt rejimində izləmək üçün -f (və ya --follow) flagından istifadə edin:

Terminal


docker logs -f <container_id_or_name>

Nümunə:

Terminal

docker logs -f my_container

Bu komanda logların görünən kimi yenilənməsini təmin edir.

3. Çıxarılan sətrlərin sayının məhdudlaşdırılması

docker logs komandası ilə çıxarılan sətrlərin sayını məhdudlaşdırmaq üçün --tail flagından istifadə edin:

Terminal


docker logs --tail <number_of_lines< <container_id_or_name<

Nümunə:

Terminal


docker logs --tail 10 my_container

Bu komanda my_container konteynerinin son 10 sətrini çıxaracaq.

my_container

Logların müəyyən bir vaxtdan başlayaraq çıxarılması üçün --since flagından istifadə edin:

Terminal


docker logs --since <timestamp> <container_id_or_name>

Nümunə:

Terminal


docker logs --since 2022-01-01T00:00:00 my_container

Bu komanda my_container konteynerinin 1 yanvar 2022 tarixindən etibarən loglarını çıxaracaq.

Logların müəyyən vaxta qədər çıxarılması

Logların müəyyən vaxta qədər çıxarılması üçün --until flagından istifadə edin:

Terminal


docker logs --until <timestamp> <container_id_or_name>

Nümunə:

Terminal


docker logs --until 2022-01-02T00:00:00 my_container

Bu komanda my_container konteynerinin 2 yanvar 2022 tarixindən əvvəlki loglarını çıxaracaq.

7.3 docker logs istifadə nümunələri

Nümunə 1: Tətbiq səhvini diaqnoz etmək

Əgər tətbiqiniz konteyner daxilində gözlənilməz şəkildə səhvlə sona çatıbsa, docker logs istifadə edərək səbəbini diaqnoz edə bilərsiniz:

Terminal


docker logs my_app_container 

Loglara baxış sizə nə baş verdiyini və nə üçün tətbiqin səhvlə sona çatdığını başa düşməkdə kömək edə bilər.

Nümunə 2: Servisin işini izləmək

Veb-servisin işini real vaxt rejimində izləmək üçün -f bayrağını istifadə edin:

Terminal


docker logs -f web_service_container 

Bu komanda veb-servisə gələn bütün yeni logları görməyə imkan verəcək.

Nümunə 3: Müəyyən dövr üçün logları analiz etmək

Əgər müəyyən bir dövr üçün logları analiz etmək lazımdırsa, --since--until bayraqlarını istifadə edin:

Terminal


docker logs --since "2023-07-01" --until "2023-07-02" my_app_container 

Bu komanda 1 iyul 2023-cü il tarixindəki my_app_container konteynerinin loglarını göstərəcək.

7.4 Docker loqlama driverlərinin konfiqurasiyası

Docker müxtəlif loqlama driverlərini dəstəkləyir, hansı ki bunu kontainerlər üçün quraşdırmaq olar. Əsas loqlama driverlərinə daxildir:

  • json-file: Default olaraq fəaliyyət göstərir. Loqlar JSON formatında fayllara yadda saxlanılır.
  • syslog: Loqlar sistem jurnalına (syslog) göndərilir.
  • journald: Loqlar journald sisteminə göndərilir.
  • gelf: Loqlar GELF (Graylog Extended Log Format) protokolunu dəstəkləyən serverlərə göndərilir.
  • fluentd: Loqlar Fluentd serverinə göndərilir.

Loqlama driverinin quraşdırılması

Loqlama driverini quraşdırmaq üçün --log-driver flag-ından istifadə edin kontainerin işə salınması zamanı:

Terminal


docker run --log-driver <driver_name> <container_image>

Nümunə:

Terminal


docker run --log-driver syslog my_app_image

Bu nümunədə kontainer syslog loqlama driveri istifadə edilərək işə salınır.

Loqlama parametrlərinin konfiqurasiyası

Loqlama parametrlərini --log-opt flag-ı ilə göstərə bilərsiniz:

Terminal

        
docker run --log-driver syslog --log-opt syslog-address=udp://localhost:514 my_app_image
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION