全部產品
Search
文件中心

Simple Log Service:安裝、運行、升級、卸載Logtail

更新時間:Dec 02, 2025

如果您要使用Log ServiceProject採集伺服器日誌,首先需要在目標伺服器上安裝Logtail用戶端。本文介紹如何在目標伺服器中安裝、運行,升級和卸載Logtail。

概述

Log ServiceLogtail的使用情境根據目標伺服器類型可分為以下兩類:

  • 主機情境:適用於物理伺服器、Elastic Compute Service等傳統計算環境。

  • 容器情境:基於Kubernetes容器化平台部署的業務情境。

請根據您的伺服器運行環境選擇對應的方案,不同情境的使用流程及配置要求存在差異。若混合實境世界部署,需分別完成對應環境的安裝配置。

主機情境

安裝Logtail

安裝Logtail有一鍵安裝與手動安裝兩種方式,若且唯若您使用的是ECS機器,且ECS與Project屬於同帳號同地區時,Log Service才支援一鍵安裝Logtail。否則請使用手動方式安裝Logtail。

一鍵安裝Logtail

Log Service可一鍵在ECS中安裝Logtail,藉助OOS編排能力,無需登入ECS手動執行安裝步驟。如果您使用阿里雲主帳號登入,預設擁有所有操作許可權,可直接進行相關操作。

若您使用RAM帳號登入,請聯絡主帳號授予操作OOS資源的許可權,主帳號可以通過系統許可權或自訂許可權為您建立RAM使用者及授權

  • 系統許可權:

    • AliyunOOSFullAccess:用於管理系統營運管理(OOS)的所有許可權。

    • AliyunECSFullAccess:管理ECS的許可權。

  • 自訂許可權:若對資料安全要求高,可以建立自訂權限原則實現精細化授權。如下為操作OOS資源的權限原則:

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "ecs:DescribeTagKeys",
                    "ecs:DescribeTags",
                    "ecs:DescribeInstances",
                    "ecs:DescribeInvocationResults",
                    "ecs:RunCommand",
                    "ecs:DescribeInvocations",
                    "ecs:InvokeCommand"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "oos:ListTemplates",
                    "oos:StartExecution",
                    "oos:ListExecutions",
                    "oos:GetExecutionTemplate",
                    "oos:ListExecutionLogs",
                    "oos:ListTaskExecutions"
                ],
                "Resource": "*"
            }
        ]
    }

通過以下操作步驟,您可以實現在ECS執行個體中一鍵安裝Logtail的同時,完成機器組的建立和配置:

  1. 登入Log Service控制台,單擊管理日誌資源的Project查看日誌庫列表,單擊存放日誌的Logstore名稱前的image展開,之後單擊資料接入後的image,在彈框中選擇文本日誌接入模板,單擊立即接入

    Log Service提供了正則、單行、多行等多種文本日誌接入模板,各模板之間除了日誌解析外掛程式不同外,其餘配置完全相同;同時,模板內支援添加、刪除日誌解析外掛程式。此處您可以根據採集日誌的特點選擇模板,也可以任意選擇文本日誌模板後再根據日誌特點進行外掛程式配置。
  2. 機器組配置頁面,選擇主機情境ECS安裝環境後單擊建立機器組

  3. 建立機器組面板中,選擇與Project同地區的ECS執行個體(ECS執行個體可以選擇多台),單擊安裝並建立為機器組,等待安裝完成,配置機器組名稱並單擊確定。

    如果安裝失敗或一直處於等待中,請檢查ECS地區是否與Project相同。
  4. 安裝後,您可前往image資源 > 機器組頁面,單擊建立的機器組,在機器組配置 > 機器組狀態地區,查看心跳狀態。如果心跳為OK則表示建立成功。

手動安裝Logtail

請根據表格選擇Logtail下載與安裝方式:

說明

範例程式碼中${region_id}為Log ServiceProject所在地區,請參見開服地區後替換,例如華東 1(杭州)對應的${region_id}cn-hangzhou

重要
  • 如果您使用的機器配置較低或者作業系統較為陳舊,安裝Logtail2.0可能會出現相容性問題,導致軟體無法正常運行,建議下載版本1.8.7,執行命令./logtail.sh install ${region_id} -v 1.8.7安裝。

主控件類型

架構

下載方式

安裝方式

Linux

  • 支援如下版本的Linux x86-64(64位)伺服器。

    • Alibaba Cloud Linux 2、3

    • Anolis OS 7、8

    • CentOS Linux 6、7、8

    • Debian GNU/Linux 8、9、10、11、12

    • RedHat Enterprise 6、7、8、9

    • OpenSUSE 15.1、15.2、42.3

    • SUSE Linux Enterprise Server 11、12、15

    • Ubuntu 14.04、16.04、18.04、20.04、22.04、24.0

    • 其他基於glibc 2.5及以上版本的Linux作業系統(2.0以上版本的Logtail需要glibc2.6及以上版本)

    • CPU支援sse4_2和avx指令集(2.0以上版本的Logtail)

  • 支援如下版本的Linux ARM(64位)伺服器。

    • Alibaba Cloud Linux 3.2 ARM版

    • Anolis OS 8.2 ARM版及以上版本

    • CentOS 8.4 ARM版

    • Debian 11.2、12.2 ARM版

    • Ubuntu 20.04、22.04、24.04 ARM版

    • CPU架構要求最低為ARMv8.2-A(2.0以上版本的iLogtail)

ARM

主機可連網,直接下載:

#內網下載方式
wget http://logtail-release-${region_id}.oss-${region_id}-internal.aliyuncs.com/linux64/logtail.sh -O logtail.sh; 
#公網下載方式
wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh -O logtail.sh; 

根據網路情況選擇安裝命令:

#公網方式安裝
chmod +x logtail.sh; ./logtail.sh install ${region_id}-internet
#伺服器分布在海外各地的自建機房或者來自海外雲廠商,使用公網傳輸資料可能會出現網路延遲高、傳輸不穩定等問題,推薦選擇傳輸加速傳輸資料。
chmod +x logtail.sh; ./logtail.sh install ${region_id}-acceleration
#內網方式安裝,適用於自建IDC已經打通內網的情況
chmod +x logtail.sh; ./logtail.sh install ${region_id}

x86-64

ARM

主機離線,需先在可以訪問公網的伺服器上下載安裝指令碼與安裝包:wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh; wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/aarch64/logtail-linux64.tar.gz

將安裝指令碼和安裝包拷貝至需要安裝Logtail的伺服器上後,根據網路情況選擇安裝命令:

#公網方式安裝
chmod +x logtail.sh; ./logtail.sh install-local ${region_id}-internet
#伺服器分布在海外各地的自建機房或者來自海外雲廠商,使用公網傳輸資料可能會出現網路延遲高、傳輸不穩定等問題,推薦選擇傳輸加速傳輸資料。
chmod +x logtail.sh; ./logtail.sh install-local ${region_id}-acceleration

x86-64

主機離線,需先在可以訪問公網的伺服器上下載安裝指令碼與安裝包:wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh; wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail-linux64.tar.gz

Windows

說明
  • 如果是Microsoft Windows Server 2008和Microsoft Windows 7,則支援在其X86版本或X86_64版本中安裝Logtail。

  • 如果是其他Windows作業系統,則只支援在其X86_64版本中安裝Logtail。

  • Microsoft Windows Server 2008、2012、2016、2019、2022、2025

  • Microsoft Windows 7

  • Microsoft Windows 10

  • Microsoft Windows Server Version 1909

  • Microsoft Windows Server Version 2004

32位

中國地區 :Logtail安裝包 32位

解壓安裝包,以管理員身份運行Windows PowerShell,進入logtail_installer目錄(您的安裝包的解壓目錄)。根據網路情況選擇安裝命令:

#公網方式安裝
.\logtail_installer.exe install ${region_id}-internet
#伺服器分布在海外各地的自建機房或者來自海外雲廠商,使用公網傳輸資料可能會出現網路延遲高、傳輸不穩定等問題,推薦選擇傳輸加速傳輸資料。
.\logtail_installer.exe install ${region_id}-acceleration

海外地區 :Logtail安裝包 32位

64位

中國地區 :Logtail安裝包 64位

海外地區 :Logtail安裝包 64位

大量安裝Logtail

大量安裝Logtail有如下兩種方式:

  • OOS編排:適合有許可權要求情境,並發度較高,適合大規模大量操作。具體請參考使用OOS大量安裝或升級Logtail

  • ECS雲助手功能:簡單易用,直接通過命令的方式執行臨時任務。具體操作步驟如下所示:

  1. 訪問ECS控制台-雲助手

  2. 在頁面左側頂部,選擇目標資源所在的資源群組和地區。地區

  3. ECS 雲助手頁面右上方,單擊建立/執行命令

  4. 建立執行命令面板中,命令內容輸入安裝命令(此處以公網安裝方式為例,更多安裝命令,請參見安裝Logtail)。

    image

    此處用到的安裝命令如下所示:

    #!/bin/bash
    region_id='cn-hangzhou'
    wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh -O logtail.sh
    chmod +x logtail.sh
    ./logtail.sh install ${region_id}-internet
    重要

    安裝Logtail後,如果ECS的網路由傳統網路切換至VPC,則需要更新Logtail配置。更多資訊,請參見ECS傳統網路切換為VPC後,如何更新機器組配置?

  5. 選擇執行個體地區,確認目標執行個體的Agent狀態是正常狀態(如果不是正常狀態,請參見安裝雲助手Agent,完成雲助手安裝。),選擇目標執行個體,單擊執行。然後執行狀態為成功執行。如果執行失敗,請參見查看執行結果及修複常見問題

啟動和停止Logtail

Linux

  • 啟動Logtail

    sudo /etc/init.d/ilogtaild start
  • 停止Logtail

    sudo /etc/init.d/ilogtaild stop

Windows

  1. 登入目標伺服器。

  2. 選擇開始 > 控制台 > 管理工具 > 服務

  3. 服務對話方塊中,選擇對應的服務。

    • 如果是0.x.x.x版本,選擇LogtailWorker服務。

    • 如果是1.0.0.0及以上版本,選擇LogtailDaemon服務。

  4. 右鍵選擇對應的操作,包括啟動停止重新啟動

查看Logtail狀態及版本

Linux

查看Logtail狀態

使用sudo /etc/init.d/ilogtaild status命令查看Logtail狀態。若系統返回ilogtail is running,表示已安裝Logtail。如果Logtail狀態顯示未運行,請卸載後重新安裝。

查看Logtail版本

Logtail會將版本資訊儲存在/usr/local/ilogtail/app_info.json檔案的logtail_version欄位中。您可以通過以下命令查看Logtail版本資訊。

cat /usr/local/ilogtail/app_info.json

返回結果如下所示:

{
   "logtail_version" : "0.16.30",
}

Windows

查看Logtail狀態

您可以通過查看Logtail狀態確定是否已在目標伺服器上安裝Logtail。

  1. 開啟運行視窗,輸入services.msc,開啟服務視窗。

  2. 查看LogtailDaemon服務(Logtail 1.0.0.0及以上版本)或LogtailWorker服務(Logtail 0.x.x.x版本)的運行狀態。

    如果顯示正在運行,表示已安裝Logtail。

查看Logtail版本

您可以通過安裝路徑下的app_info.json檔案中的logtail_version欄位查看Logtail版本。

例如,以下內容表示Logtail的版本號碼為1.0.0.0。

{
    "logtail_version" : "1.0.0.0"
}

升級Logtail

Linux

重要
  • 升級Logtail時,請使用upgrade命令。若使用install命令,將會執行覆蓋安裝,丟失原配置。

  • 升級過程中,Logtail會短暫停止運行,升級完成後,Logtail 將自動啟動,並註冊為開機啟動項。升級僅覆蓋必要的檔案,設定檔和Checkpoint檔案將被保留,確保升級期間日誌不會丟失。

說明

範例程式碼中${region_id}為Log ServiceProject所在地區,請參見開服地區後替換,例如華東 1(杭州)對應的${region_id}cn-hangzhou

請根據表格選擇Logtail升級方式:

作業系統

下載方式

升級方式

ARM與x86-64

主機可連網:wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh -O logtail.sh;

下載完成後執行升級命令:chmod +x logtail.sh; sudo ./logtail.sh upgrade;

ARM

主機離線,需先在可以訪問公網的伺服器上下載安裝指令碼與安裝包:

wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh; wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/aarch64/logtail-linux64.tar.gz;

將安裝指令碼和安裝包拷貝至需要升級Logtail的伺服器上後,執行如下升級命令:chmod +x logtail.sh; ./logtail.sh upgrade-local;

x86-64

主機離線,需先在可以訪問公網的伺服器上下載安裝指令碼與安裝包:wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh; wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail-linux64.tar.gz;

如果顯示以下資訊,則表示升級成功。

stop successfully
Stop logtail successfully.
Upgrading logtail files ...
Upgrade logtail files successfully.
Starting logtail ...
ilogtail is running
Upgrade logtail successfully.
{
        "UUID" : "XXXXXXXX-XXXX",
        "compiler" : "GCC 9.3.1",
        "hostname" : "xxx",
        "instance_id" : "XXXXXXXX-XXXX_172.16.0.75_1730950372",
        "ip" : "172.16.0.75",
        "logtail_version" : "2.0.8",
        "os" : "Linux; 5.10.134-13.an8.x86_64; #1 SMP Mon Jan 9 10:39:46 CST 2023; x86_64",
        "update_time" : "2024-11-07 11:32:52"
}

Windows

升級的操作和安裝Logtail的操作相同,您只需要下載並解壓最新的安裝包,然後按照步驟執行安裝。更多資訊,請參見安裝Logtail

重要
  • 升級相當於自動卸載並重新安裝,會刪除您原先安裝目錄中的內容,請您在執行升級前做好備份工作。

  • 在Windows 64位作業系統中,如果您要將32位Logtail升級到64位,需要先卸載32位的Logtail,再重新安裝64位的Logtail。

卸載Logtail

Linux

根據Simple Log ServiceProject所在地區,擷取對應的${region_id}。替換${region_id}後,執行以下命令卸載Logtail。

重要

各地區對應的${region_id}請參見開服地區,例如華東 1(杭州)對應的${region_id}cn-hangzhou

wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh -O logtail.sh; chmod +x logtail.sh; ./logtail.sh uninstall

Windows

以管理員身份運行Windows PowerShell或cmd進入logtail_installer目錄(安裝包的解壓目錄),執行如下命令。

.\logtail_installer.exe uninstall

卸載成功後,您的Logtail的安裝目錄會被刪除,但仍有部分配置被保留在C:\LogtailData目錄中,您可以根據實際情況進行手動刪除。遺留資訊包括:

  • checkpoint:存放所有Logtail外掛程式的Checkpoint資訊。只有您使用了Logtail外掛程式後,才會出現此檔案。

  • user_config.d:存放本地採集配置的目錄。

    其中以.json結尾的檔案會被視為採集配置,格式類似於/usr/local/ilogtail/user_log_config.json

  • logtail_check_point:存放Logtail主體部分的Checkpoint資訊。

  • users:存放您所配置的使用者標識檔案。

容器情境

安裝Logtail組件

當您使用的是ACK叢集且叢集與Log Service屬於同一個阿里雲帳號時,參考ACK叢集安裝方式。若使用自建叢集或ACK叢集與Log Service屬於不同的阿里雲帳號,請參考自建叢集安裝方式。

ACK叢集安裝方式

重要

此操作僅適用於專有版Kubernetes和託管版Kubernetes。

為已有的ACK叢集安裝Logtail組件

  1. 登入Container Service管理主控台

  2. 叢集列表頁面中,單擊目的地組群最右側的更多 > 營運管理 > 組件管理

  3. 日誌與監控頁簽中,找到logtail-ds,然後單擊安裝

安裝完成後,Log Service會自動產生名稱k8s-log-${your_k8s_cluster_id}的Project。

建立ACK叢集時安裝Logtail組件

  1. 登入Container Service管理主控台

  2. 在左側導覽列中,單擊叢集列表

  3. 叢集列表頁面中,單擊建立叢集

  4. 組件配置配置項頁中,選中使用Log Service

    說明

    本操作僅介紹開啟Log Service的關鍵步驟。關於建立叢集的具體操作,請參見建立ACK託管叢集

    當選中使用Log Service後,會出現建立專案(Project)的提示。關於Log Service管理日誌的組織圖,請參見專案(Project)。有以下兩種建立Project方式。

    • 使用已有Project

      您可以選擇一個已有的Project來管理採集到的容器日誌。

      安裝logtail組件

    • 建立新Project

      Log Service自動建立一個Project來管理採集到的容器日誌。其中ClusterID為您建立的Kubernetes叢集的唯一標識。

      安裝logtail組件

安裝完成後,在選擇的Project下自動建立如下Log Service資源。

資源類型

資源名稱

作用

樣本

機器組

k8s-group-${your_k8s_cluster_id}

logtail-daemonset的機器組,主要用於日誌採集情境。

k8s-group-my-cluster-123

k8s-group-${your_k8s_cluster_id}-statefulset

logtail-statefulset的機器組,主要用於指標採集情境。

k8s-group-my-cluster-123-statefulset

k8s-group-${your_k8s_cluster_id}-singleton

單一實例機器組,主要用於部分單一實例採集配置。

k8s-group-my-cluster-123-singleton

Logstore

config-operation-log

用於儲存Logtail組件中的alibaba-log-controller日誌。建議不要在此Logstore下建立採集配置。該Logstore可以刪除,刪除後不會再採集alibaba-log-controller的作業記錄。該Logstore的收費標準和普通的Logstore收費標準是一致的,具體請參見按寫入資料量計費模式計費項目

config-operation-log

自建叢集安裝方式

  1. 登入Log Service控制台,建立Project。具體操作,請參見管理Project。建議建立一個以k8s-log-custom-開頭的Project,例如k8s-log-custom-sd89ehdq。

  2. 登入您的Kubernetes叢集,根據地區選擇命令下載Logtail及其他相依元件。

    #中國地區
    wget https://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/kubernetes/0.5.5/alibaba-cloud-log-all.tgz; tar xvf alibaba-cloud-log-all.tgz; chmod 744 ./alibaba-cloud-log-all/k8s-custom-install.sh
    #海外地區
    wget https://logtail-release-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/kubernetes/0.5.5/alibaba-cloud-log-all.tgz; tar xvf alibaba-cloud-log-all.tgz; chmod 744 ./alibaba-cloud-log-all/k8s-custom-install.sh
  3. 修改設定檔./alibaba-cloud-log-all/values.yaml

    參數說明

    values.yaml

    # ===================== 必需要補充的內容 =====================
    # 目標Project名稱。
    SlsProjectName: 
    # Project所屬地區。
    Region: 
    # Project所屬阿里雲帳號ID,需使用雙引號("")包裹。
    AliUid: "11099"
    # 阿里雲帳號或RAM使用者的AccessKey ID和AccessKey Secret,需具備AliyunLogFullAccess許可權。
    AccessKeyID: 
    AccessKeySercret: 
    # 自訂叢集ID,命名只支援大小寫,數字,短劃線(-)。
    ClusterID: 
    # ==========================================================
    # 是否開啟指標採集相關組件,選擇性參數: true、false, 預設true。
    SlsMonitoring: true
    # 網路類型,選擇性參數:Internet、Intranet,預設使用Internet。
    Net: Internet
    # 容器運行時是否為containerd,選擇性參數: true, false, 預設false。
    SLS_CONTAINERD_USED: true

    SlsProjectName

    Project名稱,Logtail將上傳日誌到該Project中。

    Region

    您的Project所在的地區ID。例如華東1(杭州)的地區ID為cn-hangzhou。更多資訊,請參見開服地區

    AliUid

    Project所屬帳號的阿里雲主帳號ID,需使用雙引號包裹(""),例如AliUid: "11**99"。如何擷取,請參見擷取Log Service所在的阿里雲帳號(主帳號)ID

    AccessKeyID  

    Project所屬帳號的阿里雲帳號的AccessKey ID。推薦使用RAM使用者的AccessKey,並授予RAM使用者AliyunLogFullAccess許可權。相關操作,請參見建立RAM使用者及授權

    AccessKeySercret

    Project所屬帳號的阿里雲帳號的AccessKey Secret。推薦使用RAM使用者的AccessKey並授予RAM使用者AliyunLogFullAccess許可權。相關操作,請參見建立RAM使用者及授權

    ClusterID

    自訂叢集ID,命名只支援大小寫字母、數字、短劃線(-)。該參數對應後面操作中的${your_k8s_cluster_id}。不同的Kubernetes叢集,請勿配置相同的叢集ID。

    SlsMonitoring

    是否開啟叢集指標資料擷取的開關,可選項:

    • true(預設值):開啟。

    • false:不開啟。

    Net

    Logtail傳輸資料時的網路類型,若您的叢集未打通阿里雲內網訪問,請使用公網。可選項:

    • Internet(預設值):公網。

    • Intranet:內網。

    SLS_CONTAINERD_USED

    設定容器運行時是否為containerd,可選項:

    • true:是。

    • false(預設值):否。

    在使用containerd作為容器運行時的自建Kubernetes叢集中,若未開啟相關參數,可能導致日誌無法被Logtail採集。

  4. 安裝Logtail及其他相依元件。

    說明

    您可以執行echo "$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m)"命令查詢您主機的作業系統-架構k8s-custom-install.sh支援的作業系統-架構有:linux-386、linux-amd64、linux-arm、linux-arm64、linux-ppc64le、linux-s390x和darwin-amd64。如果您有其他使用需求,請提工單申請。

    bash k8s-custom-install.sh; kubectl apply -R -f result

安裝完成後,在該Project下自動建立如下Log Service資源。若建立不成功請仔細核對修改的values.yaml

資源類型

資源名稱

作用

樣本

機器組

k8s-group-${your_k8s_cluster_id}

logtail-daemonset的機器組,主要用於日誌採集情境。

k8s-group-my-cluster-123

k8s-group-${your_k8s_cluster_id}-statefulset

logtail-statefulset的機器組,主要用於指標採集情境。

k8s-group-my-cluster-123-statefulset

k8s-group-${your_k8s_cluster_id}-singleton

單一實例機器組,主要用於部分單一實例採集配置。

k8s-group-my-cluster-123-singleton

Logstore

config-operation-log

用於儲存Logtail組件中的alibaba-log-controller日誌。建議不要在此Logstore下建立採集配置。該Logstore可以刪除,刪除後不會再採集alibaba-log-controller的作業記錄。該Logstore的收費標準和普通的Logstore收費標準是一致的,具體請參見按寫入資料量計費模式計費項目

查看Logtail狀態、版本及IP地址

  • 運行如下命令,查看Logtail狀態。

    kubectl get po -n kube-system | grep logtail

    返回結果如下:

    NAME            READY     STATUS    RESTARTS   AGE
    logtail-ds-gb92k   1/1       Running   0          2h
    logtail-ds-wm7lw   1/1       Running   0          4d
  • 運行如下命令,查看Logtail的版本號碼、IP地址等資訊。

    kubectl exec logtail-ds-gb92k -n kube-system cat /usr/local/ilogtail/app_info.json

    返回結果如下:

    {
       "hostname" : "logtail-ds-gb92k",
       "instance_id" : "0EBB2B0E-0A3B-11E8-B0CE-0A58AC140402_172.20.4.2_1517810940",
       "ip" : "192.0.2.0",
       "logtail_version" : "0.16.2",
       "os" : "Linux; 3.10.0-693.2.2.el7.x86_64; #1 SMP Tue Sep 12 22:26:13 UTC 2017; x86_64",
       "update_time" : "2021-02-05 06:09:01"
    }

升級與復原Logtail

  1. 在升級前,您需要對Logtail組件相關描述檔案進行備份。

    重要

    在升級前如果已存在明顯的採集延遲,執行 Logtail 升級操作可能會導致少量日誌丟失。

    kubectl get ds -n kube-system logtail-ds -o yaml > logtail-ds.yaml
    kubectl get deployment -n kube-system alibaba-log-controller -o yaml > alibaba-log-controller.yaml
    kubectl get crd aliyunlogconfigs.log.alibabacloud.com -o yaml > aliyunlogconfigs-crd.yaml
    kubectl get cm -n kube-system alibaba-log-configuration -o yaml > alibaba-log-configuration.yaml
    kubectl get aliyunlogconfigs --all-namespaces -o yaml > aliyunlogconfigs-cr.yaml
  2. 請根據叢集情況選擇組件升級方式,當您使用的是ACK叢集且叢集與Log Service屬於同一個阿里雲帳號時,參考ACK叢集升級方式。若使用自建叢集或ACK叢集與Log Service屬於不同的阿里雲帳號,請參考自建叢集升級方式。

    ACK叢集升級方式

    一般情況下,推薦您使用自動升級方式。如果您在logtail-ds的DaemonSet中或者在alibaba-log-controller的Deployment中修改過參數(例如環境變數),那麼為了使您的修改不被重設,請使用手動升級方式。

    自動升級

    重要

    自動升級會重設您在logtail-ds和alibaba-log-controller中手動修改的配置。

    1. 登入Container Service管理主控台

    2. 叢集列表頁面中,單擊目的地組群最右側的更多 > 營運管理 > 組件管理

    3. 日誌與監控頁簽中,找到logtail-ds,然後單擊升級

    4. 升級組件對話方塊中,單擊確定

      重要

      如果無法升級到最新版本的Logtail,說明您的Kubernetes叢集版本太舊。請先升級Kubernetes叢集或者使用手動升級方式。

      執行升級操作後,您可以在Container Service管理主控台上查看logtail-ds pod狀態。如果logtail-ds pod狀態都為Running,表示升級成功。

    手動升級

    重要

    手動升級不會根據最新版本的Logtail組件更新您的配置,部分特性最佳化可能不可用。

    手動升級包括升級logtail-ds和alibaba-log-controller。一般情況下,您只需要升級logtail-ds即可擷取新版本Logtail提供的採集能力。當您需要擷取新版Logtail CRD方式的採集能力時,需要升級alibaba-log-controller。以下步驟以logtail-ds為例。

    1. 登入Container Service管理主控台

    2. 叢集列表頁面中,單擊目的地組群最右側的更多 > 營運管理 > 組件管理

    3. 選擇工作負載 > 守護進程集

      說明

      當您要升級alibaba-log-controller時,請選擇工作負載 > 無狀態,然後在kube-system命名空間下,找到alibaba-log-controller,完成升級。

    4. 選擇命名空間kube-system,然後單擊logtail-ds對應的編輯

    5. 檢查如下環境變數是否存在。

      如果不存在ALIYUN_LOGTAIL_CONFIG、ALIYUN_LOGTAIL_USER_ID、ALIYUN_LOGTAIL_USER_DEFINED_ID這三個環境變數,可能是因為您的Logtail版本太舊,您可以提交工單諮詢升級方法。

    6. 單擊鏡像Tag對應的選擇鏡像Tag

    7. 鏡像Tag對話方塊中,單擊最新版本,然後單擊確定

    8. 在頁面右側,單擊更新

      執行升級操作後,您可以在Container Service管理主控台上查看logtail-ds pod狀態。如果logtail-ds pod狀態都為Running,表示升級成功。

    自建叢集升級方式

    說明

    建議通過安裝最新Logtail組件進行更新,如果只更新部分組件(如logtail-ds、alibaba-log-controller)的鏡像版本號碼可能導致升級失敗。

    重新安裝Logtail組件,即可完成自動升級。具體操作,請參見安裝Logtail組件

  3. 如果您要復原到某個版本,可參考如下步驟。

    說明

    升級前備份的YAML檔案中包含不少冗餘資訊,需要您手動刪除後,才能用於恢複Logtail配置。您可以使用kubectl-neat工具完成此操作。需要刪除的欄位為metadata.creationTimestamp、metadata.generation、metadata.resourceVersion、metadata.uid和status。

    1. 根據業務需求判斷升級之後的新Logtail配置是否需要保留。

      如果不需要保留,則可以刪除升級之後的新Logtail配置。

    2. 刪除備份檔案中的冗餘資訊。

      cat logtail-ds.yaml | kubectl-neat > neat-logtail-ds.yaml
      cat alibaba-log-controller.yaml | kubectl-neat > neat-alibaba-log-controller.yaml
      cat aliyunlogconfigs-crd.yaml | kubectl-neat > neat-aliyunlogconfigs-crd.yaml
      cat alibaba-log-configuration.yaml | kubectl-neat > neat-alibaba-log-configuration.yaml
      cat aliyunlogconfigs-cr.yaml | kubectl-neat > neat-aliyunlogconfigs-cr.yaml
    3. 應用精簡後的備份檔案,恢複Logtail配置。

      kubectl apply -f neat-logtail-ds.yaml
      kubectl apply -f neat-alibaba-log-controller.yaml
      kubectl apply -f neat-aliyunlogconfigs-crd.yaml
      kubectl apply -f neat-alibaba-log-configuration.yaml
      kubectl apply -f neat-aliyunlogconfigs-cr.yaml

卸載Logtail

請根據叢集情況選擇組件卸載方式,當您使用的是ACK叢集且叢集與Log Service屬於同一個阿里雲帳號時,參考ACK叢集卸載方式。若使用自建叢集或ACK叢集與Log Service屬於不同的阿里雲帳號,請參考自建叢集卸載方式。

ACK叢集卸載方式

  1. 登入Container Service管理主控台

  2. 叢集列表頁面中,單擊目的地組群最右側的更多 > 營運管理 > 組件管理

  3. 日誌與監控頁簽中,找到logtail-ds,然後單擊卸載

  4. 根據介面提示單擊確定,完成卸載。

自建叢集卸載方式

如何卸載已安裝的logtail-ds、alibaba-log-controller等組件?

執行kubectl delete -R -f result卸載已安裝的logtail-ds、alibaba-log-controller等組件。

重要

該命令會遞迴刪除result目錄中所有資源,若目錄下存在其他資源請謹慎使用。

叢集常見問題

多個Kubernetes叢集如何共用一個Log ServiceProject?

如果您希望將多個叢集中的容器日誌採集到同一個Log ServiceProject中,安裝其他叢集Log Service組件時,將安裝參數中的設定與您第一次安裝叢集Log Service組件時保持一致。

如何查看Logtail日誌?

Logtail日誌儲存在Logtail容器中的/usr/local/ilogtail/目錄中,檔案名稱為ilogtail.LOGlogtail_plugin.LOG

Logtail容器中的標準輸出並不具備參考意義,請忽略以下標準輸出內容。

start umount useless mount points, /shm$|/merged$|/mqueue$
umount: /logtail_host/var/lib/docker/overlay2/3fd0043af174cb0273c3c7869500fbe2bdb95d13b1e110172ef57fe840c82155/merged: must be superuser to unmount
umount: /logtail_host/var/lib/docker/overlay2/d5b10aa19399992755de1f85d25009528daa749c1bf8c16edff44beab6e69718/merged: must be superuser to unmount
umount: /logtail_host/var/lib/docker/overlay2/5c3125daddacedec29df72ad0c52fac800cd56c6e880dc4e8a640b1e16c22dbe/merged: must be superuser to unmount
......
xargs: umount: exited with status 255; aborting
umount done
start logtail
ilogtail is running
logtail status:
ilogtail is running

如何查看Kubernetes叢集中Log Service相關組件的狀態?

執行如下命令進行查看。

kubectl get deploy alibaba-log-controller -n kube-system
kubectl get ds logtail-ds -n kube-system

alibaba-log-controller啟動失敗,該怎麼處理?

請確認您是否按照以下方式進行安裝。

  • 在Kubernetes叢集的Master節點中執行安裝命令。

  • 安裝命令參數中輸入的是您的叢集ID。

如果由於以上問題安裝失敗,請使用kubectl delete -f deploy命令刪除已產生的安裝模板並重新執行安裝命令。

如何查看Kubernetes叢集中Logtail-ds DaemonSet狀態?

執行kubectl get ds -n kube-system命令查看Logtail-ds DaemonSet狀態。

說明

Logtail容器所在的命名空間,預設為kube-system。

如何查看Logtail的作業記錄?

Logtail作業記錄儲存在/usr/local/ilogtail/目錄下,檔案名稱為ilogtail.LOG,輪轉檔案會壓縮儲存為ilogtail.LOG.x.gz。例如執行如下命令查看日誌。

kubectl exec logtail-ds-gb92k -n kube-system tail /usr/local/ilogtail/ilogtail.LOG

返回結果如下:

[2018-02-05 06:09:02.168693] [INFO] [9] [build/release64/sls/ilogtail/LogtailPlugin.cpp:104] logtail plugin Resume:start
[2018-02-05 06:09:02.168807] [INFO] [9] [build/release64/sls/ilogtail/LogtailPlugin.cpp:106] logtail plugin Resume:success
[2018-02-05 06:09:02.168822] [INFO] [9] [build/release64/sls/ilogtail/EventDispatcher.cpp:369] start add existed check point events, size:0
[2018-02-05 06:09:02.168827] [INFO] [9] [build/release64/sls/ilogtail/EventDispatcher.cpp:511] add existed check point events, size:0 cache size:0 event size:0 success count:0

如何重啟某個Pod中的Logtail?

  1. 停止Logtail。

    其中logtail-ds-gb92k表示容器名,kube-system表示命名空間,請根據實際情況替換。

    kubectl exec logtail-ds-gb92k -n kube-system /etc/init.d/ilogtaild stop
  2. 返回如下結果表示停止成功。

    kill process Name: ilogtail pid: 7
    kill process Name: ilogtail pid: 9
    stop success
  3. 啟動Logtail。

    其中logtail-ds-gb92k表示容器名,kube-system表示命名空間,請根據實際情況替換。

    kubectl exec logtail-ds-gb92k -n kube-system /etc/init.d/ilogtaild start
  4. 返回如下結果表示啟動成功。

    ilogtail is running