k8s 使用阿里云日志服务

罐头鱼 - devopser 罐头鱼 - devopser 本文由博客端 http://www.devopser.org 主动推送
本贴最后更新于 191 天前,其中的信息可能已经渤澥桑田

需求背景

需求:
k8s 的应用日志解决方案,不同项目组的日志要采集到不同的 logstore,并且只采集指定环境的日志(dev/test/prd)

方案:

  1. logtail 使用 daemonset 方式
  2. 通过 crd 来自定义日志采集

1. 部署 helm v3

helm: https://github.com/helm/helm/releases

wget https://get.helm.sh/helm-v3.3.4-linux-amd64.tar.gz \
&& tar xf helm-v3.3.4-linux-amd64.tar.gz \
&& \cp -a linux-amd64/helm /usr/local/bin/helm \
&& helm version

2. 部署 logtail-daemonset

安装 Logtail 日志组件:https://help.aliyun.com/document_detail/157317.html

开通一个子账号专门用于管理日志服务,并创建 project k8s-log-custom-logtail,官方推荐"k8s-log-custom-"开头,咨询客服得知这个其实是可以随便自定义的

wget http://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/kubernetes/alicloud-log-k8s-custom-install.sh; \
&& chmod 744 ./alicloud-log-k8s-custom-install.sh; \
&& sh ./alicloud-log-k8s-custom-install.sh {your-project-suffix} {region-id} {aliuid} {access-key-id} {access-key-secret}

查看

helm status alibaba-log-controller

3. 配置 aliyunlog-crd

file 极简采集方式,配置多个 crd 来支持不同项目组使用不同 logstore,容器的环境变量需要包含 ENVGROUP,用于筛选需要采集日志的容器

log-crd-dev-demo.yml

apiVersion: log.alibabacloud.com/v1alpha1
kind: AliyunLogConfig
metadata:
  # 资源名,在集群内唯一
  name: log-demo
  namespace: log-crd
spec:
  # [可选]Project名称,默认为安装时设置的Project,若指定Project请确保该Project未被使用
  # project: k8s-log-custom-logtail
  # Logstore名称,不存在时自动创建
  logstore: k8s-demo
  # [可选]Shard数量,默认为2,支持1-10
  shardCount: 2
  # 详细配置
  logtailConfig:
    # 采集的数据源类型,file(文本文件)或plugin(标准输出)
    inputType: file
    # 采集配置的名称,与资源名(metadata.name)保持一致
    configName: log-demo
    inputDetail:
      # 极简模式日志,logType设置为"common_reg_log"
      logType: common_reg_log
      # 日志文件夹
      logPath: /var/log/app
      # 文件名, 支持通配符,例如log_*.log
      filePattern: "*.log"
      # 采集容器内的文件,dockerFile设置为true
      dockerFile: true
      # 只采集包含指定环境变量的容器日志,多个变量时,只要满足其中一个就会被采集
      dockerIncludeEnv:
        GROUP: demo
      # 排除包含指定变量
      dockerExcludeEnv:
        ENV: "^test|prd$"

查看

kubectl -n log-crd get aliyunlogconfigs

参考链接

K8S 日志采集最佳实操
https://www.cnblogs.com/lihanlin/p/12657680.html
Kubernetes 中 Logtail 日志采集 CRD 配置详解
https://blog.csdn.net/weixin_34406061/article/details/89700948
安装 Logtail 日志组件
https://help.aliyun.com/document_detail/157317.html
通过 DaemonSet-CRD 方式采集日志
https://help.aliyun.com/document_detail/74878.html
Logtail 配置
https://help.aliyun.com/document_detail/29058.html

  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    31 引用 • 23 回帖 • 3 关注
4 操作
fish2018 在 2020-10-10 18:50:18 更新了该帖
fish2018 在 2020-10-10 18:41:40 更新了该帖
fish2018 在 2020-10-10 18:40:56 更新了该帖
fish2018 在 2020-10-10 18:34:31 更新了该帖

广告 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...