This ServiceNow Grafana Datasource Plugin enables communication between Grafana and ServiceNow to pull in all kinds of data from your instance. This plugin can query ANY table (even database views), perform aggregate or trend queries on ANY table, time-series metrics from the metricBase, display the Service Dependency Map, and many more features. www.servicenow.com
Error message com.glide.script.fencing.access.ScopeAccessNotGrantedException: read access to TABLE_NAME not granted
If you are encountering the error message above, please follow these steps as a temporary workaround to be applied for each TABLE_NAME.
- Change your scope to ITOM Grafana Plugin
- In the Application Navigator, enter sys_scope_privilege.LIST to go to the Cross Scope Privilege table.
- Create a new record with the fields as shown below:
- Source Scope: ITOM Grafana Plugin
- Target Scope: Global
- Target Name: Enter the TABLE_NAME from the error message
- Target Type: Table
- Application: ITOM Grafana Plugin
- Operation: Read
- Status: Allowed
If you have previously installed a version of the ITOM Grafana Plugin into ServiceNow prior to the release of version 1.8.0 we kindly ask that you replace it with the latest official release from the ServiceNow Store. Instructions can be found starting here Step 1: Install the ITOM Grafana Plugin into your ServiceNow instance
- Washington
- Vancouver
- Utah
- Tokyo
- San Diego
- Rome
Check out the new Gallery Here to see some screenshots from our plugin in action
- ServiceNow Grafana Data Source Plugin
- Temporary workaround for ServiceNow Application Store Release v1.8.0
- Updating from version <= 1.7.4 to version >= 1.8.0
- Supported ServiceNow Releases
- Gallery
- Table of Content
- Setup Instructions
- Step 1: Install the ITOM Grafana Plugin into your ServiceNow instance
- Step 2: Configure the Allowed Tables List in ServiceNow
- Step 3: Create an Integration User in ServiceNow for Grafana to connect with
- Step 4: Install Grafana Plugin
- Step 5: Grafana Datasource Configuration
- Step 6: Import Our Grafana Dashboards
- Dashboards
- UI Actions Setup Instructions
- Query Editor Options
- Query Categories
- Variables
- FAQ
- No results found when searching for ITOM Grafana Plugin in ServiceNow?
- I just updated to v1.3.0 and everything is broken. How do I fix it?
- How do I fix the "Panel plugin not found: x" error?
- Why am I getting a Bad Gateway error on my panels?
- How do I fix the error "String object would exceed maximum permitted size of 33554432"?
- How do I fix the error Bad Request "Requested URI does not represent any resource"?
- Why do the select boxes show "No options found"?
- How do I use this plugin with an HTTP Proxy?
For your ServiceNow instance to communicate with our Grafana plugin, you must first install our ITOM Grafana Plugin integration on your ServiceNow instance.
Using the application navigator inside ServiceNow, search for "available applications" and click on System Applications > All Available Applications > Available To Obtain From Store. After the page loads search for "ITOM Grafana Plugin" and click View Details. Finally click either Request Install or Get.
As of v1.8.0 there is a custom table included along with the application called Allowed Tables List (x_opti8_itom_grafa_allowed_tables). This table acts as a whitelist of other tables that are allowed to be queried through the API's in the ITOM Grafana Plugin application. If you attempt to query a table which is not on the Allowed Tables List you will receive an error message notifying you of such and how to address it.
The table consists of 3 columns. The Table field which indicates the table you are allowing, the Active field which indicates if the Table will be considered allowed or not, and an optional Description field to provide reasoning/context about why a particular table was allowed.
Please note that the Allowed Tables List is an additional security measure that works in conjunction with the roles you assign to the Integration User in Step 3: Create an Integration User in ServiceNow for Grafana to connect with.
Users with the itil role will be able to read the Allowed Tables List, but only users with the admin role will be able to create, edit, or delete records.
- This user may have any username and password you wish
- Timezone for the user MUST BE GMT
- The user will require these roles at the minimum but other roles depend on the data you'd like available in Grafana:
- itil
- evt_mgmt_operator (if Event Management is installed)
- personalize_dictionary
- personalize_choices
Ensure your entering the latest version's release in the following command
grafana cli --pluginUrl https://github.com/optimizca/servicenow-grafana/releases/download/v1.8.0/optimiz-servicenow-datasource-1.8.0.zip plugins install optimiz-servicenow-datasource
Then add our plugin to the list of unsigned plugins in your Grafana configuration file and restart Grafana.
allow_loading_unsigned_plugins = optimiz-servicenow-datasource
Option based scripts written for each operating system give you the option to install Grafana + our plugin or just our plugin in your existing Grafana. Click here for Quick Install Setup
- Open Grafana Configuration => Data Sources
- Click on the "Add data source" Button
- Search for and add our "Optimiz-ServiceNow Plugin"
- Configure the data source based on fields below. Required fields are marked with a âť—
- Logo URL: URL to an image you wish to use as logo. (Default value is a ServiceNow Logo)
- API Path: Path to our application's API's in your ServiceNow instance. (Please do not change the default value unless you are a developer or understand the implications)
- Cache Timeout: Choose length of time to cache each query
- âť— URL: The URL to your ServiceNow instance. (For convenience the default value is mostly filled in. Just replace <instance_name> with your own).
- Access: Leave this value as Server (default)
- âť— Basic Auth: Set this to true
- âť— With Credentials: Set this to true
- âť— User: Enter the ServiceNow username we created earlier in Step 4
- âť— Password: Enter the ServiceNow user's password we created earlier in Step 4
- Click on the "Save & Test" Button. If you get the message "Data source connection is successful" then the plugin is ready to use!
Dashboard descriptions will be added soon..
- ACC Agents Inventory
- ACC-L CI Details
- Advanced - ACC Agent Inventory
- Advanced - Application Services
- Advanced - vCenter Inventory
- Anomaly Insights
- Application Service Details
- Application Services
- AWS CI Details
- AWS Function Details
- AWS Inventory - US Regions
- AWS Lambda Functions
- Azure CI Details
- Azure Inventory
- CI Details
- Compare CIs
- Generic CI Details
- Kubernetes Details 2
- Kubernetes Details
- Kubernetes
- Landing Page
- Linux Inventory ACC-L
- Live CI Data
- Live Logs
- Observability Dashboard
- Observability Live Logs
- Observability with Log KPIs
- Outage Dashboard
- Related Alerts
- Simple Event Management(Node-Based)
- Simple Event Management
- Tag Health
- UI Actions
- vCenter CI Details
- vCenter Inventory
You may choose to import all dashboards, or start small and work your way up. Below are some suggestions to get you started:
- Landing Page
- Application Services
- Application Service Details
- Outage Dashboard
- Simple Event Management
- Generic CI Details
- Tag Health
- UI Actions
- Log Analytics
- Live Logs
- Related Alerts
- Landing Page
- Observability Dashboard
- Observability Dashboard with Log KPIs
- Kubernetes
- Simple Event Management
- Generic CI Details
- CI Details
- Kubernetes Details
- Kubernetes Details 2
- Tag Health
- UI Actions
- Log Analytics
- Observability Live Logs
- Related Alerts
- Application Services
- Application Service Details
- Outage Dashboard
- Landing Page
- ACC Agents Inventory
- Advanced - ACC Agents Inventory (example using location/support groups/environment)
- Compare CIs
- Anomaly Insights
- Simple Event Management
- Generic CI Details
- CI Details
- Tag Health
- UI Actions
- Log Analytics
- Live Logs
- Related Alerts
- Landing Page
- AWS Inventory - US Regions
- AWS CI Details
- Kubernetes
- Kubernetes Details
- Kubernetes Details 2
- Azure Inventory
- Generic CI Details
- CI Details
- AWS Lambda Function
- AWS Function Details
- Tag Health
- vCenter Inventory
If you would like to make use of our UI Actions dashboard, there are a few fields that will need to be updated for each instance.
- Navigate to the plugins menu and search for the button panel shown below. Click into the panel and hit the install button.
- Create a Grafana API key using the Admin role. Key name and TTL are up to you.
- Once you hit add, copy the API key shown on screen.
- Navigate to the UI Actions dashboard inside the Drilldown Dashboards folder. Then edit the button panel.
- Add an Authorization header using your new key. Don't forget to hit the plus button when your done
Name = Authorization
Value = Bearer <API_KEY>
- Change the URL field pictured above to reflect the FQDN your grafana instance is currently using. Please only change the domain and nothing after the port number. The /api portion should remain the same.
The plugin supports a wide variety of "Query Categories" allowing you to query data in different ways or perform special processing on the data. Each Query Category will provide you with different options to fill out in order to get the data your looking for.
Categories marked with the badge have been heavily in use by the community. Categories marked with are special to this plugin and differentiate us from the current Enterprise ServiceNow datasource.
- Metrics
- Node Graph
- Table
- Alerts
- Aggregate
- Row Count
- Trend Data
- Log Data
- Outage Status
- Anomaly
- GeoHash Map
Used to gather time-series metric data from CI's, typically Agent Client Collectors.
Option Name | Description | Options | Additional Info |
---|---|---|---|
Service | Selecting a service will filter the CI options below to only CIs in that service | All Services | No effect on final query |
CI | Select CI(s) which you would like to retrieve metrics for. This will also filter the Resource ID and Metric Name options below so they are relevant to the CI(s) chosen | All CI's or CI's in selected service | |
Resource ID | Select the resource you wish to collect metrics from | All Resources in the selected CI(s), and * | Use the * to get all resources |
Metric Name | Select the metrics you wish to retrieve | All metrics in the selected CI(s), and * | Use the * to get all resources |
Anomaly | (True) Gather RAW, MIN, MAX & AVG of each metric. (False) Gather only the RAW data | [True, False] | |
Value Type | Choose to query full timeseries data, or just the latest value | [Timeseries, Latest Value] | |
Sysparam Query | This is used to filter your results down using the same syntax as filtering a table in ServiceNow | (Advanced variant) |
Used to display relationships between CI's or Service Dependency Maps. We recommend you use this query with Grafana's Node Graph panel for visualization
Option Name | Description | Options | Additional Info |
---|---|---|---|
Starting Point | Select a CI to start the relationship/dependency diagram from | All CI's | This field is mandatory |
Relationship Types | Select relationship types to whitelist/include in the results | All relationship types from the cmdb_rel_type table | Will cut off the tree past filtered CIs |
Filter Classes | Select CI Classes to blacklist/exclude from the results | All classes that start with cmdb_ci from the sys_db_object table | Will cut off the tree past filtered CIs |
Parent Depth | Determines the number of levels to search up the tree of dependencies | 0-10 | Default is 3. Recommended to keep below 5 for performance |
Child Depth | Determines the number of levels to search down the tree of dependencies | 0-10 | Default is 3. Recommended to keep below 5 for performance |
The table category allows you to query any table or database view inside your ServiceNow instance (given the appropriate roles).
Option Name | Description | Options | Additional Info |
---|---|---|---|
Table Name | Select the table you wish to query data from | All tables in the sys_db_object table | Any table or database view that does not appear as an option can be inserted as a custom value |
Table Columns | Select the columns you wish to query on the chosen table. If none are selected, all columns will be returned | All columns for the selected table in the sys_dictionary | Any column that does not appear as an option can be inserted as a custom value |
Sysparam Query | This is used to filter your results down using the same syntax as filtering a table in ServiceNow | (Basic variant) | |
Sort By | Select a table column to sort your records on, then choose if the sort is Ascending(ASC) or Descending(DESC) | All columns for the selected table in the sys_dictionary, [ASC, DESC] | Any column that does not appear as an option can be inserted as a custom value |
Limit | Limits the amount of records returned to the number submitted | 1-9999 | Default is 2000 |
Page | This option in combination with the Limit can be thought of as pagination for your requests. Ex. Setting a limit of 10 returns the first 10 records and to see the 10 records following those, increase your page number. | 0-9999 | Default is 0, which is the first page |
Query Alert Count | Queries the count of alerts that are open on each records cmdb_ci field | [No, Yes] | Adds extra processing to the query. Be cautious when using and make sure your limit is set low |
Grafana Timerange | Toggle on and select a table column that contains a time. This will filter results to find records where the chosen table column is BETWEEN the time range set in Grafana. | [On, Off], Table Column | Grafana time range is found in the top right of any dashboard |
Used to gather Alerts(em_alert) along with some additional processing to determine impacted services and add additional columns for annotations, number of correlated/secondary alerts, number of unique sources in correlated/secondary alerts.
Option Name | Description | Options | Additional Info |
---|---|---|---|
Service | Selecting a service will filter the CI options below to only CIs in that service. May also be used to query any Alerts affecting selected service | All Services | |
CI | Selecting CI(s) will filter results down to only Alerts with those CI(s) | All CI's or CI's in selected service | |
Alert Type Filter | This option determines if you would like to base your query on the Service or CI selected. If not, select None to ignore the Service and CI fields then filter using other options | [CI, Service, None] | |
Alert State Filter | Filters Alert records by state. Select Active to return Open or Reopen records and All to return records with any state | [Active, All] | |
Sysparam Query | This is used to filter your results down using the same syntax as filtering a table in ServiceNow | (Advanced variant) | |
Sort By | Select a table column to sort your records on, then choose if the sort is Ascending(ASC) or Descending(DESC) | All columns for the selected table in the sys_dictionary, [ASC, DESC] | Any column that does not appear as an option can be inserted as a custom value |
Limit | Limits the amount of records returned to the number submitted | 1-9999 | Default is 2000 |
Page | This option in combination with the Limit can be thought of as pagination for your requests. Ex. Setting a limit of 10 returns the first 10 records and to see the 10 records following those, increase your page number. | 0-9999 | Default is 0, which is the first page |
Grafana Timerange | Toggle on and select a table column that contains a time. This will filter results to find records where the chosen table column is BETWEEN the time range set in Grafana. | [On, Off], Table Column | Grafana time range is found in the top right of any dashboard |
Query a table, group the data by a chosen column, and apply an aggregation function an another column to return stats about your data. Useful when the full table data is not required.
Option Name | Description | Options | Additional Info |
---|---|---|---|
Table Name | Select the table you wish to query data from | All tables in the sys_db_object table | Any table or database view that does not appear as an option can be inserted as a custom value |
Group By | Select the table column to group your results by | All columns for the selected table in the sys_dictionary | |
Aggregate Function | Select one of the aggregation functions and a table column to apply that function on | [AVG, COUNT, MIN, MAX, STDDEV, SUM], All columns for the selected table in the sys_dictionary | |
Sysparam Query | This is used to filter your results down using the same syntax as filtering a table in ServiceNow | (Advanced variant) | |
Limit | Limits the amount of grouped results to return | 1-9999 | Default is 2000 |
Grafana Timerange | Toggle on and select a table column that contains a time. This will filter results to find records where the chosen table column is BETWEEN the time range set in Grafana. | [On, Off], Table Column | Grafana time range is found in the top right of any dashboard |
Query a table and optionally set a filter to return the number of records found. Very fast query type if you just need a basic count without grouping.
Option Name | Description | Options | Additional Info |
---|---|---|---|
Table Name | Select the table you wish to query data from | All tables in the sys_db_object table | Any table or database view that does not appear as an option can be inserted as a custom value |
Sysparam Query | This is used to filter your results down using the same syntax as filtering a table in ServiceNow | (Advanced variant) | |
Grafana Timerange | Toggle on and select a table column that contains a time. This will filter results to find records where the chosen table column is BETWEEN the time range set in Grafana. | [On, Off], Table Column | Grafana time range is found in the top right of any dashboard |
Create bucketed timeseries stats from data in the chosen table. This one is best described with the use cases below.
- Query the number of alerts created each hour of the past week
- Query the number of times an alert management rule has been executed in 10 minute buckets over the past 12 hours
- Query the number of incidents created in 30 minute buckets over the past 8 hours grouped by assignment group
Option Name | Description | Options | Additional Info |
---|---|---|---|
Table Name | Select the table you wish to query data from | All tables in the sys_db_object table | Any table or database view that does not appear as an option can be inserted as a custom value |
Sysparam Query | This is used to filter your results down using the same syntax as filtering a table in ServiceNow | (Basic variant) | |
Elastic Search Query | Search logs using Lucene syntax | Only applies if you have chosen the Log Viewer Parents (sn_occ_log_viewer_parent) table | |
Group By | Select the table column to group your results by | All columns for the selected table in the sys_dictionary | |
Trend | Select a Date/Time table column to use for bucketing the results, then select either Minute or Week, and finally provide a number of minutes/weeks to use for bucketing | All Date/Time type columns for the selected table in the sys_dictionary, [Minute, Week], number of minutes/weeks |
Query your logs from Health Log Analytics (HLA) using this query category. We recommend to use this query with either the log or table panels for visualization.
Option Name | Description | Options | Additional Info |
---|---|---|---|
Compress Logs | Reduce the raw_message field into a few key fields | [True, False] | |
Sysparam Query | This is used to filter your results down using the same syntax as filtering a table in ServiceNow | (Basic variant) | |
Elastic Search Query | Search logs using Lucene syntax | ||
Sort By | Select a table column to sort your records on, then choose if the sort is Ascending(ASC) or Descending(DESC) | All columns for the selected table in the sys_dictionary, [ASC, DESC] | Any column that does not appear as an option can be inserted as a custom value |
Limit | Limits the amount of records returned to the number submitted | 1-9999 | Default is 2000 |
Page | This option in combination with the Limit can be thought of as pagination for your requests. Ex. Setting a limit of 10 returns the first 10 records and to see the 10 records following those, increase your page number. | 0-9999 | Default is 0, which is the first page |
If you utilize outage records in ServiceNow this query type will provide a timeline of up or down for your services and a percentage of uptime over the chosen time range.
Option Name | Description | Options | Additional Info |
---|---|---|---|
Service | Select an individual service to query outage status for | All Services | |
Show Uptime % | Select False to see timeseries data and True for a Percentage of uptime over the selected time | [False, True] | |
Sysparam Query | If you did not choose a service above, you can use this field to filter down a list of all services using the same syntax as filtering a table in ServiceNow | (Advanced variant) | |
Limit | Limits the amount of services returned to the number submitted | 1-9999 | Default is 2000 |
Page | This option in combination with the Limit can be thought of as pagination for your requests. Ex. Setting a limit of 10 returns the first 10 records and to see the 10 records following those, increase your page number. | 0-9999 | Default is 0, which is the first page |
Query your Alert Anomalies with this query type and it will add additional columns to the result. The additional columns are metricType, metricValue, and boundary.
Option Name | Description | Options | Additional Info |
---|---|---|---|
Table Columns | Select the columns you wish to query on the Alert Anomalies (em_alert_anomaly) table. If none are selected, all columns will be returned | All columns for the Alert Anomalies (em_alert_anomaly) table in the sys_dictionary | Any column that does not appear as an option can be inserted as a custom value |
Sysparam Query | This is used to filter your results down using the same syntax as filtering a table in ServiceNow | (Basic variant) | |
Sort By | Select a table column to sort your records on, then choose if the sort is Ascending(ASC) or Descending(DESC) | All columns for the selected table in the sys_dictionary, [ASC, DESC] | Any column that does not appear as an option can be inserted as a custom value |
Limit | Limits the amount of records returned to the number submitted | 1-9999 | Default is 2000 |
Page | This option in combination with the Limit can be thought of as pagination for your requests. Ex. Setting a limit of 10 returns the first 10 records and to see the 10 records following those, increase your page number. | 0-9999 | Default is 0, which is the first page |
The GeoHash Map query category assist you in plotting your cloud CIs on a world map based on their region/data center. Provide the table which holds your cloud CIs and enter the region/data center column in the group by. This will return geohash coordinates and a count of CIs for each. This was developed with AWS and Azure in mind but may also work for other cloud providers.
Option Name | Description | Options | Additional Info |
---|---|---|---|
Table Name | Select a table with the Cloud CI's you'd like to map by geohash | All tables in the sys_db_object table | Any table or database view that does not appear as an option can be inserted as a custom value |
Group By | Select a table column which holds the region of the CI | All columns for the selected table in the sys_dictionary | This will almost always be ldc_region |
Sysparam Query | This is used to filter your results down using the same syntax as filtering a table in ServiceNow | (Advanced variant) |
Namespace | Query | Fields | Description |
---|---|---|---|
global_image | Returns the Logo URL you set in the data source configuration. The variable can then be used as the src attribute in an <img> tag | ||
global_instance_name | Returns your ServiceNow instance name which was configured in the data source configuration. This variable is useful for creating links back to your ServiceNow instance | ||
metric_names | a20ce336db42b010d41e9fd2ca96199e | One or more CI sys_ids | Retrieves a list of all metrics for the given ci(s) |
golden_metric_names | a20ce336db42b010d41e9fd2ca96199e | One or more CI sys_ids | Retrieves a list of KPIs for the given ci(s) |
custom_kpis | a20ce336db42b010d41e9fd2ca96199e | One or more CI sys_ids | Retrieves a list of Preset KPIs for the given ci(s). Results will vary based on CI Class |
generic | em_alert||group_source||group_source|| state!=Closed||1000 | Table Name, Display Column, Value Column, Sysparam Query, Limit | Create your own custom list based on the table, columns, and sysparam provided. The first column field will determine the display value users see and the second column is the actual value used in the list. If you need to force a column to be read as display value add suffix :d and for actual value add suffix :v. Learn more about Display vs Actual values here FYI dot-walking will only work if you use the :d suffix |
group_by | em_alert||cmdb_ci||state!=closed | Table Name, Group By Column, Sysparam Query | This variable type is meant to be used when you want to use the same field as the display and actual values of the variable options. It offers much greater performance than the generic variable type but with slightly less flexibility. You can additionally use the same :d and :v suffix to force display or actual values similar to the generic variable type. |
nested_cis | 4577fd32db1627002ef1400e0b961921||1||1|| parent.sys_class_nameNOT INsn_agent_cmdb_ci_agent | CI sys_id, Parent Depth, Child Depth, Sysparam Query | Retrieves the nested/related CIs that are shown in the topology panel. Values should match your topology query for best results. |
v2_nested_cis | 4577fd32db1627002ef1400e0b961921||1a9cb166f1571100a92eb60da2bce5c5||cmdb_ci_linux_server||3||3 | Starting point CI sys_id, Relationship type sys_ids, Filter Classes, Parent Depth, Child Depth | Retrieves the CIs related to the starting point that are shown in the node graph panel. Values should match your node graph query for best results. |
nested_classes | 4577fd32db1627002ef1400e0b961921||1||1|| parent.sys_class_nameNOT INsn_agent_cmdb_ci_agent | CI sys_id, Parent Depth, Child Depth, Sysparam Query | Retrieves the Classes of all nested/related CIs that are shown in the topology panel. Values should match your topology query for best results. |
v2_nested_classes | 4577fd32db1627002ef1400e0b961921||1a9cb166f1571100a92eb60da2bce5c5||cmdb_ci_linux_server||3||3 | Starting point CI sys_id, Relationship type sys_ids, Filter Classes, Parent Depth, Child Depth | Retrieves the Classes of all CIs related to the starting point that are shown in the node graph panel. Values should match your node graph query for best results. |
You can typically resolve this issue by clicking on System Applications > All Available Applications > All from the application navigator and then clicking the Sync now button.
Version 1.3.0 includes a change to the plugin id and name, meaning Grafana does not recognize them as the same. To get back up and running please follow the steps below:
- Navigate to the datasource configuration tab inside your Grafana instance and delete the old version of the datasource
- Follow these steps to re-configure the updated datasource
- Delete and re-import all included dashboards so that they work with the updated datasource
You are seeing this because the panel plugin we used in the dashboard is not installed on your instance of Grafana.
- Take note of the panel plugin name displayed in the error (plugin names are formatted like (author)-(pluginName)-(pluginType))
- Navigate to Grafana Configuration => Plugins
- Search for the plugin in the error (Search based on the middle word the plugin displayed in the error)
- Click into the plugin (You will know its the correct one based off the authors name)
- Click the Install Button
The default timeout for requests made by Grafana in 30 seconds. If your request takes longer than 30 seconds you will see this error.
There are a few possible fixes for this error. Please try each fix as they all work differently and will depend on your needs of the data.
- If you are looking for a subset of data rather than the entire table, try adding some filters to the Sysparam Query
- If displaying every field on the record is not a necessity, try specifying which fields you would like to see in the Table Columns option
- If your familiar with pagination we also have this as an option to reduce the amount of records returned in each query. To use pagination, in the Limit option enter in the number of records to return per request(default is 2000). Then increment the Page option by 1 each time you wish to advance pages(default starts at 0)
- The last fix here is one I do not recommend but is still an option. In the data source configuration page there is an option called Timeout, there you can specify your desired request timeout in seconds(default is 30). I do not recommend this fix as it will likely lead you to the error below this one, use at your own risk.
This happens when the amount of data being returned from a query is greater than 32MB.
- To fix this issue, try the steps in the above question as both are fixed in nearly the same way.
We do not currently know what causes this issue as it happens on some instances but not others. If you have more information, please let us know :)
- Inside of your ServiceNow instance, search for and click on "Scripted REST APIs"
- Search the Name field for "Grafana API" and open the record
- Remove the "Scripted REST External Default" ACL from the list and save the record
- In the same record, add the "Scripted REST External Default" ACL back into the list and save the record again
Currently you will see this on nearly every select box, but we plan to improve/fix this in a future update.
- To get past the "No options found" message, simply enter a space or start typing your desired option and the options will be updated to show actual values
Here is a very helpful link to a community post explaining the environment variables required for Grafana to use a Proxy https://community.grafana.com/t/grafana-and-proxy-connection/104839/3