插件的协议
有一个物理连线协议,Grafana服务器使用与后端插件通信。这是Grafana和后端插件之间的契约,为了使Grafana和后端插件能够相互通信,必须达成协议。插件协议是在此基础上构建的gRPC并且定义为协议缓冲区(又名protobuf).
我们建议后端插件不要直接根据这个协议来实现。相反,更喜欢使用Grafana插件SDK for Go它实现了这个协议,并提供了更高级别的api。
插件协议可在GitHub库.插件协议存在于Grafana插件SDK for Go因为Grafana本身使用部分SDK作为依赖。
版本控制
在插件协议的最新版本中,服务、消息和字段的添加是可以预料的,但不应该引入任何破坏性的更改。如果需要对插件协议进行突破性的更改,则会创建一个新的主要版本的插件协议,并与新的主要的Grafana版本一起发布。Grafana将在一段时间内同时支持旧的和新的插件协议,以确保现有的后端插件能够继续工作。
由于Grafana维护插件协议,插件协议试图遵循Grafana的版本控制,然而,这并不意味着当一个新的主要版本的Grafana发布时,会自动创建一个新的主要版本的插件协议。
不使用Go编写插件
如果你想用Go以外的语言写一个后端插件,那么只要语言支持就可以gRPC.然而,在Go中编写插件是推荐的,它有几个优点,在继续之前应该仔细考虑:
- 有一个官员SDK可用。
- 单个二进制文件作为编译后的输出。
- 为多个平台构建和编译非常简单。
- 静态编译的二进制文件(在大多数情况下)不需要在目标平台上安装任何额外的依赖项,使其能够“在任何地方”运行。
- 在二进制文件大小和资源使用方面占用空间小。
相关Grafana资源
开幕主题演讲:《Grafana 9》有什么新内容?
Raj Dutt, Myrle Krantz和Torkel Ödegaard揭开了Grafana 9的新内容。观看2022年GrafanaCONline开幕式主题演讲。随需应变。
使用Grafana插件统一您的数据:Datadog, Splunk, MongoDB等
在本次网络研讨会中,学习如何利用Grafana的插件生态系统访问80多个数据源,包括Datadog、Splunk、MongoDB等的插件。
从Grafana Enterprise和可观察性开始
加入Grafanabob电竞频道实验室团队,进行30分钟的演示,演示如何开始使用Grafana堆栈,这样您就可以在短短几分钟内从零到可观察性。