You need to enable JavaScript to run this app.
文档中心
日志服务

日志服务

复制全文
下载 pdf
安装与升级(Linux)
安装 LogCollector(Sidecar 方式)
复制全文
下载 pdf
安装 LogCollector(Sidecar 方式)
本文介绍如何在 Kubernetes 集群上以 Sidecar 方式安装 LogCollector。​
背景信息​
通过 Sidecar 模式安装的 LogCollector,只支持采集 LogCollector 所在 Pod 内的其他容器的文本日志。不支持采集容器标准输出,不支持采集其他 Pod 内的容器文本日志或标准输出。​
创建采集规则时,请勿启用容器日志采集。​
在安装的过程中,主要完成以下步骤:​
  1. 创建 LogCollector 的 ConfigMap。​
  1. 创建 LogCollector Sidecar。​
前提条件​
已创建 IAM 用户,获取 Access Key ID、Secret Access Key。并至少为用户授予日志服务(TLS)采集预置策略TLSLogCollectorAccess权限策略,权限详情可参考 IAM 概述。​
操作步骤​
登录需要安装 LogCollector 的 Kubernetes 集群后,参考以下步骤以 Sidecar 方式部署 LogCollector。​
1 创建 Namespace​
为 LogCollector 创建一个 Namespace。​
  1. 创建一个 YAML 文件,名为 logcollector_ns.yaml。​
  • ​
    vim logcollector_ns.yaml​
    ​
  1. 在 YAML 文件中输入如下内容。​
  • ​
    apiVersion: v1​
    kind: Namespace​
    metadata:​
    name: <namespace>​
    ​
  • 参数说明如下:​
  • ​
    参数​
    示例​
    说明​
    namespace​
    kube-system​
    命名空间名称。​
    ​
  1. 执行如下命令使 Namespace 配置生效。​
  • ​
    kubectl apply -f logcollector_ns.yaml​
    ​
2 创建 ConfigMap​
为 LogCollector 创建一个 ConfigMap。​
  1. 创建一个 YAML 文件,文件名为 logcollector_config.yaml 。​
  • ​
    vim logcollector_config.yaml​
    ​
  1. 编辑 YAML 文件,并在 YAML 文件中输入以下脚本。​
  • 根据实际情况,在脚本中配置相关参数。​
  • ​
    apiVersion: v1​
    kind: ConfigMap​
    metadata:​
    name: logcollector-config​
    namespace: <namespace>​
    data:​
    logcollector.yml: |​
    sidecar_mode: true​
    ​
    output:​
    tls:​
    region: <region>​
    endpoint: <endpoint>​
    secret_id: <secret_id>​
    secret_key: <secret_key>​
    label: <label>​
    ​
  • ​
  • 参数说明如下:​
  • ​
    变量​
    示例​
    说明​
    namespace​
    kube-system​
    命名空间。输入您在1 创建 Namespace中设置的命名空间。​
    region​
    cn-beijing​
    日志项目所在的地域。​
    日志服务地域及对应ID请参考服务入口。​
    endpoint​
    https://tls-cn-beijing.ivolces.com​
    日志服务连接域名,即服务地址。 ​
    登录火山引擎控制台后,在日志项目的详情页中查看连接域名。详细说明请参考服务入口。​
    secret_id​
    AK********​
    火山引擎主账号或子账号的 Access Key ID。​
    您可以在火山引擎控制台密钥管理页面,查看并复制 Access Key ID。​
    secret_key​
    TUdZ********​
    火山引擎主账号或子账号的 Secret Access Key。 ​
    您可以在火山引擎控制台密钥管理页面,查看并复制 Secret Access Key。​
    label​
    http_module​
    LogCollector 的 label 标识。​
    • 如果需要将此 LogCollector 加入机器标识类型的机器组中,则必须设置 label 参数。同时,您在创建机器标识类型的机器组时,需设置机器标识为该 label。详细说明,请参考机器组概述。​
    • 支持配置多个 label 标识,多个 label 标识之间通过逗号(,)分隔。​
    ​
  1. 执行以下命令,使 ConfigMap 配置生效。​
  • ​
    kubectl apply -f logcollector_config.yaml​
    ​
3 创建 Sidecar​
为 LogCollector 创建一个 Sidecar,用于采集在同一 Pod 内的其他容器的文本日志。​
  1. 创建一个 YAML 文件,名为 logcollector_sc.yaml。​
  • ​
    vim logcollector_sc.yaml​
    ​
  1. YAML 文件输入如下内容,并根据实际情况设置其中的参数。​
  • ​
    apiVersion: v1​
    kind: Pod​
    metadata:​
    name: sidecar-demo​
    namespace: <namespace>​
    spec:​
    containers:​
    - name: generator​
    image: busybox:1.28​
    args:​
    - /bin/sh​
    - -c​
    - >​
    i=0;​
    while true;​
    do​
    echo "$i: $(date)" >> /var/log/foo.log;​
    i=$((i+1));​
    sleep 1;​
    done​
    volumeMounts:​
    - name: logs-dir​
    mountPath: /var/log​
    - name: logcollector​
    image: <image>​
    imagePullPolicy: Always​
    args:​
    - /usr/local/container/logcollector/logcollectord​
    - -c​
    - /usr/local/container/logcollector/etc/logcollector.yml​
    - --httpprof​
    - 0.0.0.0:6060​
    resources:​
    limits:​
    cpu: '2'​
    memory: 2Gi​
    requests:​
    cpu: '1'​
    memory: 1Gi​
    volumeMounts:​
    - name: logcollector-config​
    mountPath: /usr/local/container/logcollector/etc​
    readOnly: true​
    - name: logcollector-data​
    mountPath: /usr/local/container/logcollector/data​
    - name: logs-dir​
    mountPath: /var/log​
    env:​
    - name: "LOG_COLLECTOR_ENV_TAGS"​
    value: "__pod_name__|__pod_ip__|__namespace__|__node_name__|__node_ip__"​
    - name: "__pod_name__"​
    valueFrom:​
    fieldRef:​
    fieldPath: metadata.name​
    - name: "__pod_ip__"​
    valueFrom:​
    fieldRef:​
    fieldPath: status.podIP​
    - name: "__namespace__"​
    valueFrom:​
    fieldRef:​
    fieldPath: metadata.namespace​
    - name: "__node_name__"​
    valueFrom:​
    fieldRef:​
    fieldPath: spec.nodeName​
    - name: "__node_ip__"​
    valueFrom:​
    fieldRef:​
    fieldPath: status.hostIP​
    - name: MAX_MEM​
    valueFrom:​
    resourceFieldRef:​
    containerName: logcollector​
    resource: limits.memory​
    - name: MAX_PROCS​
    valueFrom:​
    resourceFieldRef:​
    containerName: logcollector​
    resource: limits.cpu​
    volumes:​
    - name: logcollector-config​
    configMap:​
    defaultMode: 420​
    name: logcollector-config​
    - name: logcollector-data​
    emptyDir: { }​
    - name: logs-dir​
    emptyDir: { }​
    ​
  • ​
    变量​
    示例​
    说明​
    namespace​
    kube-system​
    命名空间。输入您在1 创建 Namespace中设置的命名空间。​
    image​
    logcollector-cn-beijing.cr.volces.com/logcollector/logcollector:latest​
    LogCollector 的镜像地址。最新版本 LogCollector 的镜像地址请参考LogCollector 镜像地址。​
    ​
  1. 执行以下命令,使配置生效,文件名请根据实际情况替换。​
  • ​
    kubectl apply -f logcollector_sc.yaml​
    ​
LogCollector 镜像地址​
日志服务在各个区域提供的最新版本 LogCollector 镜像地址如下:​
镜像地址中的 Region ID 请替换为实际环境对应地域的 ID,如华北2(北京)地域为cn-beijing。支持的地域请参考服务地址列表。​
​
logcollector-<Region ID>.cr.volces.com/logcollector/logcollector:latest​
​
​
最近更新时间:2026.08.26 14:14:29
这个页面对您有帮助吗?
有用
有用
无用
无用