Install Plug-in disconnected network

  • What Grafana version and what operating system are you using? 10.4.2

  • What are you trying to achieve? Install plugin offline

  • How are you trying to achieve it? Unzip the plugin into the /opt/grafana/plugins directory that is owned by grafana:grafana

  • What happened?

grafana[43508]: logger=plugin.store t=2024-09-16T11:08:56.620841233-05:00 level=info msg=“Loading plugins…”
grafana[43508]: logger=plugins.registration t=2024-09-16T11:08:56.656449332-05:00 level=info msg=“Plugin registered” pluginId=input
grafana[43508]: logger=plugin.store t=2024-09-16T11:08:56.656538322-05:00 level=error msg=“Loading plugin source failed” source=external error=“unable to read file info: CHANGELOG.md, path: /opt/grafana/plugins/grafana-clock-panel/CHANGELOG.md”
grafana[43508]: Error: ✗ unable to read file info: CHANGELOG.md, path: /opt/grafana/plugins/grafana-clock-panel/CHANGELOG.md
systemd[1]: grafana-server.service: Main process exited, code=exited, status=1/FAILURE

  • What did you expect to happen? for it to work

  • Can you copy/paste the configuration(s) that you are having problems with?
    grafana.ini portion:

plugins = /opt/grafana/plugins

  • Did you receive any errors in the Grafana UI or in related logs? If so, please tell us exactly what they were.

  • Did you follow any online instructions? Yes If so, what is the URL? Clock plugin for Grafana | Grafana Labs
    ( Alternatively, you can manually download the .zip file and unpack it into your grafana plugins directory.)

Side note; I’m also getting: logger=plugin.signature.key_retriever t=2024-09-16T12:58:40.850715749-05:00 level=error msg=“Error downloading plugin manifest keys” error=“Get "https://grafana.com/api/plugins/ci/keys\”: context deadline exceeded (Client.Timeout exceeded while awaiting headers)"

I have check_for_updates and check_for_plugin_updates both set to false in the .ini file.

not sure how to disable this as this is a disconnected network - no internet connection.

public_key_retrieval_disabled

Disable download of the public key for verifying plugin signature. The default is false. If disabled, it will use the hardcoded public key.

Thank you for your assistance however that did not seem to fix the issue:

Here is my grafana.ini settings:

[plugins]
;enable_alpha = false
;app_tls_skip_verify_insecure = false
# Enter a comma-separated list of plugin identifiers to identify plugins to load even if they are unsigned. Plugins with modified signatures are never loaded.
;allow_loading_unsigned_plugins =
# Enable or disable installing / uninstalling / updating plugins directly from within Grafana.
plugin_admin_enabled = true
;plugin_admin_external_manage_enabled = false
;plugin_catalog_url = https://grafana.com/grafana/plugins/
# Enter a comma-separated list of plugin identifiers to hide in the plugin catalog.
;plugin_catalog_hidden_plugins =
# Log all backend requests for core and external plugins.
;log_backend_requests = false
# Disable download of the public key for verifying plugin signature.
public_key_retrieval_disabled = false
# Force download of the public key for verifying plugin signature on startup. If disabled, the public key will be retrieved every 10 days.
# Requires public_key_retrieval_disabled to be false to have any effect.
public_key_retrieval_on_startup = false
# Enter a comma-separated list of plugin identifiers to avoid loading (including core plugins). These plugins will be hidden in the catalog.
; disable_plugins =
logger=grafana-apiserver t=2024-09-19T12:36:59.315850016-05:00 level=info msg="Adding GroupVersion featuretoggle.grafana.app v0alpha1 to ResourceManager"
logger=plugin.signature.key_retriever t=2024-09-19T12:37:09.131613573-05:00 level=error msg="Error downloading plugin manifest keys" error="Get \"https://grafana.com/api/plugins/ci/keys\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"
logger=infra.usagestats t=2024-09-19T12:37:41.097497929-05:00 level=info msg="Usage stats are ready to report"
logger=plugin.signature.key_retriever t=2024-09-19T12:38:19.135236234-05:00 level=error msg="Error downloading plugin manifest keys" error="Get \"https://grafana.com/api/plugins/ci/keys\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"

And still having issues with the plugins:

from var/loggrafana/grafana.log

logger=settings t=2024-09-19T12:32:35.075283707-05:00 level=info msg="Path Home" path=/usr/share/grafana
logger=settings t=2024-09-19T12:32:35.075324072-05:00 level=info msg="Path Data" path=/var/lib/grafana
logger=settings t=2024-09-19T12:32:35.075367256-05:00 level=info msg="Path Logs" path=/var/log/grafana
logger=settings t=2024-09-19T12:32:35.075405583-05:00 level=info msg="Path Plugins" path=/opt/grafana/plugins
logger=settings t=2024-09-19T12:32:35.075443566-05:00 level=info msg="Path Provisioning" path=/etc/grafana/provisioning
logger=settings t=2024-09-19T12:32:35.075481164-05:00 level=info msg="App mode production"
logger=sqlstore t=2024-09-19T12:32:35.07587868-05:00 level=info msg="Connecting to DB" dbtype=sqlite3
logger=migrator t=2024-09-19T12:32:35.076495342-05:00 level=info msg="Starting DB migrations"
logger=migrator t=2024-09-19T12:32:35.096093232-05:00 level=info msg="migrations completed" performed=0 skipped=548 duration=5.968334ms
logger=secrets t=2024-09-19T12:32:35.099850643-05:00 level=info msg="Envelope encryption state" enabled=true currentprovider=secretKey.v1
logger=renderer.manager t=2024-09-19T12:32:35.114930726-05:00 level=error msg="Failed to load renderer plugin" error="unable to read file info: CHANGELOG.md, path: /opt/grafana/plugins/flant-statusmap-panel/CHANGELOG.md"
logger=plugin.store t=2024-09-19T12:32:35.124922604-05:00 level=info msg="Loading plugins..."
logger=plugins.registration t=2024-09-19T12:32:35.15984332-05:00 level=info msg="Plugin registered" pluginId=input
logger=plugin.store t=2024-09-19T12:32:35.160059228-05:00 level=error msg="Loading plugin source failed" source=external error="unable to read file info: CHANGELOG.md, path: /opt/grafana/plugins/flant-statusmap-panel/CHANGELOG.md"

Why false when you want that to be disabled?

Thanks for pointing that out. That modification has corrected one issue, however I’m still not able to load the plugins.

grafana[63077]: logger=plugin.store t=2024-09-25T06:18:11.914645444-05:00 level=error msg="Loading plugin source failed" source=external error="unable to read file info: CHANGELOG.md, path: /opt/grafana/plugins/grafana-clock-panel/CHANGELOG.md"
grafana[63077]: Error: ✗ unable to read file info: CHANGELOG.md, path: /opt/grafana/plugins/grafana-clock-panel/CHANGELOG.md
systemd[1]: grafana-server.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: grafana-server.service: Failed with result 'exit-code'.

So logical question: do you have that file and is it readable for grafana?

Yes

So it’s not readable, something can block access: selinux, systemd,…