Log Collection
KubeSphere supports multiple log collection methods so that Ops teams can collect, manage, and analyze logs in a unified and flexible way.
This tutorial demonstrates how to collect logs for an example app.
Prerequisites
- You need to create a workspace, a project and a user (
project-admin
). The user must be invited to the project with the role ofadmin
at the project level. For more information, see Create Workspaces, Projects, Users and Roles. - You need to enable the KubeSphere Logging System.
Enable Log Collection
Log in to the web console of KubeSphere as
project-admin
and go to your project.From the left navigation bar, click Log Collection in Project Settings, and then click to enable the feature.
Create a Deployment
From the left navigation bar, select Workloads in Application Workloads. Under the Deployments tab, click Create.
In the dialog that appears, set a name for the Deployment (for example,
demo-deployment
) and click Next.Under Containers, click Add Container.
Enter
alpine
in the search bar to use the image (tag:latest
) as an example.Scroll down to Start Command and select the checkbox. Enter the following values for Command and Parameters respectively, click √, and then click Next.
Command
/bin/sh
Parameters
-c,if [ ! -d /data/log ];then mkdir -p /data/log;fi; while true; do date >> /data/log/app-test.log; sleep 30;done
Note
The command and parameters above mean that the date information will be exported to
app-test.log
in/data/log
every 30 seconds.On the Volume Settings tab, click to enable Collect Logs on Volumes and click Mount Volume.
On the Temporary Volume tab, enter a name for the volume (for example,
demo-disk-log-collection
) and set the access mode and path.Click √, and then click Next.
Click Create in Advanced Settings to finish the process.
Note
For more information, see Deployments.
View Logs
Under the Deployments tab, click the Deployment just created to go to its detail page.
In Resource Status, you can click to view container details, and then click of
logsidecar-container
(filebeat container) to view logs.Alternatively, you can also click in the lower-right corner and select Log Search to view stdout logs. For example, use the Pod name of the Deployment for a fuzzy query.