Re:We Built a 19 PiB Logging Platform with ClickHouse and Sa...
by BigAl7070 on Wednesday April 03, 2024 @05:31PM
(#39923444)
Can you share some details of how you implemented the cross region routing in Grafana? I think the article mentioned that you created your own plugin, is that plugin open sourced?
We would like to do something similar, but not sure where to start.
Re:We Built a 19 PiB Logging Platform with ClickHouse and Sa...
by rorycrispin on Thursday April 04, 2024 @05:24AM
(#39928201)
Sure, the plugin is built on top of Scenes https://grafana.com/developers/scenes
Add all of your required data sources will well known UIDs https://grafana.com/docs/grafana/latest/administration/provi... Then you can create a query panel and update the state with the desired query SQL and data source ID like so;
const logsQuery = new SceneQueryRunner({queries: []});
logsQuery.setState({
datasource: { uid: dataSourceID},
queries: [
{
"datasource": {
"type": "grafana-clickhouse-datasource",
"uid": dataSourceID,
},
"queryType": "sql",
"rawSql": logsQuerySQL,
...
],
});
- Pick a different schema based on the query parameters. For instance we have different schemas for different applications (Keeper/Server/Generic K8s app) and the app picks the necessary schema
- Always show the full generated SQL query on the page (We like to use Grafana UI to start off and then jump into fully manual SQL for deeper analysis)
- Take one filter value (for instance, k8s namespace) and look up all of the other filters required (pod names which were live during the time period, region, cell ect.)
- Some small gadgets like enabling users to import the time range from another application URL like DataDog. Oftentimes we start by looking at metrics in another source and then want to jump into the logs.