Home Operation and Maintenance Linux Operation and Maintenance How to configure container log management on Linux

How to configure container log management on Linux

Jul 07, 2023 pm 09:42 PM
Container log management linux container log configuration linux log configuration

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.

  1. 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
Copy after login
  1. Start Docker
    After the installation is complete, use the following command to start Docker service:
$ sudo systemctl start docker
Copy after login
Copy after login

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.

  1. Stop the Docker service
    Before changing the log driver, we need to stop the Docker service:
$ sudo systemctl stop docker
Copy after login
  1. 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"
  }
}
Copy after login

Among them, fluentd-address is the IP address and port of the Fluentd server.

  1. Restart Docker
    After updating the configuration, restart the Docker service for the changes to take effect:
$ sudo systemctl start docker
Copy after login
Copy after login

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.

  1. 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
Copy after login
  1. 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>
Copy after login

where host and port are the IP address and port of the Elasticsearch server.

  1. Restart Fluentd
    After updating the configuration, restart the Fluentd service for the changes to take effect:
$ sudo systemctl restart td-agent
Copy after login

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.

  1. Create Application
    Execute the following command in the terminal to create a Python application named "app.py":
$ echo 'print("Hello World!")' > app.py
Copy after login
  1. 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" ]
Copy after login
  1. Build the image
    Execute the following command in the terminal to build the Docker image:
$ docker build -t myapp .
Copy after login
  1. 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
Copy after login

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!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Two Point Museum: All Exhibits And Where To Find Them
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Tutorial on finding keywords for common Linux commands Tutorial on finding keywords for common Linux commands Mar 05, 2025 am 11:45 AM

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

Work content of Linux operation and maintenance engineers What does Linux operation and maintenance engineers do? Work content of Linux operation and maintenance engineers What does Linux operation and maintenance engineers do? Mar 05, 2025 am 11:37 AM

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

How do I use regular expressions (regex) in Linux for pattern matching? How do I use regular expressions (regex) in Linux for pattern matching? Mar 17, 2025 pm 05:25 PM

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.

How do I monitor system performance in Linux using tools like top, htop, and vmstat? How do I monitor system performance in Linux using tools like top, htop, and vmstat? Mar 17, 2025 pm 05:28 PM

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

How do I implement two-factor authentication (2FA) for SSH in Linux? How do I implement two-factor authentication (2FA) for SSH in Linux? Mar 17, 2025 pm 05:31 PM

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

How do I configure SELinux or AppArmor to enhance security in Linux? How do I configure SELinux or AppArmor to enhance security in Linux? Mar 12, 2025 pm 06:59 PM

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

How do I back up and restore a Linux system? How do I back up and restore a Linux system? Mar 12, 2025 pm 07:01 PM

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

Methods for uploading files for common Linux commands Methods for uploading files for common Linux commands Mar 05, 2025 am 11:42 AM

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,

See all articles