运维配置
本教程将指导您在 云原生微服务应用平台 (CNAP) 上获取容器应用的日志功能,并设置日志指标监控功能。
设置应用日志
概述
云原生微服务应用平台 (CNAP) 日支持配置容器应用的日志策略。用户通过配置日志策略可以采集容器的标准输出日志和容器内部应用日志,并输出到CNAP的Elasticsearch组件或外部的Elasticsearch服务中,从而对日志进行分析或者长期保存。
操作步骤
- 在应用页面创建部署组(也可根据已经存在的部署组进行修改)
- 创建部署组->部署配置:详情参考创建应用
- 点击【下一步】,到运维配置
-
点击【添加数据源】,
- 容器名称:指定需要采集日志的容器,该名称是在在部【署组配置】中设置的。
-
输入类型:指定需要采集的日志在容器中的输出形式。标准输出表示要采集容器的标准输出的日志。应用日志表示采集用户容器内部输出到指定文件的日志。选择应用日志时还需填写要采集的日志文件所在的目录(绝对目录)。点击【确定】完成日志数据源设置。点击【编辑】可以对设置的每条数据源再次编辑。
- 若要采集多个容器的日志或者采集一个容器的多个目录的日志只需要添加多个数据源即可。 注意:
- 采集容器内部应用日志时填写的目录是日志数据卷挂载到应用上的路径,应用中应该将日志写入这个目录。
- 填写的这个目录不能为系统目录,如“/”、“/var/run”等,这会导致应用异常。建议填写应用上的空目录,若目录不为空,请确保目录下无影响应用启动的文件,否则文件会被替换,导致应用启动异常,应用创建失败。
- 再需要采集日志的数据源后面点击【添加日志策略】
- 配置日志采集策略
- 输入类型:所选择数据源的输入类型
- 日志路径:需要采集的日志文件的路径,可用通配符“*”选择该目录下所有文件
- 排除路径:设置不要采集的的日志文件路径。
- 日志标签:设置通过该数据源采集的日志所需要添加的标签(目前支持5个)
- json解析:如果日志内容是json格式,选择【是】会将日志解析成json的
键值对
。 - 时间字段:json解析选择【是】时,解析时间的key。
- 时间格式:要解析时间的格式。
- 输出类型:可选择组件中心",会将日志推送到ElasticSearch组件中(需要提前创建组件)。也可以选择自定义ElasticSearch,将日志推送到自己的es服务中。自定义ElasticSearch需填写ElasticSearch的地址,形式为http(s)://IP或者域名:端口号,如果ElasticSearch设置了用户名和密码,则填写"用户名"和"密码",若没设置,则可以忽略。
-
索引:填写日志将会存储到ElasticSearch中的哪个索引中。
注意: 如果在使用自定义的ElasticSearch时,我们建议不要向6.0版本以上ElasticSearch中已经存在的索引推送数据,如果确实需要这么做,则已经存在的索引的type类型需要设置为flb_type。原因是6.0版本以上的elasticsearch的每个索引只允许type有一个值,CNAP平台默认的type为flb_type,且不支持修改。详情参见ES官方博客的issue
- 日志格式:可选择需采集的日志是单行日志还是多行日志。
- 日志样例:选择多行表达式时,日志符合行首解析形式的名字。
- 样例内容:选择多行表达式时,日志符合行首解析形式的内容。
- 行首正则表达式:选择多行表达式时,解析多行日志的行首的正则表达式。
点击【确定】完成日志采集策略配置
- 通过【组件中心】的kibana查看日志
- 点击左侧导航栏的【组件列表】选择日志推入的组件
-【访问kibana】 通过kibana可以进行日志分析与归档下载 点击【点击访问kibana】
点击左侧栏【Management】->点击【Index Patterns】
设置索引匹配模式,匹配设置的索引前缀 点击左侧栏【Discover】查看日志
设置日志指标监控
概述
云原生微服务应用平台 (CNAP) 日支持对日志数据实时分析,根据日志条目提取用户自定义的指标,并提供监控图表可视化展示和报警服务。
操作步骤
- 在 应用列表下 "创建部署组"时一直执行下一步到 "运维配置"
- 在日志数据源栏下点击"添加数据源"。参考 【设置应用日志】
-
在刚设置的数据源上选择一条,点击"设置为指标数据源"
注意! 暂时一个部署组只支持设置一个指标数据源。
- 若在"应用日志"上设置指标数据源,需要填写采集目录中哪个文件,也可以用通配符(*)表示采集多个文件。若数据源选择的标准输出则无需天上上述项。点击"确定"
- 在日志指标提取栏中点击"添加指标"。
- 添加指标需填写以下选项:
- "自定义指标名称"中填写指标名称,同一个部署组下的指标名称不能重复。
- "指标类型"可以选择Counter、Gauge、Summary、Histogram四种类型,关于指标类型详情参考指标类型 (英文)
- "描述"填写对该指标的描述,可以不填写。
-
"提取规则"填写日志的匹配规则,采用grok表达式,支持捕获字段的值。grok表达式写法参考
1.填写的规则强烈建议先在grok表达式调试器或Grok Constructor调试通过。 2.我们提供默认可使用的grok表达式参考这里,你也可以先在管理表达式中添加自定义的grok表达式,然后使用
-
点击指标标签中的"添加"可以在收集的日志添加自定义标签。可以添加多条标签。
指标标签的值可以填常量字符串、提取规则中的grok字段(go的模版变量)以及他们的组合。如:日志样例为:"2016-04-18 09:33:27 alice 1222", 提取规则为'%{DATE} %{TIME} %{USER:user}%{NUMBER:val}',此处的值可填abc或{{.user}}或abc{{.user}}def,实际标签为user:alice 或 user:abcalicedef
- "指标值"中填写从提取规则中捕获的字段,支持go的模版语法。
- "是否累加" 如果指标类型为Gauge,在是否累加中选择"是"时得到的指标会将指标值中的值累加。
- "分位数" 如果指标类型为Summary,还需填写希望观察的分位数。每个分位数大于0小于1,分位数之间用英文逗号分隔。
- "分区数" 如果指标类型为Histogram,还需填写桶(bucket)的分区数。分区数之间用英文逗号分隔。
-
点击"确定"。之后可以在日志采集策略中查看设置的日志策略。
添加多条日志采集策略时直接重复5-8步
-
点击"管理grok表达式"->"添加表达式",填写在上述指标提取中用到的自定义表达式。表达式左侧填写定义的grok表达式名称,右侧填写grok表达式pattern。grok表达式的定义参考Grok Patterns和Grok filter plugin
注意: 填写的grok表达式会覆盖默认grok表达式中的同名grok表达式!
- 点击页末的"下一步"(创建部署组)或者右上角的"确定"(修改部署组)
- 查看指标 在左侧导航栏选择【自定义监控】可以查看已经收集到的自定义指标: