Coder Social home page Coder Social logo

aliyun-cms-grafana's Introduction

aliyun-cms-grafana 2.0 服务端数据源安装使用说明文档

安装依赖

2.0 服务端版本需要 Grafana 版本 7+ 
如果是旧版本 Grafana,只能安装 1.0 版本 https://github.com/aliyun/aliyun-cms-grafana/tree/v1.0

1、直接安装云监控grafana数据源

a. 直接 从release 页面 https://github.com/aliyun/aliyun-cms-grafana/releases 里面下载 aliyun_cms_grafana_datasource_v2.0.tar.gz
b. 下载到 grafan的plugin目录中,解压缩 tar -xzf aliyun_cms_grafana_datasource_v2.0.tar.gz
c. 修改 conf/defaults.ini 允许未签名插件运行
    allow_loading_unsigned_plugins = aliyun_cms_grafana_datasource
d. 重启grafana

2、源代码安装

a. 前端编译
    进入aliyun-cms-grafana目录下,执行grunt命令(需要安装nodejs和npm),则会按照Gruntfile.js里面的配置将项目里面的文件打包到指定的目录,
    当前配置是将项目文件打包到dist目录下,发布的时候打包发布整个插件目录下的文件,dist目录下一定是经源文件编译后的。
b. 服务端编译
需要安装   
    go 1.14   
    mage
    之后在目录中运行 mage -v, 会自动在 dist目录下生成 相应的二进制包。之后跟随前端代码统一发布

c. 部署
    1)按照上面顺序编译完成后,代码都会到dist下面。包括前端文件和二进制可执行文件 cms-datasource*。
    2)保证 cms-datasource* 都具有可执行权限。chmod +x cms-datasource*
    3) 在grafana 的plugin目录中,创建 aliyun_cms_grafana_datasource 目录,把编译出来的dist目录拷贝到此
    4) 修改 conf/defaults.ini 允许未签名插件运行
        allow_loading_unsigned_plugins = aliyun_cms_grafana_datasource
    5) 重启grafana

3、配置云监控grafana数据源

a.进入grafana的数据源配置页面(Data Sources),点击Add data source进入配置表单页面,填入数据源名称(Name),
    在数据源类型(Type)对应的下拉列表中选择CMS Grafana Service。
b. 配置你的AK 和阿里云ID
    如果显示Success Data source is working,说明数据源配置成功,可以开始在grafana中访问阿里云监控的数据了。
    具体可参考:https://help.aliyun.com/document_detail/109434.html?spm=a2c4g.11186623.6.565.70d048adQpRZsT

aliyun-cms-grafana's People

Contributors

chenlinping avatar yichangtian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aliyun-cms-grafana's Issues

数据延迟

配置完grafana 面板之后 ,发现数据延迟了6分钟左右,请问原因可能是?
有可以设置同步频率的地方吗

tagFilter和tag变量Bug?

Query设置:tagFilter(ecs,cn-hangzhou,value,null)
提示:
Template variables could not be initialized: undefined

Data_Sources是正常的

支持实例名称

project 获取到的都是实例 id,能否支持实例名称?或者是 name + id

当前插件无法支持正则匹配监控项

当前产品、监控项、主机组、实例di都是下拉菜单,无法支持正则匹配。
如果使用比较多产品时,选择很不好选,希望支持下这个功能,提高用户体验,也就更加容易入手

【BUG】使用变量+文本拼接成mertic内容之后,无法获取变量的值

$type为我本人自定义的一个变量,目的是为了在一张图里面可以看到集群、标准版两种不同类型Redis对应的指标信息。
在制图的时候,我在mertic里面用了${type}CpuUsage这样的用法,实际在发起请求的url里面$type没有转换成设置的变量的值,该变量可以在pannel的title里面正常展示。
测试过程中发现如果用$type-CpuUsage(变量和CpuUsage之间加了个-字符)这样发起请求的url里面是可以正常获取到$type的值的,但是metric的完整内容实际上是不能加其他字符的。截图如下:
无法获取$type值时候情况:
image
加了-字符后可以获取$type值时候情况:
image

parse param dimensions error

aliyun_cms_grafana_datasource
V2.0 Backend Plugin
@yichangtian yichangtian released this on 29 Jan · 2 commits to master since this release

改造为backend plugin模式
数据源配置增加了Aliyun UserId 字段。如果用户需要使用自监控数据和站点监控数据,配置UI上需要手动配置上阿里云Uid。


14、20210128
升级到版本2.0 并生成之前版本1.0
a. 请求方式改为服务端请求,解决客户端AK可以明文读取的安全问题

request url:
/proxy_aliyun_cms_pop/?Action=QueryMetricList&Length=1000&Project=acs_ecs_dashboard&Metric=diskusage_utilization&Period=15&Dimensions=[%7B%22instanceId%22:%22xxx%22;%22device%22:%22/dev/vdb1%22%7D]&StartTime=1614557649355&EndTime=1614561249355

response :
{"Code":"400","Message":"parse param dimensions error([{"instanceId":"xxxx")","RequestId":"4EF28925-E12E-47E5-8859-4EC01C098E77","NextToken":"","Datapoints":"","Period":"","Success":false}

c3 is not defined

granfana使用的是v5.3.4,监控RDS服务,点击Save & Test按钮 ,状态一直显示Testing, F12控制台报错 【c3 is not defined 】;
切换最新版本的grafana 6.5.1,点击Save & Test按钮页面直接报错【c3 is not defined】

无法正常展示时间跨度超过 2 天的数据

image

  1. 只能展示2天的数据
  2. 展示超过2天的数据, 不仅缺少数据, 而且图形也会有问题, 会往时间段前部偏移. 比如展示 2022-1-21 到 2022-1-27 的数据, 数据会跑到 2022-1-21 开始的2天

第一个问题完全就是 https://github.com/aliyun/aliyun-cms-grafana/releases/download/V2.1/aliyun_cms_grafana_datasource_v2.1.tar.gz 的问题. 我直接使用 SDK 接口可以正常取到 7 天, 甚至 30 天的数据.

image
(时间跨度7天最开始的数据)

image
(7天的记录数量)

有计划支持armhf 吗?

image
dist 里面没有适合 armhf 平台的binary,导致 raspbian 里面配置时会提示 ”plugin unavailable“。
谢谢。

可以修改legend的表示吗

你好,比如我显示某个rds的diskUsage, 但是展示的时候legend显示的是实例id,因为实例id没有实际意义,想用实例描述之类的有意义的信息来展示,常用数据源一般都有提供了legend或是别名或通过各类语法调整返回的字段名

no data

grafana:v7.3.4
插件:v2.0
用从账号密钥添加,添加完成之后提示“Data source is working”插件添加完成之后再dashboard选择之后没数据显示。
从账号拥有云监控只读权限。

关于tags无法取到rds数据问题

在granfa的大盘中配置variable变量函数的时候,发现调用tags(rds,cn-hangzhou,instance,null,null),返回错误信息,无法取到rds信息。 但是调用tags(ecs,cn-hangzhou,instance,null,null)是可以正常取到值。 返回的错误信息是:
SDK.ServerError
ErrorCode: BothEmpty.TagsAndResources
Recommend: https://error-center.aliyun.com/status/search?Keyword=BothEmpty.TagsAndResources&source=PopGw
RequestId: C1E67068-8AD8-4582-83AF-D73E966EAD22
Message: The specified Tags and ResourcesIds are not allow to both empty.

grafana版本:Grafana v7.3.1
cms-grafana版本为:aliyun_cms_grafana_datasource_v2.0.1.tar.gz

image
image

Data source is not working

  • 环境:
  1. grafana 6.6.2
  2. aliyun-cms-grafana v2.0
  • 问题:
    在添加数据源的时候,报Data source is not working,grafana 日志里面没任何报错

  • 启动日志无异常:

t=2021-03-29T11:34:00+0000 lvl=dbug msg="Serving plugin" logger=plugins.backend pluginId=aliyun_cms_grafana_datasource plugins="[diagnostics resource]"
t=2021-03-29T11:34:00+0000 lvl=dbug msg="plugin address" logger=plugins.backend pluginId=aliyun_cms_grafana_datasource network=unix address=/tmp/plugin572284246
t=2021-03-29T11:34:00+0000 lvl=dbug msg="using plugin" logger=plugins.backend pluginId=aliyun_cms_grafana_datasource version=2
t=2021-03-29T11:34:00+0000 lvl=dbug msg="Registering metrics collector" logger=plugins.backend pluginId=aliyun_cms_grafana_datasource
t=2021-03-29T11:34:00+0000 lvl=dbug msg="Browser initialized" logger=plugins.backend pluginId=grafana-image-renderer config="map[args:[--no-sandbox] chromeBin:/var/lib/grafana/plugins/grafana-image-renderer/chrome-linux/chrome clustering:map[maxConcurrency:5 mode:browser] deviceScaleFactor:1 dumpio:false height:500 ignoresHttpsErrors:false maxDeviceScaleFactor:3 maxHeight:3000 maxWidth:3000 mode:default verboseLogging:false width:1000]"

cms_error

  • 进程状态
bash-5.0$ ps -ef|grep cms
   23 grafana   0:00 /var/lib/grafana/plugins/aliyun_cms_grafana_datasource/dist/cms-datasource_linux_amd64
   50 grafana   0:00 grep cms

求教:模板如何添加

Templating功能 Templating功能可以方便切换查看不同机器的监控数据而不需要修改配置表单,云监控数据源支持简单的匹配模式提供Templating功能。 进入Templating新建页面,填入名称(name)、下拉选择Data source为设置的云监控数据源,在Query里面填写查询格式:dimension_values("${Metric}"), ${Metric}即为配置表单中的Metric,如:acs_ecs_dashboard/CPUUtilization。其中dimension_values()是固定格式,小括号里面是 双引号包裹的Metric字符串。当然这种格式也支持级联的格式,可以在下一级的Query语句通过$name引用上一级的Query结果,从左往右逐级 引用对应级别的Query name即可,例如针对acs_slb_dashboard/InactiveConnection这个Metric,Dimensions有三级:instanceId、 port、vip,那么可以定义以下Query语句查询各个层级的Dimension值: $instanceId:dimension_values("acs_slb_dashboard/InactiveConnection")//列出所有instanceId $port:dimension_values("acs_slb_dashboard/InactiveConnection","$instanceId")//列出所有port $vip:dimension_values("acs_slb_dashboard/InactiveConnection","$instanceId","$port")//列出所有vip 注意:引用上级别的Query时候name前需要加"$",并用双引号包裹起来。

这里添加了获取不到数据。求指导!

instanceName 能不能获取到

只能获取到ECS RDS Redis的 instanceId 看起来很不直观啊
有什么办法能获取到instanceName 吗 或者有什么其他的方式 能够在grafana界面选择实例名称

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.