无法使用 grafanalib 创建仪表板

问题描述

我想使用 grafanalib 创建 grafana 仪表板来版本控制我的仪表板,但输出 json 没有复制我的查询我有 2 个面板,第一个是 BarGauge,第二个是统计面板。 这是我生成所需仪表板的代码

    from grafanalib.core import (
    Alert,AlertCondition,Dashboard,Graph,BarGauge,Stat,GreaterThan,OP_AND,OPS_FORMAT,Row,RTYPE_SUM,SECONDS_FORMAT,SHORT_FORMAT,single_y_axis,Target,TimeRange,YAxes,YAxis
)


dashboard = Dashboard(
    title="Frontend Stats",rows=[
        Row(panels=[
          BarGauge(
              title="Frontend QPS",dataSource='MysqL',targets=[
                Target(
                    expr="""select
                            candidate_jd_company_statuses.updatedAt as "time","ABC" as metric,(COUNT(CASE candidate_jd_company_statuses.candidateStatusId WHEN 70 THEN 1 ELSE NULL END) +COUNT(CASE candidate_jd_company_statuses.candidateStatusId WHEN 60 THEN 1 ELSE NULL END) + COUNT(CASE candidate_jd_company_statuses.candidateStatusId WHEN 100 THEN 1 ELSE NULL END))/COUNT(CASE candidate_jd_company_statuses.candidateStatusId WHEN 99 THEN 1 ELSE NULL END) as value
                            from candidate_jd_company_statuses
                            WHERE
                            $__timeFilter(candidate_jd_company_statuses.updatedAt);""",refId='A',datasource= 'MysqL'
                )          
            ],),Stat(
              title="Frontend latency",targets=[
                  Target(
                    expr="""select 
                            recruiter_invites.updatedAt as "time",concat(companies.companyName,'-',jobdescriptions.jobTitle) as metric,COUNT(recruiter_invites.jobdescriptionIds) as value
                            from recruiter_invites
                            left join jobdescriptions
                            on recruiter_invites.jobdescriptionIds = jobdescriptions.id
                            left join companies
                            on jobdescriptions.companyId = companies.id
                            WHERE
                              $__timeFilter(recruiter_invites.updatedAt)
                            GROUP BY concat(companies.companyName,jobdescriptions.jobTitle)
                            ORDER BY value DESC;""",datasource= 'MysqL'
                  )
                  
              ],]),],).auto_panel_ids()

如您所见,我使用的是 sql 数据源,并且查询正在运行,因为它们是直接从 Grafana 的 query-builder 复制粘贴的。 这是我导入生成的 json 后的屏幕截图: You can see that my custom query is not in the query builder

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...