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.
- 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
- 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.
Hentikan perkhidmatan Docker Sebelum menukar pemacu log, kita perlu menghentikan perkhidmatan Docker terlebih dahulu:
$ sudo systemctl stop docker
Salin selepas log masuk
Konfigurasikan pemacu log 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.
Mulakan Semula Docker 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.
Pasang Fluentd 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
Konfigurasi Fluentd 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.
Mulakan Semula Fluentd 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.
Buat aplikasi Laksanakan arahan berikut dalam terminal untuk mencipta aplikasi Python bernama "app.py":
$ echo 'print("Hello World!")' > app.py
Salin selepas log masuk
Buat Dockerfile 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
Bina imej Laksanakan arahan berikut dalam terminal untuk membina imej Docker:
$ docker build -t myapp .
Salin selepas log masuk
Jalankan bekas 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!