openclaw-grafana-lens
Version:
OpenClaw plugin that gives AI agents full Grafana access — 18 composable tools for PromQL/LogQL/TraceQL queries, dashboard creation, alerting, SRE investigation, security monitoring, data collection pipeline management via Grafana Alloy (29 recipes), and
81 lines (80 loc) • 2.41 kB
TypeScript
/**
* grafana_query_logs tool
*
* Run LogQL queries against any Loki datasource via Grafana's datasource proxy.
* Handles both log queries (streams) and metric queries (matrix/vector).
* Mirrors grafana_query structure for consistency.
*/
import type { GrafanaClientRegistry } from "../grafana-client-registry.js";
/** Max number of top-level series returned from a matrix (metric-over-logs) query. */
export declare const MAX_MATRIX_SERIES = 50;
/** Max number of top-level results returned from a vector (instant metric-over-logs) query. */
export declare const MAX_VECTOR_RESULTS = 50;
export declare function createQueryLogsToolFactory(registry: GrafanaClientRegistry): (_ctx: unknown) => {
name: string;
label: string;
description: string;
parameters: {
type: "object";
properties: {
datasourceUid: {
type: string;
description: string;
};
expr: {
type: string;
description: string;
};
dashboardUid: {
type: string;
description: string;
};
panelId: {
type: string;
description: string;
};
queryType: {
type: string;
enum: string[];
description: string;
};
start: {
type: string;
description: string;
};
end: {
type: string;
description: string;
};
step: {
type: string;
description: string;
};
limit: {
type: string;
description: string;
};
direction: {
type: string;
enum: string[];
description: string;
};
lineLimit: {
type: string;
description: string;
};
extractFields: {
type: string;
description: string;
};
};
required: never[];
};
execute(_toolCallId: string, params: Record<string, unknown>): Promise<{
content: Array<{
type: "text";
text: string;
}>;
details: unknown;
}>;
};