mirror of
https://github.com/grafana/grafana.git
synced 2025-02-13 09:05:45 -06:00
71 lines
2.4 KiB
TypeScript
71 lines
2.4 KiB
TypeScript
|
import { Alert } from '@grafana/ui';
|
||
|
import React from 'react';
|
||
|
|
||
|
type Props = {
|
||
|
onDismiss: () => void;
|
||
|
};
|
||
|
|
||
|
export default function MappingsHelp(props: Props): JSX.Element {
|
||
|
return (
|
||
|
<Alert severity="info" title="How to map Graphite metrics to labels?" onRemove={props.onDismiss}>
|
||
|
<p>Mappings are currently supported only between Graphite and Loki queries.</p>
|
||
|
<p>
|
||
|
When you switch your data source from Graphite to Loki, your queries are mapped according to the mappings
|
||
|
defined in the example below. To define a mapping, write the full path of the metric and replace nodes you want
|
||
|
to map to label with the label name in parentheses. The value of the label is extracted from your Graphite query
|
||
|
when you switch data sources.
|
||
|
</p>
|
||
|
<p>
|
||
|
All tags are automatically mapped to labels regardless of the mapping configuration. Graphite matching patterns
|
||
|
(using {}) are converted to Loki's regular expressions matching patterns. When you use functions
|
||
|
in your queries, the metrics, and tags are extracted to match them with defined mappings.
|
||
|
</p>
|
||
|
<p>
|
||
|
Example: for a mapping = <code>servers.(cluster).(server).*</code>:
|
||
|
</p>
|
||
|
<table>
|
||
|
<thead>
|
||
|
<tr>
|
||
|
<th>Graphite query</th>
|
||
|
<th>Mapped to Loki query</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<code>
|
||
|
alias(servers.<u>west</u>.<u>001</u>.cpu,1,2)
|
||
|
</code>
|
||
|
</td>
|
||
|
<td>
|
||
|
<code>
|
||
|
{cluster="<u>west</u>", server="<u>001</u>"}
|
||
|
</code>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<code>
|
||
|
alias(servers.*.<u>{001,002}</u>.*,1,2)
|
||
|
</code>
|
||
|
</td>
|
||
|
<td>
|
||
|
<code>
|
||
|
{server=~"<u>(001|002)</u>"}
|
||
|
</code>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<code>interpolate(seriesByTag('foo=bar', 'server=002'), inf))</code>
|
||
|
</td>
|
||
|
<td>
|
||
|
<code>{foo="bar", server="002"}</code>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</Alert>
|
||
|
);
|
||
|
}
|