


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.
- Install Docker
Execute the following command in the terminal to install Docker:
$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io
- Start Docker
After the installation is complete, use the following command to start Docker service:
$ 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.
- Stop the Docker service
Before changing the log driver, we need to stop the Docker service:
$ sudo systemctl stop docker
- Configure the log driver
Edit Docker configuration file, modify the "/etc/docker/daemon.json" file and add the following content:
{ "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.
- Restart Docker
After updating the configuration, restart the Docker service for the changes to take effect:
$ 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.
- Install Fluentd
Execute the following command on the Fluentd server to install Fluentd:
$ curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-xenial-td-agent3.sh | sh
- Configure Fluentd
Edit the Fluentd configuration file and modify " /etc/td-agent/td-agent.conf" file, add the following content:
<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.
- Restart Fluentd
After updating the configuration, restart the Fluentd service for the changes to take effect:
$ 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.
- Create Application
Execute the following command in the terminal to create a Python application named "app.py":
$ echo 'print("Hello World!")' > app.py
- Create Dockerfile
Create a file named "Dockerfile" in the same directory with the following content:
FROM python:3 COPY app.py . CMD [ "python", "./app.py" ]
- Build the image
Execute the following command in the terminal to build the Docker image:
$ docker build -t myapp .
- Run the container
Run the following command to start the container and see if the logs from the container are received in the Fluentd service:
$ 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:
- Docker official documentation: https://docs.docker.com/
- Fluentd official documentation: https://www.fluentd. org/
- Elasticsearch official documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

This tutorial demonstrates efficient keyword searching in Linux using the grep command family and related tools. It covers basic and advanced techniques, including regular expressions, recursive searches, and combining commands like awk, sed, and xa

This article details the multifaceted role of a Linux system administrator, encompassing system maintenance, troubleshooting, security, and collaboration. It highlights essential technical and soft skills, salary expectations, and diverse career pr

The article explains how to use regular expressions (regex) in Linux for pattern matching, file searching, and text manipulation, detailing syntax, commands, and tools like grep, sed, and awk.

The article discusses using top, htop, and vmstat for monitoring Linux system performance, detailing their unique features and customization options for effective system management.

The article provides a guide on setting up two-factor authentication (2FA) for SSH on Linux using Google Authenticator, detailing installation, configuration, and troubleshooting steps. It highlights the security benefits of 2FA, such as enhanced sec

This article compares SELinux and AppArmor, Linux kernel security modules providing mandatory access control. It details their configuration, highlighting the differences in approach (policy-based vs. profile-based) and potential performance impacts

This article details Linux system backup and restoration methods. It compares full system image backups with incremental backups, discusses optimal backup strategies (regularity, multiple locations, versioning, testing, security, rotation), and da

This article compares Linux commands (scp, sftp, rsync, ftp) for uploading files. It emphasizes security (favoring SSH-based methods) and efficiency, highlighting rsync's delta transfer capabilities for large files. The choice depends on file size,
