;开发人员;构建一个插件;构建一个插件日志数据源

构建一个插件日志数据源

本指南解释了如何构建一个插件日志数据源。

数据源在Grafana既支持指标和日志数据。构建一个插件日志数据源的步骤主要是一样指标数据源。这个指导假设您已经熟悉如何建立一个数据源插件为指标。

添加日志支持您的数据源

添加日志支持现有的数据源,您需要:

  • 启用日志支持
  • 构建日志数据
  • (可选)首选的可视化提示类型添加到数据帧

启用日志支持

告诉Grafana数据源插件可以返回日志数据,通过添加“日志”:真的plugin.json文件。

{“日志”:真正的}

构建日志数据

就像对于指标数据,Grafana预计你的插件返回日志数据数据帧

返回日志数据,返回一个数据帧和至少一个时间字段和一个文本字段从数据源查询方法。

例子:

const帧= new MutableDataFrame ({refId:查询。refId、字段:[{名称:‘时间’,类型:FieldType。时间},{名称:“内容”,类型:FieldType。字符串}]});框架。添加({时间:1589189388597,内容:“用户注册”});框架。添加({时间:1589189406480,内容:“用户登录”});

这就是你需要开始返回日志数据从数据源。去试试探索或通过添加一个日志面板

恭喜,您刚刚编写你的第一个日志数据源的插件!接下来,让我们来看看几个特性,可以进一步提高用户的体验。

(可选)首选的可视化提示类型添加到数据帧

以确保Grafana识别数据日志,日志可视化自动在探索做设置meta.preferredVisualisationType“日志”在返回的数据帧。看到选择喜欢的可视化部分

例子:

const帧= new MutableDataFrame ({refId:查询。refId元:{preferredVisualisationType:‘日志’,},字段:[{名称:‘时间’,类型:FieldType。时间},{名称:“内容”,类型:FieldType。字符串}]});

将标签添加到您的日志

帮助过滤日志行,许多日志系统让你基于元数据的查询日志,或标签

您可以添加标签的日志通过设置标签属性。

例子:

const帧= new MutableDataFrame ({refId:查询。refId、字段:[{名称:‘时间’,类型:FieldType。时间},{名称:“内容”,类型:FieldType。字符串,标签:{文件名:“文件。txt '}},]});框架。添加({时间:1589189388597,内容:“用户注册”});框架。添加({时间:1589189406480,内容:“用户登录”});

从你的日志中提取检测领域

您可以添加额外的信息,每个日志行通过添加更多的数据帧。

如果一个数据帧有不止一个文本字段,然后Grafana假设第一个字段数据帧的实际量测线。被视为任何后续的文本字段检测领域

当你可以将任意数量的定制字段添加到你的数据帧,Grafana有几个专门的领域:水平id。让我们来仔细看看每一个。

水平

为每个日志设置水平行,添加一个水平字段。

例子:

const帧= new MutableDataFrame ({refId:查询。refId、字段:[{名称:‘时间’,类型:FieldType。时间},{名称:“内容”,类型:FieldType。字符串,标签:{文件名:“文件。txt}},{名称:“级别”,类型:FieldType。字符串}]});框架。添加({时间:1589189388597,内容:“用户注册”,水平:‘信息’});框架。添加({时间:1589189406480,内容:“未知错误”,水平:‘错误’});

独特的日志行

默认情况下,Grafana为彻底删除日志行提供了基本支持。您可以通过添加一个改进的支持id字段明确标识符分配给每个日志。

例子:

const帧= new MutableDataFrame ({refId:查询。refId、字段:[{名称:‘时间’,类型:FieldType。时间},{名称:“内容”,类型:FieldType。字符串,标签:{文件名:“文件。txt}},{名称:“级别”,类型:FieldType。字符串},{名称:“id”,类型:FieldType。字符串}]});框架。添加({时间:1589189388597,内容:“用户注册”,水平:‘信息’,id:‘d3b07384d113edec49eaa6238ad5ff00});框架。添加({时间:1589189406480,内容:“未知错误”,水平:‘错误’,id:‘c157a79031e1c40f85931829bc5fc552});