Bagaimana untuk mengkonfigurasi pengurusan log kontena pada Linux

王林
Lepaskan: 2023-07-07 21:42:05
asal
873 orang telah melayarinya

Cara mengkonfigurasi pengurusan log kontena pada Linux

Pengenalan:
Dengan pembangunan berterusan teknologi kontena, semakin banyak aplikasi digunakan dalam bekas. Salah satu ciri bekas ialah sifatnya yang ringan, tetapi ini juga membawa cabaran dalam pengurusan log kontena. Artikel ini akan memperkenalkan cara mengkonfigurasi pengurusan log kontena pada Linux untuk mencapai pengumpulan, penyimpanan dan analisis log.

1. Pasang Docker
Mula-mula, kita perlu memasang Docker pada Linux. Docker ialah platform kontena popular yang membantu kami membina, membungkus dan menggunakan aplikasi dengan cepat.

  1. Pasang Docker
    Laksanakan arahan berikut dalam terminal untuk memasang Docker:
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
Salin selepas log masuk
  1. Start Docker
    Setelah pemasangan selesai, gunakan arahan berikut untuk memulakan perkhidmatan Docker:
$ sudo systemctl start docker
Salin selepas log masuk
Salin selepas log masuk
,

Nowee,

Docker dan boleh mula Konfigurasikan pengurusan log kontena.


2. Konfigurasikan pemacu log kontena

Secara lalai, Docker menggunakan fail-json sebagai pemacu log lalai. Tetapi untuk persekitaran pengeluaran, kami mungkin memerlukan alat pengurusan log yang lebih berkuasa, seperti Elasticsearch, Fluentd, dsb.

  1. Hentikan perkhidmatan Docker
  2. Sebelum menukar pemacu log, kita perlu menghentikan perkhidmatan Docker terlebih dahulu:
    $ sudo systemctl stop docker
    Salin selepas log masuk

  1. Konfigurasikan pemacu log
  2. Edit fail konfigurasi Docker, ubah suai "/etc/docker/daemon.json ", dan tambah kandungan berikut :

{
  "log-driver": "fluentd",
  "log-opts": {
    "fluentd-address": "192.168.1.100:24224"
  }
}
Salin selepas log masuk

Di mana, fluentd-address ialah alamat IP dan port pelayan Fluentd.

  1. Mulakan Semula Docker
  2. Selepas mengemas kini konfigurasi, mulakan semula perkhidmatan Docker untuk perubahan berkuat kuasa:

$ sudo systemctl start docker
Salin selepas log masuk
Salin selepas log masuk

Kini, log kontena akan dikumpulkan melalui Fluentd, dan kami boleh menghantarnya ke alatan seperti Elasticsearch untuk penyimpanan dan analisis.


3. Konfigurasikan Fluentd

Untuk menghantar log kontena ke Fluentd, kami perlu melakukan konfigurasi yang sepadan pada pelayan Fluentd.

  1. Pasang Fluentd
  2. Laksanakan arahan berikut pada pelayan Fluentd untuk memasang Fluentd:
    $ curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-xenial-td-agent3.sh | sh
    Salin selepas log masuk

  1. Konfigurasi Fluentd
  2. Edit fail konfigurasi Fluentd, ubah suai fail "/etc/td-agent.confd" dan tambahkan kandungan berikut :

<source>
  @type forward
  port 24224
  bind 0.0.0.0
</source>

<match docker.**>
  @type elasticsearch
  host 192.168.1.200
  port 9200
  index_name fluentd
  type_name docker
</match>
Salin selepas log masuk

Di mana, hos dan port ialah alamat IP dan port pelayan Elasticsearch.

  1. Mulakan Semula Fluentd
  2. Selepas mengemas kini konfigurasi, mulakan semula perkhidmatan Fluentd untuk perubahan berkuat kuasa:

$ sudo systemctl restart td-agent
Salin selepas log masuk

Kini, Fluentd bersedia untuk menerima log daripada bekas.


4. Koleksi log ujian

Untuk menguji sama ada konfigurasi kami berkesan, kami mencipta aplikasi Hello World yang ringkas dan membungkusnya ke dalam imej Docker.

  1. Buat aplikasi
  2. Laksanakan arahan berikut dalam terminal untuk mencipta aplikasi Python bernama "app.py":
    $ echo 'print("Hello World!")' > app.py
    Salin selepas log masuk

  1. Buat Dockerfile
  2. Buat fail bernama "Dockerfile" dalam direktori yang sama dengan kandungan berikut :
    FROM python:3
    COPY app.py .
    CMD [ "python", "./app.py" ]
    Salin selepas log masuk

  1. Bina imej
  2. Laksanakan arahan berikut dalam terminal untuk membina imej Docker:
    $ docker build -t myapp .
    Salin selepas log masuk

  1. Jalankan bekas
  2. Jalankan arahan berikut untuk memulakan bekas dan lihat jika anda telah menerima log daripada bekas dalam Perkhidmatan Fluentd:

$ docker run myapp
Salin selepas log masuk
Jika semuanya dikonfigurasikan dengan betul, anda akan melihat mesej log yang serupa dengan "Hello World!" pada pelayan Fluentd.


Ringkasan:

Melalui langkah di atas, kami telah berjaya mengkonfigurasi pengurusan log kontena pada Linux. Menggunakan alatan seperti Fluentd dan Elasticsearch, kami boleh dengan mudah mengumpul, menyimpan dan menganalisis log daripada bekas untuk memantau dan menyelenggara aplikasi kami dengan lebih baik. Saya harap artikel ini akan membantu anda mengkonfigurasi pengurusan log kontena di Linux.

Pautan rujukan:
  • Dokumentasi rasmi Docker: https://docs.docker.com/
  • Fluentd dokumentasi rasmi: https://www.fluentd.org/
  • Dokumentasi rasmi Elasticsearch: https://www. elastic.co/guide/en/elasticsearch/reference/current/index.html
🎜

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi pengurusan log kontena pada Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan