Home > Article > Operation and Maintenance > How to configure container log management on Linux
How to configure container log management on Linux
Introduction:
With the continuous development of container technology, more and more applications are deployed in containers. One of the characteristics of containers is their lightweight nature, but this also brings challenges in container log management. This article will introduce how to configure container log management on Linux to achieve log collection, storage and analysis.
1. Install Docker
First, we need to install Docker on Linux. Docker is a popular containerization platform that helps us quickly build, package and deploy applications.
$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io
$ sudo systemctl start docker
Now that we have installed Docker, we can start configuring container log management.
2. Configure container log driver
By default, Docker uses json-file as the default log driver. But for production environments, we may need more powerful log management tools, such as Elasticsearch, Fluentd, etc.
$ sudo systemctl stop docker
{ "log-driver": "fluentd", "log-opts": { "fluentd-address": "192.168.1.100:24224" } }
Among them, fluentd-address is the IP address and port of the Fluentd server.
$ sudo systemctl start docker
Now, the container's logs will be collected through Fluentd, We can send it to tools like Elasticsearch for storage and analysis.
3. Configure Fluentd
In order to send the container's logs to Fluentd, we need to perform the corresponding configuration on the Fluentd server.
$ curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-xenial-td-agent3.sh | sh
<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>
where host and port are the IP address and port of the Elasticsearch server.
$ sudo systemctl restart td-agent
Now, Fluentd is ready to receive logs from the container.
4. Test log collection
In order to test whether our configuration is effective, we create a simple Hello World application and package it into a Docker image.
$ echo 'print("Hello World!")' > app.py
FROM python:3 COPY app.py . CMD [ "python", "./app.py" ]
$ docker build -t myapp .
$ docker run myapp
If everything is configured correctly , you will see log information similar to "Hello World!" on the Fluentd server.
Summary:
Through the above steps, we successfully configured container log management on Linux. Using tools like Fluentd and Elasticsearch, we can easily collect, store, and analyze logs from containers to better monitor and maintain our applications. I hope this article will help you configure container log management on Linux.
Reference link:
The above is the detailed content of How to configure container log management on Linux. For more information, please follow other related articles on the PHP Chinese website!