INSERT INTO `grafana_variable` VALUES ('${myvar}');
每次你在这个区域输入
并点击离开它或使用ie tab键的数据将被插入到MySQL数据库。
mysql> select * from grafana_variable;
+---------------------+
| variable |
+---------------------+
| this is just a test |
+---------------------+
1 row in set (0.08 sec)
这种方法的缺点是可视化图块的左上角会有错误图标:
包含信息(当您将鼠标悬停在其上时): 未找到名为time或time_sec的列 由于可视化平铺的SQL查询是插入数据而不是从数据库中选择数据,因此没有time或time_sec数据。Grafana也不处理多个MySQL语句,因此无法通过在INSERT INTO ...语句之前或之后添加第二个SELECT FROM语句来修复。也许这可以通过使用子查询或类似的东西来修补,但我没有进一步调查。 由于上述错误可能是由于与黑客无关的多个原因,最好在单独的可视化平铺中使用黑客查询-您将记住的一个(甚至给予描述性面板平铺),这样您就知道该错误没有什么异常。 有关变量的更多信息,请参见grafana varialbes。还有一些有用的现有变量列表,您可以使用与myvar相同的方法创建。请参见此处的MACROS部分,例如:
$__timeFrom()
以及
$__timeTo()
具有显示时间范围的开始和结束。
权限和安全性
整个黑客工程,因为MySQL用户的grafana使用被允许执行INSERT语句,但如果grafana能够执行ANY语句,然后确保MySQL用户的grafana使用是不允许的,例如,执行语句像DROP ...或任何其他不相关的INSERT数据到grafana_variable表中的例子. 如果您使用MySQL作为显示数据的数据源,则grafana用户也应该能够执行SELECT语句。 但除此之外别无他法。 Read about MySQL user premissions
WITH UPDAT_TEMP AS (UPDATE MyTable SET MY_ROW='MY_TEXT' WHERE ID=99)
SELECT 1;
如果要更新各行,则必须放置各种临时表。
Update my_table (rows) values(...)
在格拉法娜治下对我没用。 因此:
WITH UPDAT_TEMP AS (UPDATE MyTable SET MY_ROW='MY_TEXT' WHERE ID=99),
WITH UPDAT_TEMP2 AS (UPDATE MyTable SET MY_ROW2='MY_TEXT2' WHERE ID=99)
SELECT 1;
2条答案
按热度按时间c6ubokkw1#
没有输入面板接受用户输入并将数据插入MySQL或任何其他。(Grafana v7.0)对于非常简单的输入数据,您可以使用Grafana变量作为一个黑客。
创建用于在MySQL中存储输入的示例表
在Grafana Jmeter 板中,单击设置图标:
然后单击:
添加变量:
返回控制面板,您应该在顶部看到:
创建新的可视化面板或在任何现有面板中添加另一个查询并添加SQL查询:
每次你在这个区域输入
并点击离开它或使用ie tab键的数据将被插入到MySQL数据库。
这种方法的缺点是可视化图块的左上角会有错误图标:
包含信息(当您将鼠标悬停在其上时):
未找到名为time或time_sec的列
由于可视化平铺的SQL查询是插入数据而不是从数据库中选择数据,因此没有time或time_sec数据。Grafana也不处理多个MySQL语句,因此无法通过在
INSERT INTO ...
语句之前或之后添加第二个SELECT FROM
语句来修复。也许这可以通过使用子查询或类似的东西来修补,但我没有进一步调查。由于上述错误可能是由于与黑客无关的多个原因,最好在单独的可视化平铺中使用黑客查询-您将记住的一个(甚至给予描述性面板平铺),这样您就知道该错误没有什么异常。
有关变量的更多信息,请参见grafana varialbes。还有一些有用的现有变量列表,您可以使用与
myvar
相同的方法创建。请参见此处的MACROS部分,例如:以及
具有显示时间范围的开始和结束。
权限和安全性
整个黑客工程,因为MySQL用户的grafana使用被允许执行INSERT语句,但如果grafana能够执行ANY语句,然后确保MySQL用户的grafana使用是不允许的,例如,执行语句像
DROP ...
或任何其他不相关的INSERT
数据到grafana_variable
表中的例子.如果您使用MySQL作为显示数据的数据源,则grafana用户也应该能够执行
SELECT
语句。但除此之外别无他法。
Read about MySQL user premissions
hsgswve42#
必须将更新隐藏为临时表
我正在使用postgres和Grafana。可能它是相当相似的。使用postgres你必须像这样隐藏更新:
如果要更新各行,则必须放置各种临时表。
在格拉法娜治下对我没用。
因此: