Bulk configuration change inside a dashboard

Hi,
let’s say that I’ve created a dashboard with many widgets, each one with its own configuration. Let’s say that each one is using the same time range (yesterday) but then it’s visualizing something different. Now, I can easily override the time range, but what if I want to permanently change them all from “yesterday” to “last week”? The only way I can see is to edit each one of them, not so fun if you have tens of them per page, and many pages…

Is there a workaround?

Thanks,
Matteo

Have you explored using the API to make these changes? For example, here’s a JSON object for the default sources dashboard that you can find by using the /views endpoint:

 "views": [
    {
      "id": "61083248a0287c61c1891d59",
      "type": "DASHBOARD",
      "title": "Graylog Message Sizes",
      "summary": "",
      "description": "",
      "search_id": "610828dfa0287c61c1891d58",
      "properties": [],
      "requires": {},
      "state": {
        "81230fc3-18f4-47c3-bc95-1c49c7766256": {
          "selected_fields": null,
          "static_message_list_id": null,
          "titles": {
            "tab": {
              "title": "Page#1"
            }
          },
          "widgets": [
            {
              "id": "393e831b-5bfb-4dee-8a91-9c7ad11a0840",
              "type": "aggregation",
              "filter": null,
              "timerange": {
                "type": "relative",
                "from": 300
              },
              "query": {
                "type": "elasticsearch",
                "query_string": "gl2_source_input: 5f73689895481568117b7932"
              },
              "streams": [],
              "config": {
                "row_pivots": [
                  {
                    "field": "gl2_source_input",
                    "type": "values",
                    "config": {
                      "limit": 15
                    }
                  }
                ],
                "column_pivots": [],
                "series": [
                  {
                    "config": {
                      "name": "Message Count - Beats Input"
                    },
                    "function": "count()"
                  }
                ],
                "sort": [],
                "visualization": "numeric",
                "visualization_config": {
                  "trend": false,
                  "trend_preference": "NEUTRAL"
                },
                "formatting_settings": null,
                "rollup": true,
                "event_annotation": false
              }
            },

You could take the entire JSON body, edit it for whatever you want the time rage to be in your Favorite Text Editor :tm: and then upload the JSON document with the changes.

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.