背景

1,k8s属于自建。

2,需要收集应用服务容器里面指定目录的日志。

3,计划收集所有私有云php和nginx日志。

4,日志格式化处理。

思考

1,一个私有云一个Project,还是统一放入一个Project。

2,logstore 是一个日志类型一个还是一个私有云一个。

3,logtail配置多个在一个logstore,还是在一个logstore。

注:因为alibaba-log-controller 安装使用的是helm,所以集群需要有helm命令。helm就类似于yum   apt。

传送门:helm安装

一、介绍

  • 阿里云的日志服务SLS:https://sls.console.aliyun.com/lognext/profile
  • 阿里云官方文档:https://help.aliyun.com/document_detail/48869.html
  • 日志服务SLS是云原生观测与分析平台,为Log、Metric、Trace等数据提供大规模、低成本、实时的平台化服务。
  • 日志服务一站式提供数据采集、加工、查询与分析、可视化、告警、消费与投递等功能,全面提升您在研发、运维、运营、安全等场景的数字化能力。
  • 日志服务提供50多种数据接入方案。
  • 一句话就是很牛逼。

    我今天要说的是,我公司的一个实际的需求:

  • 利用阿里云的ilogtail采集工具。
  • 收集我们本地idc机房。
  • 自建k8s集群。
  • 多个日志文件。

    再说一点为啥要用阿里云的ilogtail:

  • ilogtail可以收集容器里面指定目录下的文件。
  • 我们的日志文件没有挂载到宿主机。filebeat就做不到收集容器里面的日志。
  • 我们需要收集的文件有nginx的access   error。php的info,error.
  • 日志分类。

二、安装阿里alibaba-log-controller

2.1 新建Project

  1. 登录阿里云日志服务控制台https://sls.console.aliyun.com/lognext/profile
  2. 创建一个以k8s-log-custom-开头的Project。k8s-log-custom-all-pcloud
  3. k8s-log-custom-  这个是固定开头,但是我看阿里云的安装脚本,这个可以改一下试试。

2.2 安装logtail组件

安装脚本:点击下载脚本

# 这个脚本是被我稍微改了一下,可以定义机器组,传入的最后一个参数就是定义机器组。

bash ./alicloud-log-k8s-custom-install.sh all-pcloud cn-beijing 1234567890 ak sk pcloud-hkgc

 参数说明:

参数 说明
all-pcloud

创建的Project的名称中的自定义部分。k8s-log-custom-all-pcloud,则此处填写all-pcloud

cn-beijing

Project所在的地域ID,传送门:点击

1234567890

阿里云账号ID,传送门:点击

ak ak
sk sk

pcloud-hkgc

Project的机器组名称,不同的私有云用不同的机器组区分,这个是我加的,方便区别机器组

验证:

helm  status alibaba-log-controller

查看机器组:

  • 然后去阿里云SLS服务上面的Project里面看机器组。
  • 这个机器组就是pcloud-hkgc。
  • 可以看到这个机器组下面的机器都是在线的。

2.3 收集日志

ilogtail采集器安装完毕了之后就要配置规则去收集日志了。

创建logstore:

  • logstore其实就是一个各种日志的集合。
  • 其实就是给你想要的日志分个组。
  • 很灵活,我就是按照一个私有云集群来分的。
  • 一个私有云一个logstore

创建logtail配置:

  • logtail其实就是一组收集日志的规则。
  • 收集哪个目录 文件的日志,格式化日志。
  • 并且可以设置白名单,只收集哪个容器的,或者只收集那个namespaces的。官方文档:https://help.aliyun.com/document_detail/66655.html

说一下我工作中实际的用法:

  • nginx    access     error文件各创建一个logtail配置
  • php    info    error文件各创建一个logtail配置
  • 因为我只收集zhumeng命名空间下的,所以我加上了io.kubernetes.pod.namespace:zhumeng 白名单。
  • 并且日志路径匹配那每次都会收集/var/www/html/storage/logs/schedule*.log,所以这里的需要过滤掉。采集黑名单文件路径。
  • config-operation-log  logstore不能删除。这个是logtail容器插件自己的心跳。

下面再贴一个我收集php日志的截图

三、展示

  • 我用机器组区分不同的k8s集群
  • 用logstore把集群的不同日志放到一个日志库里
  • 用logtail挂载到不同的机器组

阿里云ilogtail收集自建Kubernetes容器日志文件的更多相关文章

  1. 从运维的角度分析使用阿里云数据库RDS的必要性--你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库

    开宗明义,你不应该在阿里云上使用自建的MySQL or SQL Server数据库,对了,还有Oracle or PostgreSQL数据库. 云数据库 RDS(Relational Database ...

  2. 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件

    碰到这个问题很多次,每次碰到都是去百度找.但是,不尽人意,好在最后还是解决了,所以写下总结. 报错内容: org.apache.catalina.core.StandardContext.startI ...

  3. Serverless助力AI计算:阿里云ACK Serverless/ECI发布GPU容器实例

    ACK Serverless(Serverless Kubernetes)近期基于ECI(弹性容器实例)正式推出GPU容器实例支持,让用户以serverless的方式快速运行AI计算任务,极大降低AI ...

  4. 阿里云ECS(Ubuntu)单节点Kubernetes部署

    参考资料: kubernetes官网英文版 kubernetes官网中文版 前言 这篇文章是比较久之前写的了,无聊翻了下博客发现好几篇博文排版莫名其妙的变了... 于是修改并完善了下.当初刚玩k8s的 ...

  5. [Kubernetes]容器日志的收集与管理

    在开始这篇文章之前,首先要明确一点: Kubernetes 中对容器日志的处理方式,都叫做 cluster-level-logging ,也就是说,这个日志处理系统,与容器, Pod 以及 Node ...

  6. Python 调用阿里云 API 收集 ECS 数据

    #!/usr/bin/env python # coding: utf-8 # author: Wang XiaoQiang ''' 功能介绍: 1.调用阿里云API,收集所有区域 ECS 信息 2. ...

  7. Kubernetes容器日志收集

    日志采集方式 日志从传统方式演进到容器方式的过程就不详细讲了,可以参考一下这篇文章Docker日志收集最佳实践,由于容器的漂移.自动伸缩等特性,日志收集也就必须使用新的方式来实现,Kubernetes ...

  8. 自建Kubernetes logtail日志采集客户端安装方式

    自建Kubernetes安装方式 前提条件 Kubernetes集群版本1.8及以上. 已经安装Helm命令,版本2.6.4及以上. 安装步骤 在日志服务控制台创建一个Project,Project名 ...

  9. Delphi阿里云对象存储OSS【支持上传文件、下载文件、删除文件、创建目录、删除目录、Bucket操作等】

    作者QQ:(648437169) 点击下载➨Delphi阿里云对象存储OSS             阿里云api文档 [Delphi阿里云对象存储OSS]支持 获取Bucket列表.设置Bucket ...

随机推荐

  1. mybatis-参数如何测试

    mybatis参数非常多测试的时候定位bug一直是个问题,如果老用大部分时间来定位一个错误的参数,太浪费时间了...

  2. ASP .Net Core 在 CentOS8 ARM 下连接 SQL Server 2008 R2(Hypervisor)

    本文主要记录在 ARM 系统下无法连接SQL Server 2008 R2 的解决过程. 解决方案是使用 ODBC 的方式连接数据库,进行操作. 手上有公司的华为鲲鹏云计算 ARM 架构的 CentO ...

  3. 洛谷 P4426 - [HNOI/AHOI2018]毒瘤(虚树+dp)

    题面传送门 神仙虚树题. 首先考虑最 trival 的情况:\(m=n-1\),也就是一棵树的情况.这个我相信刚学树形 \(dp\) 的都能够秒掉罢(确信).直接设 \(dp_{i,0/1}\) 在表 ...

  4. pip 与 conda

    pip 与 conda 简介 pip 是接触 python 后最早认识的包管理工具.通过使用 pip 能够自动下载和解决不同 python 模块的依赖问题,使 python 的配置过程变得简单. 与 ...

  5. 一个画组织解剖图R包

    地址: https://github.com/jespermaag/gganatogram

  6. arm三大编译器的不同选择编译

    ARM 系列目前支持三大主流的工具链,即ARM RealView (armcc), IAR EWARM (iccarm), and GNU Compiler Collection (gcc).     ...

  7. 19.Happy Number-Leetcode

    Write an algorithm to determine if a number is "happy". A happy number is a number defined ...

  8. 学习java 7.3

    学习内容:定义类不需要加static 成员方法在多个对象时是可以共用的,而成员变量不可以共用,多个对象指向一个内存时,改变变量的值,对象所在的类中的变量都会改变 成员变量前加private,成员方法前 ...

  9. h5移动端设备像素比dpr介绍

    首先介绍一下概念 devicePixelRatio其实指的是window.devicePixelRatio window.devicePixelRatio是设备上物理像素和设备独立像素(device- ...

  10. 数据库ER图基础概念

    ER图分为实体.属性.关系三个核心部分.实体是长方形体现,而属性则是椭圆形,关系为菱形. ER图的实体(entity)即数据模型中的数据对象,例如人.学生.音乐都可以作为一个数据对象,用长方体来表示, ...