瀏覽代碼

docs: added initial mysql docs

Torkel Ödegaard 8 年之前
父節點
當前提交
2c5563442f
共有 1 個文件被更改,包括 94 次插入0 次删除
  1. 94 0
      docs/sources/features/datasources/mysql.md

+ 94 - 0
docs/sources/features/datasources/mysql.md

@@ -0,0 +1,94 @@
++++
+title = "Using MySQL in Grafana"
+description = "Guide for using MySQL in Grafana"
+keywords = ["grafana", "mysql", "guide"]
+type = "docs"
+[menu.docs]
+name = "MySQL"
+parent = "datasources"
+weight = 7
++++
+
+# Using MySQL in Grafana
+
+> Only available in Grafana v4.3+. This data source is not ready for
+> production use, currently in development (alpha state).
+
+Grafana ships with a built-in MySQL data source plugin that allow you to query any visualize
+data from MySQL compatible database.
+
+## Macros
+
+To simplify syntax and to allow for dynamic parts, like date range filters, the query can contain macros.
+
+Macro example | Description
+------------ | -------------
+*__timeFilter(dateColumn)* | Will be replaced by a time range filter using the specified column name. For example, *dateColumn > FROM_UNIXTIME(1494410783) AND dateColumn < FROM_UNIXTIME(1494497183)*
+
+We plan to add many more macros. If you have suggestions for what macros you would like to see, please
+[open an issue](https://github.com/grafana/grafana) in our GitHub repo.
+
+The query editor has a link named `Generated SQL` that show up after a query as been executed, while in panel edit mode. Click
+on it and it will expand and show the raw interpolated SQL string that was executed.
+
+## Table queries
+
+If the `Format as` query option is set to `Table` then you can basically do any type of SQL query. The table panel will automatically show the results of whatever columns & rows your query returns.
+
+Query editor with example query:
+
+![](/img/docs/v43/mysql_table_query.png)
+
+
+The query:
+
+```sql
+SELECT
+  title as 'Title',
+  user.login as 'Created By' ,
+  dashboard.created as 'Created On'
+ FROM dashboard
+INNER JOIN user on user.id = dashboard.created_by
+WHERE $__timeFilter(dashboard.created)
+```
+
+You can control the name of the Table panel columns by using regular `as ` SQL column selection syntax.
+
+The resulting table panel:
+
+![](/img/docs/v43/mysql_table.png)
+
+### Time series queries
+
+If you set `Format as` to `Time series`, for use in Graph panel for example, then there are some requirements for
+what your query returns.
+
+- Must be a column named `time_sec` representing a unix epoch in seconds.
+- Must be a column named `value` representing the time series value.
+- Must be a column named `metric` representing the time series name.
+
+Example:
+
+```sql
+SELECT
+  min(UNIX_TIMESTAMP(time_date_time)) as time_sec,
+  max(value_double) as value,
+  metric1 as metric
+FROM test_data
+WHERE   $__timeFilter(time_date_time)
+GROUP BY metric1, UNIX_TIMESTAMP(time_date_time) DIV 300
+ORDER BY time_sec asc
+```
+
+Currently, there is no support for a dynamic group by time based on time range & panel width.
+This is something we plan to add.
+
+## Templating
+
+You can use variables in your queries but there are currently no support for defining `Query` variables
+that target a MySQL data source.
+
+## Alerting
+
+Time series queries should work in alerting conditions. Table formatted queries is not yet supported in alert rule
+conditions.