开发者社区> 问答> 正文

如何在Knative上实现日志服务?

如何在Knative上实现日志服务?

展开
收起
小天使爱美 2020-03-31 16:08:24 649 0
1 条回答
写回答
取消 提交回答
  • 日志服务(Log Service,简称 LOG)是针对日志类数据的一站式服务。您无需开发就能快捷完成日志数据采集、消费、投递以及查询分析等功能。在Knative中结合日志服务,能有效提升对Serverless应用的运维能力。

    前提条件 您已经开通日志服务,请参见使用日志服务进行Kubernetes日志采集。 您已经部署Knative Service服务,请参见部署 Serving Hello World 应用。 操作步骤 为Helloworld接入日志采集。 请参见通过DaemonSet-控制台方式采集Kubernetes标准输出。 登录日志服务管理控制台。 在Project列表区域,单击创建Project创建名称为hellword的项目。详细操作请参见操作Logstore。 在helloworld项目页面的右上角,单击接入数据,弹出接入数据页面。 选择Docker标准输出,进入Docker标准输出配置页面。 指定采集模式 在选择日志空间配置中,确认日志空间信息并单击下一步。 设置创建机器组。 若您已经安装Logtail日志组件,请点击使用现有机器组。 您可以选择Kubernetes或者标准Docker采集进行日志采集。具体操作,请参见使用日志服务进行Kubernetes日志采集和采集标准Docker容器日志。

    单击确认安装完毕。 设置机器组配置。 设置数据源设置。 插件配置这里我们针对helloworld-go Service,设置采集的环境变量为:"K_SERVICE": "helloworld-go"。并且通过 processors 分割日志信息,如这里"Keys": [ "time","level", "msg" ]。插件配置示例如下。 { "inputs": [ { "detail": { "IncludeEnv": { "K_SERVICE": "helloworld-go" }, "IncludeLabel": {}, "ExcludeLabel": {} }, "type": "service_docker_stdout" } ], "processors": [ { "detail": { "KeepSource": false, "NoMatchError": true, "Keys": [ "time", "level", "msg" ], "NoKeyError": true, "Regex": "(\d+-\d+-\d+\s+\d+:\d+:\d+)\s+(\w+)\s+(.*)", "SourceKey": "content" }, "type": "processor_regex" } ] } 数据源设置完成后,单击下一步。 在查询分析配置页面,开启全文索引,设置查询字段索引属性。 单击下一步进入结束页面。 执行以下命令,访问Hello World示例服务。 此时会产生日志信息。 $ curl -H "Host: helloworld-go.default.example.com" http://112.124.XX.XX Hello Knative! 在日志库的目标日志右侧悬浮鼠标至图标日志库图标上,选择日志库图标 > 查询分析,可以看到该logstore的日志信息。 设置查询分析。 请参见实时分析简介。 为了便于查看,您可以通过列设置显示所需要的列。下图中的示例设置了level、msg和time这三列。查询logstore 总结 通过上面的介绍,可以帮助您了解如何在Knative中使用日志服务收集Serverless应用容器日志。在Knative中采用日志服务收集、分析业务日志,满足了生产级别的Serverless应用运维的诉求。

    2020-03-31 20:12:33
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Kubernetes日志采集与分析 立即下载
Ingress日志中心介绍 立即下载
Kubernetes 问题排查全景图 立即下载