Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Icinga2 - Grafana
Icinga ist eine vollständig auf Open-Source-Basis basierende, skalierbare und erweiterbare Monitoring-Lösung welche die Verfügbarkeit von definierten Ressource überprüft und über eine Benachrichtigungssystem verfügt.
Zur Einbindung von Grafana in Icinga, wird ein Modul namens
icingaweb2-module-grafana
benötigt.
Beschreibung | Externer Link |
---|---|
Download | https://github.com/Mikesch-mp/icingaweb2-module-grafana |
Grafana ist das Visualisierungswerkzeug, daher benötigt es Datenquellen aus Datenbanksystemen wie Graphite, Prometheus, Elasticsearch, InfluxDB, OpenTSDB, AWS Cloudwatch, MySQL, PostgreSQL.
WICHTIG - Die Datenbasis für Grafana soll in dieser Beschreibung Graphite sein, wie unter nachfolgendem Link beschrieben:
Beschreibung | Externer Link |
---|---|
Homepage | https://grafana.com/ |
Dokumentation | http://docs.grafana.org/ |
Ab hier werden zur Ausführung nachfolgender Befehle root
-Rechte benötigt. Um der Benutzer root
zu werden, melden Sie sich bitte als root
-Benutzer am System an, oder wechseln mit nachfolgendem Befehl zum Benutzer root
:
$ su - Password:
Voraussetzungen
Als Voraussetzung für die Installation von Icinga und Grafana in Kombination mit Icinga sind folgende Komponenten erforderlich:
- Lauffähiger Datenbank-Server z.B. MariaDB
- Siehe auch den internen Link: MariaDB CentOS 7
- Lauffähiger Web-Server z.B. Apache HTTP Server
- Siehe auch den internen Link: Apache HTTP Server CentOS 7
- Graphite Installation in Kombination mit Icinga
- Siehe auch den internen Link: Icinga2 - Graphite
Vorbereitung
Zur Installation von Grafana aus rpm
-Paketen, kann ein genutzt bzw. eingebunden werden.
Nachfolgender Befehl erstellt einen neuen Repository-Eintrag im Verzeichnis
/etc/yum.repos.d/
mit dem Namen
/etc/yum.repos.d/grafana.repo
# touch /etc/yum.repos.d/grafana.repo
Dieser neue Repository-Eintrag muss anschließend mit einem Editor der Wahl mit nachfolgendem Inhalt gefüllt werden:
[grafana] name=grafana baseurl=https://packagecloud.io/grafana/stable/el/7/$basearch repo_gpgcheck=1 enabled=1 gpgcheck=1 gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
Anschliessend kann Grafana aus dessen Repository installiert werden.
icingaweb2-module-grafana
Mit nachfolgendem Befehl kann direkt von GitHub eine gepackte Datei als Archiv direkt in das temporäre Verzeichnis /tmp
heruntergeladen werden:
# wget -P /tmp https://github.com/Mikesch-mp/icingaweb2-module-grafana/archive/master.zip --2018-11-13 13:16:45-- https://github.com/Mikesch-mp/icingaweb2-module-grafana/archive/master.zip Resolving github.com (github.com)... 192.30.253.112, 192.30.253.113 Connecting to github.com (github.com)|192.30.253.112|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://codeload.github.com/Mikesch-mp/icingaweb2-module-grafana/zip/master [following] --2018-11-13 13:16:45-- https://codeload.github.com/Mikesch-mp/icingaweb2-module-grafana/zip/master Resolving codeload.github.com (codeload.github.com)... 192.30.253.121, 192.30.253.120 Connecting to codeload.github.com (codeload.github.com)|192.30.253.121|:443... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [application/zip] Saving to: ‘/tmp/master.zip’ [ <=> ] 1,858,277 1.08MB/s in 1.6s 2018-11-13 13:16:48 (1.08 MB/s) - ‘/tmp/master.zip’ saved [1858277]
Installation
Nachdem das Drittanbieter-Repository Grafana erfolgreich eingebunden wurde, kann mit nachfolgendem Befehl, das rpm
-Paket
grafana
falls nicht bereits geschehen, müssen nachfolgende rpm
-Pakete ebenfalls noch installiert werden
initscripts
fontconfig
installiert werden:
# yum install grafana Loaded plugins: changelog, priorities 343 packages excluded due to repository priority protections Resolving Dependencies --> Running transaction check ---> Package grafana.x86_64 0:5.3.2-1 will be installed --> Finished Dependency Resolution Changes in packages about to be updated: Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: grafana x86_64 5.3.2-1 grafana 52 M Transaction Summary ================================================================================ Install 1 Package Total download size: 52 M Installed size: 149 M Is this ok [y/d/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : grafana-5.3.2-1.x86_64 1/1 ### NOT starting on installation, please execute the following statements to configure grafana to start automatically using systemd sudo /bin/systemctl daemon-reload sudo /bin/systemctl enable grafana-server.service ### You can start grafana-server by executing sudo /bin/systemctl start grafana-server.service POSTTRANS: Running script Verifying : grafana-5.3.2-1.x86_64 1/1 Installed: grafana.x86_64 0:5.3.2-1 Complete!
grafana
Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket python-carbon
installiert wurden.
# rpm -qil grafana Name : grafana Version : 5.3.2 Release : 1 Architecture: x86_64 Install Date: Tue 13 Nov 2018 01:03:15 PM CET Group : default Size : 156153401 License : "Apache 2.0" Signature : RSA/SHA1, Wed 24 Oct 2018 02:19:00 PM CEST, Key ID 8c8c34c524098cb6 Source RPM : grafana-5.3.2-1.src.rpm Build Date : Wed 24 Oct 2018 02:17:31 PM CEST Build Host : b678f59b192d Relocations : / Packager : contact@grafana.com Vendor : Grafana URL : https://grafana.com Summary : Grafana Description : Grafana /etc/grafana /etc/init.d/grafana-server /etc/sysconfig/grafana-server /usr/lib/systemd/system/grafana-server.service /usr/sbin/grafana-cli /usr/sbin/grafana-server /usr/share/grafana/VERSION /usr/share/grafana/conf/defaults.ini /usr/share/grafana/conf/ldap.toml /usr/share/grafana/conf/provisioning/dashboards/sample.yaml /usr/share/grafana/conf/provisioning/datasources/sample.yaml /usr/share/grafana/conf/sample.ini /usr/share/grafana/public/app/app.ts /usr/share/grafana/public/app/core/actions/index.ts /usr/share/grafana/public/app/core/actions/location.ts /usr/share/grafana/public/app/core/actions/navModel.ts /usr/share/grafana/public/app/core/angular_wrappers.ts /usr/share/grafana/public/app/core/app_events.ts /usr/share/grafana/public/app/core/components/Animations/SlideDown.tsx /usr/share/grafana/public/app/core/components/CustomScrollbar/CustomScrollbar.test.tsx /usr/share/grafana/public/app/core/components/CustomScrollbar/CustomScrollbar.tsx /usr/share/grafana/public/app/core/components/CustomScrollbar/__snapshots__/CustomScrollbar.test.tsx.snap /usr/share/grafana/public/app/core/components/DeleteButton/DeleteButton.test.tsx /usr/share/grafana/public/app/core/components/DeleteButton/DeleteButton.tsx /usr/share/grafana/public/app/core/components/EmptyListCTA/EmptyListCTA.test.tsx /usr/share/grafana/public/app/core/components/EmptyListCTA/EmptyListCTA.tsx /usr/share/grafana/public/app/core/components/EmptyListCTA/__snapshots__/EmptyListCTA.test.tsx.snap /usr/share/grafana/public/app/core/components/Forms/Forms.tsx /usr/share/grafana/public/app/core/components/LayoutSelector/LayoutSelector.tsx /usr/share/grafana/public/app/core/components/PageHeader/PageHeader.test.tsx /usr/share/grafana/public/app/core/components/PageHeader/PageHeader.tsx /usr/share/grafana/public/app/core/components/PasswordStrength.tsx /usr/share/grafana/public/app/core/components/PermissionList/AddPermission.tsx /usr/share/grafana/public/app/core/components/PermissionList/DisabledPermissionListItem.tsx /usr/share/grafana/public/app/core/components/PermissionList/PermissionList.tsx /usr/share/grafana/public/app/core/components/PermissionList/PermissionListItem.tsx /usr/share/grafana/public/app/core/components/PermissionList/PermissionsInfo.tsx /usr/share/grafana/public/app/core/components/Picker/DescriptionOption.tsx /usr/share/grafana/public/app/core/components/Picker/DescriptionPicker.tsx /usr/share/grafana/public/app/core/components/Picker/PickerOption.test.tsx /usr/share/grafana/public/app/core/components/Picker/PickerOption.tsx /usr/share/grafana/public/app/core/components/Picker/TeamPicker.test.tsx /usr/share/grafana/public/app/core/components/Picker/TeamPicker.tsx /usr/share/grafana/public/app/core/components/Picker/UserPicker.test.tsx /usr/share/grafana/public/app/core/components/Picker/UserPicker.tsx /usr/share/grafana/public/app/core/components/Picker/__snapshots__/PickerOption.test.tsx.snap /usr/share/grafana/public/app/core/components/Picker/__snapshots__/TeamPicker.test.tsx.snap /usr/share/grafana/public/app/core/components/Picker/__snapshots__/UserPicker.test.tsx.snap /usr/share/grafana/public/app/core/components/ScrollBar/ScrollBar.tsx /usr/share/grafana/public/app/core/components/TagFilter/TagBadge.tsx /usr/share/grafana/public/app/core/components/TagFilter/TagFilter.tsx /usr/share/grafana/public/app/core/components/TagFilter/TagOption.tsx /usr/share/grafana/public/app/core/components/TagFilter/TagValue.tsx /usr/share/grafana/public/app/core/components/Tooltip/Popover.test.tsx /usr/share/grafana/public/app/core/components/Tooltip/Popover.tsx /usr/share/grafana/public/app/core/components/Tooltip/Tooltip.test.tsx /usr/share/grafana/public/app/core/components/Tooltip/Tooltip.tsx /usr/share/grafana/public/app/core/components/Tooltip/__snapshots__/Popover.test.tsx.snap /usr/share/grafana/public/app/core/components/Tooltip/__snapshots__/Tooltip.test.tsx.snap /usr/share/grafana/public/app/core/components/Tooltip/withTooltip.tsx /usr/share/grafana/public/app/core/components/code_editor/code_editor.ts /usr/share/grafana/public/app/core/components/code_editor/theme-grafana-dark.js /usr/share/grafana/public/app/core/components/colorpicker/ColorPalette.tsx /usr/share/grafana/public/app/core/components/colorpicker/ColorPicker.tsx /usr/share/grafana/public/app/core/components/colorpicker/ColorPickerPopover.tsx /usr/share/grafana/public/app/core/components/colorpicker/SeriesColorPicker.tsx /usr/share/grafana/public/app/core/components/colorpicker/SpectrumPicker.tsx /usr/share/grafana/public/app/core/components/colorpicker/spectrum_picker.ts /usr/share/grafana/public/app/core/components/dashboard_selector.ts /usr/share/grafana/public/app/core/components/form_dropdown/form_dropdown.ts /usr/share/grafana/public/app/core/components/gf_page.ts /usr/share/grafana/public/app/core/components/grafana_app.ts /usr/share/grafana/public/app/core/components/help/help.html /usr/share/grafana/public/app/core/components/help/help.ts /usr/share/grafana/public/app/core/components/info_popover.ts /usr/share/grafana/public/app/core/components/json_explorer/helpers.ts /usr/share/grafana/public/app/core/components/json_explorer/json_explorer.ts /usr/share/grafana/public/app/core/components/jsontree/jsontree.ts /usr/share/grafana/public/app/core/components/layout_selector/layout_selector.ts /usr/share/grafana/public/app/core/components/manage_dashboards/manage_dashboards.html /usr/share/grafana/public/app/core/components/manage_dashboards/manage_dashboards.ts /usr/share/grafana/public/app/core/components/navbar/navbar.html /usr/share/grafana/public/app/core/components/navbar/navbar.ts /usr/share/grafana/public/app/core/components/org_switcher.ts /usr/share/grafana/public/app/core/components/query_part/query_part.ts /usr/share/grafana/public/app/core/components/query_part/query_part_editor.ts /usr/share/grafana/public/app/core/components/scroll/page_scroll.ts /usr/share/grafana/public/app/core/components/scroll/scroll.ts /usr/share/grafana/public/app/core/components/search/SearchResult.tsx /usr/share/grafana/public/app/core/components/search/search.html /usr/share/grafana/public/app/core/components/search/search.ts /usr/share/grafana/public/app/core/components/search/search_results.html /usr/share/grafana/public/app/core/components/search/search_results.ts /usr/share/grafana/public/app/core/components/sidemenu/BottomNavLinks.test.tsx /usr/share/grafana/public/app/core/components/sidemenu/BottomNavLinks.tsx /usr/share/grafana/public/app/core/components/sidemenu/BottomSection.test.tsx /usr/share/grafana/public/app/core/components/sidemenu/BottomSection.tsx /usr/share/grafana/public/app/core/components/sidemenu/DropDownChild.test.tsx /usr/share/grafana/public/app/core/components/sidemenu/DropDownChild.tsx /usr/share/grafana/public/app/core/components/sidemenu/SideMenu.test.tsx /usr/share/grafana/public/app/core/components/sidemenu/SideMenu.tsx /usr/share/grafana/public/app/core/components/sidemenu/SideMenuDropDown.test.tsx /usr/share/grafana/public/app/core/components/sidemenu/SideMenuDropDown.tsx /usr/share/grafana/public/app/core/components/sidemenu/SignIn.test.tsx /usr/share/grafana/public/app/core/components/sidemenu/SignIn.tsx /usr/share/grafana/public/app/core/components/sidemenu/TopSection.test.tsx /usr/share/grafana/public/app/core/components/sidemenu/TopSection.tsx /usr/share/grafana/public/app/core/components/sidemenu/TopSectionItem.test.tsx /usr/share/grafana/public/app/core/components/sidemenu/TopSectionItem.tsx /usr/share/grafana/public/app/core/components/sidemenu/__snapshots__/BottomNavLinks.test.tsx.snap /usr/share/grafana/public/app/core/components/sidemenu/__snapshots__/BottomSection.test.tsx.snap /usr/share/grafana/public/app/core/components/sidemenu/__snapshots__/DropDownChild.test.tsx.snap /usr/share/grafana/public/app/core/components/sidemenu/__snapshots__/SideMenu.test.tsx.snap /usr/share/grafana/public/app/core/components/sidemenu/__snapshots__/SideMenuDropDown.test.tsx.snap /usr/share/grafana/public/app/core/components/sidemenu/__snapshots__/SignIn.test.tsx.snap /usr/share/grafana/public/app/core/components/sidemenu/__snapshots__/TopSection.test.tsx.snap /usr/share/grafana/public/app/core/components/sidemenu/__snapshots__/TopSectionItem.test.tsx.snap /usr/share/grafana/public/app/core/components/sql_part/sql_part.ts /usr/share/grafana/public/app/core/components/sql_part/sql_part_editor.ts /usr/share/grafana/public/app/core/components/switch.ts /usr/share/grafana/public/app/core/config.ts /usr/share/grafana/public/app/core/constants.ts /usr/share/grafana/public/app/core/controllers/all.ts /usr/share/grafana/public/app/core/controllers/error_ctrl.ts /usr/share/grafana/public/app/core/controllers/inspect_ctrl.ts /usr/share/grafana/public/app/core/controllers/invited_ctrl.ts /usr/share/grafana/public/app/core/controllers/json_editor_ctrl.ts /usr/share/grafana/public/app/core/controllers/login_ctrl.ts /usr/share/grafana/public/app/core/controllers/reset_password_ctrl.ts /usr/share/grafana/public/app/core/controllers/signup_ctrl.ts /usr/share/grafana/public/app/core/core.ts /usr/share/grafana/public/app/core/core_module.ts /usr/share/grafana/public/app/core/directives/array_join.ts /usr/share/grafana/public/app/core/directives/dash_class.ts /usr/share/grafana/public/app/core/directives/diff-view.ts /usr/share/grafana/public/app/core/directives/dropdown_typeahead.ts /usr/share/grafana/public/app/core/directives/give_focus.ts /usr/share/grafana/public/app/core/directives/metric_segment.ts /usr/share/grafana/public/app/core/directives/misc.ts /usr/share/grafana/public/app/core/directives/ng_model_on_blur.ts /usr/share/grafana/public/app/core/directives/rebuild_on_change.ts /usr/share/grafana/public/app/core/directives/tags.ts /usr/share/grafana/public/app/core/directives/value_select_dropdown.ts /usr/share/grafana/public/app/core/filters/filters.ts /usr/share/grafana/public/app/core/jquery_extended.ts /usr/share/grafana/public/app/core/live/live_srv.ts /usr/share/grafana/public/app/core/lodash_extended.ts /usr/share/grafana/public/app/core/logs_model.ts /usr/share/grafana/public/app/core/mod_defs.d.ts /usr/share/grafana/public/app/core/nav_model_srv.ts /usr/share/grafana/public/app/core/partials.ts /usr/share/grafana/public/app/core/profiler.ts /usr/share/grafana/public/app/core/reducers/index.ts /usr/share/grafana/public/app/core/reducers/location.ts /usr/share/grafana/public/app/core/reducers/navModel.ts /usr/share/grafana/public/app/core/reducers/processsAclItems.ts /usr/share/grafana/public/app/core/selectors/location.ts /usr/share/grafana/public/app/core/selectors/navModel.ts /usr/share/grafana/public/app/core/services/alert_srv.ts /usr/share/grafana/public/app/core/services/all.ts /usr/share/grafana/public/app/core/services/analytics.ts /usr/share/grafana/public/app/core/services/backend_srv.ts /usr/share/grafana/public/app/core/services/bridge_srv.ts /usr/share/grafana/public/app/core/services/context_srv.ts /usr/share/grafana/public/app/core/services/dynamic_directive_srv.ts /usr/share/grafana/public/app/core/services/impression_srv.ts /usr/share/grafana/public/app/core/services/keybindingSrv.ts /usr/share/grafana/public/app/core/services/ng_react.ts /usr/share/grafana/public/app/core/services/popover_srv.ts /usr/share/grafana/public/app/core/services/search_srv.ts /usr/share/grafana/public/app/core/services/segment_srv.ts /usr/share/grafana/public/app/core/services/timer.ts /usr/share/grafana/public/app/core/services/util_srv.ts /usr/share/grafana/public/app/core/specs/ColorPalette.test.tsx /usr/share/grafana/public/app/core/specs/PasswordStrength.test.tsx /usr/share/grafana/public/app/core/specs/__snapshots__/ColorPalette.test.tsx.snap /usr/share/grafana/public/app/core/specs/backend_srv.test.ts /usr/share/grafana/public/app/core/specs/datemath.test.ts /usr/share/grafana/public/app/core/specs/emitter.test.ts /usr/share/grafana/public/app/core/specs/file_export.test.ts /usr/share/grafana/public/app/core/specs/flatten.test.ts /usr/share/grafana/public/app/core/specs/kbn.test.ts /usr/share/grafana/public/app/core/specs/location_util.test.ts /usr/share/grafana/public/app/core/specs/manage_dashboards.test.ts /usr/share/grafana/public/app/core/specs/org_switcher.test.ts /usr/share/grafana/public/app/core/specs/rangeutil.test.ts /usr/share/grafana/public/app/core/specs/search.test.ts /usr/share/grafana/public/app/core/specs/search_results.test.ts /usr/share/grafana/public/app/core/specs/search_srv.test.ts /usr/share/grafana/public/app/core/specs/store.test.ts /usr/share/grafana/public/app/core/specs/table_model.test.ts /usr/share/grafana/public/app/core/specs/ticks.test.ts /usr/share/grafana/public/app/core/specs/time_series.test.ts /usr/share/grafana/public/app/core/specs/url.test.ts /usr/share/grafana/public/app/core/specs/value_select_dropdown.test.ts /usr/share/grafana/public/app/core/store.ts /usr/share/grafana/public/app/core/table_model.ts /usr/share/grafana/public/app/core/time_series2.ts /usr/share/grafana/public/app/core/utils/acl.ts /usr/share/grafana/public/app/core/utils/colors.ts /usr/share/grafana/public/app/core/utils/css_loader.ts /usr/share/grafana/public/app/core/utils/dag.test.ts /usr/share/grafana/public/app/core/utils/dag.ts /usr/share/grafana/public/app/core/utils/datemath.ts /usr/share/grafana/public/app/core/utils/emitter.ts /usr/share/grafana/public/app/core/utils/explore.test.ts /usr/share/grafana/public/app/core/utils/explore.ts /usr/share/grafana/public/app/core/utils/file_export.ts /usr/share/grafana/public/app/core/utils/flatten.ts /usr/share/grafana/public/app/core/utils/kbn.ts /usr/share/grafana/public/app/core/utils/location_util.ts /usr/share/grafana/public/app/core/utils/model_utils.ts /usr/share/grafana/public/app/core/utils/outline.ts /usr/share/grafana/public/app/core/utils/rangeutil.ts /usr/share/grafana/public/app/core/utils/react2angular.ts /usr/share/grafana/public/app/core/utils/sort_by_keys.ts /usr/share/grafana/public/app/core/utils/tags.ts /usr/share/grafana/public/app/core/utils/ticks.ts /usr/share/grafana/public/app/core/utils/url.ts /usr/share/grafana/public/app/core/utils/version.ts /usr/share/grafana/public/app/dev.ts /usr/share/grafana/public/app/features/admin/AdminEditOrgCtrl.ts /usr/share/grafana/public/app/features/admin/AdminEditUserCtrl.ts /usr/share/grafana/public/app/features/admin/AdminListOrgsCtrl.ts /usr/share/grafana/public/app/features/admin/AdminListUsersCtrl.ts /usr/share/grafana/public/app/features/admin/ServerStats.test.tsx /usr/share/grafana/public/app/features/admin/ServerStats.tsx /usr/share/grafana/public/app/features/admin/StyleGuideCtrl.ts /usr/share/grafana/public/app/features/admin/__snapshots__/ServerStats.test.tsx.snap /usr/share/grafana/public/app/features/admin/index.ts /usr/share/grafana/public/app/features/admin/partials/admin_home.html /usr/share/grafana/public/app/features/admin/partials/edit_org.html /usr/share/grafana/public/app/features/admin/partials/edit_user.html /usr/share/grafana/public/app/features/admin/partials/new_user.html /usr/share/grafana/public/app/features/admin/partials/orgs.html /usr/share/grafana/public/app/features/admin/partials/settings.html /usr/share/grafana/public/app/features/admin/partials/stats.html /usr/share/grafana/public/app/features/admin/partials/styleguide.html /usr/share/grafana/public/app/features/admin/partials/users.html /usr/share/grafana/public/app/features/admin/state/apis.ts /usr/share/grafana/public/app/features/alerting/AlertRuleItem.test.tsx /usr/share/grafana/public/app/features/alerting/AlertRuleItem.tsx /usr/share/grafana/public/app/features/alerting/AlertRuleList.test.tsx /usr/share/grafana/public/app/features/alerting/AlertRuleList.tsx /usr/share/grafana/public/app/features/alerting/AlertTabCtrl.ts /usr/share/grafana/public/app/features/alerting/NotificationsEditCtrl.ts /usr/share/grafana/public/app/features/alerting/NotificationsListCtrl.ts /usr/share/grafana/public/app/features/alerting/__snapshots__/AlertRuleItem.test.tsx.snap /usr/share/grafana/public/app/features/alerting/__snapshots__/AlertRuleList.test.tsx.snap /usr/share/grafana/public/app/features/alerting/partials/alert_howto.html /usr/share/grafana/public/app/features/alerting/partials/alert_tab.html /usr/share/grafana/public/app/features/alerting/partials/notification_edit.html /usr/share/grafana/public/app/features/alerting/partials/notifications_list.html /usr/share/grafana/public/app/features/alerting/state/ThresholdMapper.test.ts /usr/share/grafana/public/app/features/alerting/state/ThresholdMapper.ts /usr/share/grafana/public/app/features/alerting/state/actions.ts /usr/share/grafana/public/app/features/alerting/state/alertDef.ts /usr/share/grafana/public/app/features/alerting/state/reducers.test.ts /usr/share/grafana/public/app/features/alerting/state/reducers.ts /usr/share/grafana/public/app/features/alerting/state/selectors.test.ts /usr/share/grafana/public/app/features/alerting/state/selectors.ts /usr/share/grafana/public/app/features/all.ts /usr/share/grafana/public/app/features/annotations/all.ts /usr/share/grafana/public/app/features/annotations/annotation_tooltip.ts /usr/share/grafana/public/app/features/annotations/annotations_srv.ts /usr/share/grafana/public/app/features/annotations/editor_ctrl.ts /usr/share/grafana/public/app/features/annotations/event.ts /usr/share/grafana/public/app/features/annotations/event_editor.ts /usr/share/grafana/public/app/features/annotations/event_manager.ts /usr/share/grafana/public/app/features/annotations/events_processing.ts /usr/share/grafana/public/app/features/annotations/partials/editor.html /usr/share/grafana/public/app/features/annotations/partials/event_editor.html /usr/share/grafana/public/app/features/annotations/specs/annotations_srv.test.ts /usr/share/grafana/public/app/features/annotations/specs/annotations_srv_specs.test.ts /usr/share/grafana/public/app/features/api-keys/ApiKeysAddedModal.test.tsx /usr/share/grafana/public/app/features/api-keys/ApiKeysAddedModal.tsx /usr/share/grafana/public/app/features/api-keys/ApiKeysPage.test.tsx /usr/share/grafana/public/app/features/api-keys/ApiKeysPage.tsx /usr/share/grafana/public/app/features/api-keys/__mocks__/apiKeysMock.ts /usr/share/grafana/public/app/features/api-keys/__snapshots__/ApiKeysAddedModal.test.tsx.snap /usr/share/grafana/public/app/features/api-keys/__snapshots__/ApiKeysPage.test.tsx.snap /usr/share/grafana/public/app/features/api-keys/state/actions.ts /usr/share/grafana/public/app/features/api-keys/state/reducers.test.ts /usr/share/grafana/public/app/features/api-keys/state/reducers.ts /usr/share/grafana/public/app/features/api-keys/state/selectors.test.ts /usr/share/grafana/public/app/features/api-keys/state/selectors.ts /usr/share/grafana/public/app/features/dashboard/ad_hoc_filters.ts /usr/share/grafana/public/app/features/dashboard/alerting_srv.ts /usr/share/grafana/public/app/features/dashboard/all.ts /usr/share/grafana/public/app/features/dashboard/change_tracker.ts /usr/share/grafana/public/app/features/dashboard/create_folder_ctrl.ts /usr/share/grafana/public/app/features/dashboard/dashboard_ctrl.ts /usr/share/grafana/public/app/features/dashboard/dashboard_import_ctrl.ts /usr/share/grafana/public/app/features/dashboard/dashboard_loader_srv.ts /usr/share/grafana/public/app/features/dashboard/dashboard_migration.ts /usr/share/grafana/public/app/features/dashboard/dashboard_model.ts /usr/share/grafana/public/app/features/dashboard/dashboard_srv.ts /usr/share/grafana/public/app/features/dashboard/dashgrid/AddPanelPanel.tsx /usr/share/grafana/public/app/features/dashboard/dashgrid/DashboardGrid.tsx /usr/share/grafana/public/app/features/dashboard/dashgrid/DashboardGridDirective.ts /usr/share/grafana/public/app/features/dashboard/dashgrid/DashboardPanel.tsx /usr/share/grafana/public/app/features/dashboard/dashgrid/DashboardRow.tsx /usr/share/grafana/public/app/features/dashboard/dashgrid/PanelContainer.ts /usr/share/grafana/public/app/features/dashboard/dashgrid/PanelLoader.ts /usr/share/grafana/public/app/features/dashboard/dashgrid/RowOptions.ts /usr/share/grafana/public/app/features/dashboard/dashlinks/editor.html /usr/share/grafana/public/app/features/dashboard/dashlinks/editor.ts /usr/share/grafana/public/app/features/dashboard/dashlinks/module.ts /usr/share/grafana/public/app/features/dashboard/dashnav/dashnav.html /usr/share/grafana/public/app/features/dashboard/dashnav/dashnav.ts /usr/share/grafana/public/app/features/dashboard/export/export_modal.html /usr/share/grafana/public/app/features/dashboard/export/export_modal.ts /usr/share/grafana/public/app/features/dashboard/export/exporter.ts /usr/share/grafana/public/app/features/dashboard/export_data/export_data_modal.html /usr/share/grafana/public/app/features/dashboard/export_data/export_data_modal.ts /usr/share/grafana/public/app/features/dashboard/folder_dashboards_ctrl.ts /usr/share/grafana/public/app/features/dashboard/folder_page_loader.ts /usr/share/grafana/public/app/features/dashboard/folder_permissions_ctrl.ts /usr/share/grafana/public/app/features/dashboard/folder_picker/folder_picker.html /usr/share/grafana/public/app/features/dashboard/folder_picker/folder_picker.ts /usr/share/grafana/public/app/features/dashboard/history/history.html /usr/share/grafana/public/app/features/dashboard/history/history.ts /usr/share/grafana/public/app/features/dashboard/history/history_srv.ts /usr/share/grafana/public/app/features/dashboard/move_to_folder_modal/move_to_folder.html /usr/share/grafana/public/app/features/dashboard/move_to_folder_modal/move_to_folder.ts /usr/share/grafana/public/app/features/dashboard/panel_model.ts /usr/share/grafana/public/app/features/dashboard/panellinks/link_srv.ts /usr/share/grafana/public/app/features/dashboard/panellinks/module.html /usr/share/grafana/public/app/features/dashboard/panellinks/module.ts /usr/share/grafana/public/app/features/dashboard/panellinks/specs/link_srv.test.ts /usr/share/grafana/public/app/features/dashboard/partials/create_folder.html /usr/share/grafana/public/app/features/dashboard/partials/dashboard_import.html /usr/share/grafana/public/app/features/dashboard/partials/folder_dashboards.html /usr/share/grafana/public/app/features/dashboard/partials/folder_permissions.html /usr/share/grafana/public/app/features/dashboard/partials/folder_settings.html /usr/share/grafana/public/app/features/dashboard/partials/inspector.html /usr/share/grafana/public/app/features/dashboard/partials/row_options.html /usr/share/grafana/public/app/features/dashboard/partials/shareModal.html /usr/share/grafana/public/app/features/dashboard/permissions/DashboardPermissions.tsx /usr/share/grafana/public/app/features/dashboard/repeat_option/repeat_option.ts /usr/share/grafana/public/app/features/dashboard/save_as_modal.ts /usr/share/grafana/public/app/features/dashboard/save_modal.ts /usr/share/grafana/public/app/features/dashboard/save_provisioned_modal.ts /usr/share/grafana/public/app/features/dashboard/settings/settings.html /usr/share/grafana/public/app/features/dashboard/settings/settings.ts /usr/share/grafana/public/app/features/dashboard/shareModalCtrl.ts /usr/share/grafana/public/app/features/dashboard/share_snapshot_ctrl.ts /usr/share/grafana/public/app/features/dashboard/specs/AddPanelPanel.test.tsx /usr/share/grafana/public/app/features/dashboard/specs/DashboardRow.test.tsx /usr/share/grafana/public/app/features/dashboard/specs/change_tracker.test.ts /usr/share/grafana/public/app/features/dashboard/specs/dashboard_import_ctrl.test.ts /usr/share/grafana/public/app/features/dashboard/specs/dashboard_migration.test.ts /usr/share/grafana/public/app/features/dashboard/specs/dashboard_model.test.ts /usr/share/grafana/public/app/features/dashboard/specs/exporter.test.ts /usr/share/grafana/public/app/features/dashboard/specs/history_ctrl.test.ts /usr/share/grafana/public/app/features/dashboard/specs/history_mocks.ts /usr/share/grafana/public/app/features/dashboard/specs/history_srv.test.ts /usr/share/grafana/public/app/features/dashboard/specs/repeat.test.ts /usr/share/grafana/public/app/features/dashboard/specs/save_as_modal.test.ts /usr/share/grafana/public/app/features/dashboard/specs/save_modal.test.ts /usr/share/grafana/public/app/features/dashboard/specs/save_provisioned_modal.test.ts /usr/share/grafana/public/app/features/dashboard/specs/share_modal_ctrl.test.ts /usr/share/grafana/public/app/features/dashboard/specs/time_srv.test.ts /usr/share/grafana/public/app/features/dashboard/specs/viewstate_srv.test.ts /usr/share/grafana/public/app/features/dashboard/state/actions.ts /usr/share/grafana/public/app/features/dashboard/state/reducers.test.ts /usr/share/grafana/public/app/features/dashboard/state/reducers.ts /usr/share/grafana/public/app/features/dashboard/submenu/submenu.html /usr/share/grafana/public/app/features/dashboard/submenu/submenu.ts /usr/share/grafana/public/app/features/dashboard/time_srv.ts /usr/share/grafana/public/app/features/dashboard/timepicker/input_date.ts /usr/share/grafana/public/app/features/dashboard/timepicker/settings.html /usr/share/grafana/public/app/features/dashboard/timepicker/timepicker.html /usr/share/grafana/public/app/features/dashboard/timepicker/timepicker.ts /usr/share/grafana/public/app/features/dashboard/unsaved_changes_modal.ts /usr/share/grafana/public/app/features/dashboard/unsaved_changes_srv.ts /usr/share/grafana/public/app/features/dashboard/upload.ts /usr/share/grafana/public/app/features/dashboard/validation_srv.ts /usr/share/grafana/public/app/features/dashboard/view_state_srv.ts /usr/share/grafana/public/app/features/datasources/DataSourceList.test.tsx /usr/share/grafana/public/app/features/datasources/DataSourcesActionBar.test.tsx /usr/share/grafana/public/app/features/datasources/DataSourcesActionBar.tsx /usr/share/grafana/public/app/features/datasources/DataSourcesList.tsx /usr/share/grafana/public/app/features/datasources/DataSourcesListItem.test.tsx /usr/share/grafana/public/app/features/datasources/DataSourcesListItem.tsx /usr/share/grafana/public/app/features/datasources/DataSourcesListPage.test.tsx /usr/share/grafana/public/app/features/datasources/DataSourcesListPage.tsx /usr/share/grafana/public/app/features/datasources/__mocks__/dataSourcesMocks.ts /usr/share/grafana/public/app/features/datasources/__snapshots__/DataSourceList.test.tsx.snap /usr/share/grafana/public/app/features/datasources/__snapshots__/DataSourcesActionBar.test.tsx.snap /usr/share/grafana/public/app/features/datasources/__snapshots__/DataSourcesListItem.test.tsx.snap /usr/share/grafana/public/app/features/datasources/__snapshots__/DataSourcesListPage.test.tsx.snap /usr/share/grafana/public/app/features/datasources/state/actions.ts /usr/share/grafana/public/app/features/datasources/state/reducers.ts /usr/share/grafana/public/app/features/datasources/state/selectors.ts /usr/share/grafana/public/app/features/explore/ElapsedTime.tsx /usr/share/grafana/public/app/features/explore/Explore.tsx /usr/share/grafana/public/app/features/explore/Graph.test.tsx /usr/share/grafana/public/app/features/explore/Graph.tsx /usr/share/grafana/public/app/features/explore/JSONViewer.tsx /usr/share/grafana/public/app/features/explore/Legend.tsx /usr/share/grafana/public/app/features/explore/Logs.tsx /usr/share/grafana/public/app/features/explore/PromQueryField.test.tsx /usr/share/grafana/public/app/features/explore/PromQueryField.tsx /usr/share/grafana/public/app/features/explore/QueryField.tsx /usr/share/grafana/public/app/features/explore/QueryRows.tsx /usr/share/grafana/public/app/features/explore/Table.tsx /usr/share/grafana/public/app/features/explore/TimePicker.test.tsx /usr/share/grafana/public/app/features/explore/TimePicker.tsx /usr/share/grafana/public/app/features/explore/Typeahead.tsx /usr/share/grafana/public/app/features/explore/Value.ts /usr/share/grafana/public/app/features/explore/Wrapper.tsx /usr/share/grafana/public/app/features/explore/__mocks__/mockData.ts /usr/share/grafana/public/app/features/explore/__snapshots__/Graph.test.tsx.snap /usr/share/grafana/public/app/features/explore/slate-plugins/braces.test.ts /usr/share/grafana/public/app/features/explore/slate-plugins/braces.ts /usr/share/grafana/public/app/features/explore/slate-plugins/clear.test.ts /usr/share/grafana/public/app/features/explore/slate-plugins/clear.ts /usr/share/grafana/public/app/features/explore/slate-plugins/newline.ts /usr/share/grafana/public/app/features/explore/slate-plugins/prism/promql.ts /usr/share/grafana/public/app/features/explore/slate-plugins/runner.ts /usr/share/grafana/public/app/features/explore/utils/debounce.ts /usr/share/grafana/public/app/features/explore/utils/dom.ts /usr/share/grafana/public/app/features/explore/utils/prometheus.test.ts /usr/share/grafana/public/app/features/explore/utils/prometheus.ts /usr/share/grafana/public/app/features/explore/utils/query.ts /usr/share/grafana/public/app/features/folders/FolderPermissions.tsx /usr/share/grafana/public/app/features/folders/FolderSettingsPage.test.tsx /usr/share/grafana/public/app/features/folders/FolderSettingsPage.tsx /usr/share/grafana/public/app/features/folders/__snapshots__/FolderSettingsPage.test.tsx.snap /usr/share/grafana/public/app/features/folders/state/actions.ts /usr/share/grafana/public/app/features/folders/state/navModel.ts /usr/share/grafana/public/app/features/folders/state/reducers.test.ts /usr/share/grafana/public/app/features/folders/state/reducers.ts /usr/share/grafana/public/app/features/manage-dashboards/DashboardListCtrl.ts /usr/share/grafana/public/app/features/manage-dashboards/SnapshotListCtrl.ts /usr/share/grafana/public/app/features/manage-dashboards/index.ts /usr/share/grafana/public/app/features/manage-dashboards/partials/dashboard_list.html /usr/share/grafana/public/app/features/manage-dashboards/partials/snapshot_list.html /usr/share/grafana/public/app/features/org/all.ts /usr/share/grafana/public/app/features/org/change_password_ctrl.ts /usr/share/grafana/public/app/features/org/create_team_ctrl.ts /usr/share/grafana/public/app/features/org/new_org_ctrl.ts /usr/share/grafana/public/app/features/org/org_details_ctrl.ts /usr/share/grafana/public/app/features/org/org_users_ctrl.ts /usr/share/grafana/public/app/features/org/partials/change_password.html /usr/share/grafana/public/app/features/org/partials/create_team.html /usr/share/grafana/public/app/features/org/partials/invite.html /usr/share/grafana/public/app/features/org/partials/newOrg.html /usr/share/grafana/public/app/features/org/partials/orgDetails.html /usr/share/grafana/public/app/features/org/partials/orgUsers.html /usr/share/grafana/public/app/features/org/partials/profile.html /usr/share/grafana/public/app/features/org/partials/select_org.html /usr/share/grafana/public/app/features/org/prefs_control.ts /usr/share/grafana/public/app/features/org/profile_ctrl.ts /usr/share/grafana/public/app/features/org/select_org_ctrl.ts /usr/share/grafana/public/app/features/org/user_invite_ctrl.ts /usr/share/grafana/public/app/features/panel/all.ts /usr/share/grafana/public/app/features/panel/metrics_panel_ctrl.ts /usr/share/grafana/public/app/features/panel/metrics_tab.ts /usr/share/grafana/public/app/features/panel/panel_ctrl.ts /usr/share/grafana/public/app/features/panel/panel_directive.ts /usr/share/grafana/public/app/features/panel/panel_editor_tab.ts /usr/share/grafana/public/app/features/panel/panel_header.ts /usr/share/grafana/public/app/features/panel/partials/metrics_tab.html /usr/share/grafana/public/app/features/panel/partials/panelTime.html /usr/share/grafana/public/app/features/panel/partials/query_editor_row.html /usr/share/grafana/public/app/features/panel/partials/soloPanel.html /usr/share/grafana/public/app/features/panel/query_ctrl.ts /usr/share/grafana/public/app/features/panel/query_editor_row.ts /usr/share/grafana/public/app/features/panel/query_troubleshooter.ts /usr/share/grafana/public/app/features/panel/solo_panel_ctrl.ts /usr/share/grafana/public/app/features/panel/specs/metrics_panel_ctrl.test.ts /usr/share/grafana/public/app/features/playlist/all.ts /usr/share/grafana/public/app/features/playlist/partials/playlist.html /usr/share/grafana/public/app/features/playlist/partials/playlist_search.html /usr/share/grafana/public/app/features/playlist/partials/playlists.html /usr/share/grafana/public/app/features/playlist/playlist_edit_ctrl.ts /usr/share/grafana/public/app/features/playlist/playlist_routes.ts /usr/share/grafana/public/app/features/playlist/playlist_search.ts /usr/share/grafana/public/app/features/playlist/playlist_srv.ts /usr/share/grafana/public/app/features/playlist/playlists_ctrl.ts /usr/share/grafana/public/app/features/playlist/specs/playlist_edit_ctrl.test.ts /usr/share/grafana/public/app/features/plugins/PluginActionBar.test.tsx /usr/share/grafana/public/app/features/plugins/PluginActionBar.tsx /usr/share/grafana/public/app/features/plugins/PluginList.test.tsx /usr/share/grafana/public/app/features/plugins/PluginList.tsx /usr/share/grafana/public/app/features/plugins/PluginListItem.test.tsx /usr/share/grafana/public/app/features/plugins/PluginListItem.tsx /usr/share/grafana/public/app/features/plugins/PluginListPage.test.tsx /usr/share/grafana/public/app/features/plugins/PluginListPage.tsx /usr/share/grafana/public/app/features/plugins/__mocks__/pluginMocks.ts /usr/share/grafana/public/app/features/plugins/__snapshots__/PluginActionBar.test.tsx.snap /usr/share/grafana/public/app/features/plugins/__snapshots__/PluginList.test.tsx.snap /usr/share/grafana/public/app/features/plugins/__snapshots__/PluginListItem.test.tsx.snap /usr/share/grafana/public/app/features/plugins/__snapshots__/PluginListPage.test.tsx.snap /usr/share/grafana/public/app/features/plugins/all.ts /usr/share/grafana/public/app/features/plugins/built_in_plugins.ts /usr/share/grafana/public/app/features/plugins/datasource_srv.ts /usr/share/grafana/public/app/features/plugins/ds_dashboards_ctrl.ts /usr/share/grafana/public/app/features/plugins/ds_edit_ctrl.ts /usr/share/grafana/public/app/features/plugins/import_list/import_list.html /usr/share/grafana/public/app/features/plugins/import_list/import_list.ts /usr/share/grafana/public/app/features/plugins/partials/ds_dashboards.html /usr/share/grafana/public/app/features/plugins/partials/ds_edit.html /usr/share/grafana/public/app/features/plugins/partials/ds_http_settings.html /usr/share/grafana/public/app/features/plugins/partials/plugin_edit.html /usr/share/grafana/public/app/features/plugins/partials/plugin_page.html /usr/share/grafana/public/app/features/plugins/partials/update_instructions.html /usr/share/grafana/public/app/features/plugins/plugin_component.ts /usr/share/grafana/public/app/features/plugins/plugin_edit_ctrl.ts /usr/share/grafana/public/app/features/plugins/plugin_loader.ts /usr/share/grafana/public/app/features/plugins/plugin_page_ctrl.ts /usr/share/grafana/public/app/features/plugins/specs/datasource_srv.test.ts /usr/share/grafana/public/app/features/plugins/state/actions.ts /usr/share/grafana/public/app/features/plugins/state/navModel.ts /usr/share/grafana/public/app/features/plugins/state/reducers.ts /usr/share/grafana/public/app/features/plugins/state/selectors.test.ts /usr/share/grafana/public/app/features/plugins/state/selectors.ts /usr/share/grafana/public/app/features/teams/TeamGroupSync.test.tsx /usr/share/grafana/public/app/features/teams/TeamGroupSync.tsx /usr/share/grafana/public/app/features/teams/TeamList.test.tsx /usr/share/grafana/public/app/features/teams/TeamList.tsx /usr/share/grafana/public/app/features/teams/TeamMembers.test.tsx /usr/share/grafana/public/app/features/teams/TeamMembers.tsx /usr/share/grafana/public/app/features/teams/TeamPages.test.tsx /usr/share/grafana/public/app/features/teams/TeamPages.tsx /usr/share/grafana/public/app/features/teams/TeamSettings.test.tsx /usr/share/grafana/public/app/features/teams/TeamSettings.tsx /usr/share/grafana/public/app/features/teams/__mocks__/navModelMock.ts /usr/share/grafana/public/app/features/teams/__mocks__/teamMocks.ts /usr/share/grafana/public/app/features/teams/__snapshots__/TeamGroupSync.test.tsx.snap /usr/share/grafana/public/app/features/teams/__snapshots__/TeamList.test.tsx.snap /usr/share/grafana/public/app/features/teams/__snapshots__/TeamMembers.test.tsx.snap /usr/share/grafana/public/app/features/teams/__snapshots__/TeamPages.test.tsx.snap /usr/share/grafana/public/app/features/teams/__snapshots__/TeamSettings.test.tsx.snap /usr/share/grafana/public/app/features/teams/state/actions.ts /usr/share/grafana/public/app/features/teams/state/navModel.ts /usr/share/grafana/public/app/features/teams/state/reducers.test.ts /usr/share/grafana/public/app/features/teams/state/reducers.ts /usr/share/grafana/public/app/features/teams/state/selectors.test.ts /usr/share/grafana/public/app/features/teams/state/selectors.ts /usr/share/grafana/public/app/features/templating/TextBoxVariable.ts /usr/share/grafana/public/app/features/templating/adhoc_variable.ts /usr/share/grafana/public/app/features/templating/all.ts /usr/share/grafana/public/app/features/templating/constant_variable.ts /usr/share/grafana/public/app/features/templating/custom_variable.ts /usr/share/grafana/public/app/features/templating/datasource_variable.ts /usr/share/grafana/public/app/features/templating/editor_ctrl.ts /usr/share/grafana/public/app/features/templating/interval_variable.ts /usr/share/grafana/public/app/features/templating/partials/editor.html /usr/share/grafana/public/app/features/templating/query_variable.ts /usr/share/grafana/public/app/features/templating/specs/adhoc_variable.test.ts /usr/share/grafana/public/app/features/templating/specs/editor_ctrl.test.ts /usr/share/grafana/public/app/features/templating/specs/query_variable.test.ts /usr/share/grafana/public/app/features/templating/specs/template_srv.test.ts /usr/share/grafana/public/app/features/templating/specs/variable.test.ts /usr/share/grafana/public/app/features/templating/specs/variable_srv.test.ts /usr/share/grafana/public/app/features/templating/specs/variable_srv_init.test.ts /usr/share/grafana/public/app/features/templating/template_srv.ts /usr/share/grafana/public/app/features/templating/variable.ts /usr/share/grafana/public/app/features/templating/variable_srv.ts /usr/share/grafana/public/app/index.ts /usr/share/grafana/public/app/partials/confirm_modal.html /usr/share/grafana/public/app/partials/dashboard.html /usr/share/grafana/public/app/partials/edit_json.html /usr/share/grafana/public/app/partials/error.html /usr/share/grafana/public/app/partials/login.html /usr/share/grafana/public/app/partials/modal.html /usr/share/grafana/public/app/partials/panelgeneral.html /usr/share/grafana/public/app/partials/reset_password.html /usr/share/grafana/public/app/partials/signup_invited.html /usr/share/grafana/public/app/partials/signup_step2.html /usr/share/grafana/public/app/partials/valueSelectDropdown.html /usr/share/grafana/public/app/plugins/datasource/cloudwatch/README.md /usr/share/grafana/public/app/plugins/datasource/cloudwatch/config_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/cloudwatch/datasource.d.ts /usr/share/grafana/public/app/plugins/datasource/cloudwatch/datasource.ts /usr/share/grafana/public/app/plugins/datasource/cloudwatch/img/amazon-web-services.png /usr/share/grafana/public/app/plugins/datasource/cloudwatch/module.ts /usr/share/grafana/public/app/plugins/datasource/cloudwatch/partials/annotations.editor.html /usr/share/grafana/public/app/plugins/datasource/cloudwatch/partials/config.html /usr/share/grafana/public/app/plugins/datasource/cloudwatch/partials/query.editor.html /usr/share/grafana/public/app/plugins/datasource/cloudwatch/partials/query.parameter.html /usr/share/grafana/public/app/plugins/datasource/cloudwatch/plugin.json /usr/share/grafana/public/app/plugins/datasource/cloudwatch/query_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/cloudwatch/query_parameter_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/cloudwatch/specs/datasource.test.ts /usr/share/grafana/public/app/plugins/datasource/elasticsearch/README.md /usr/share/grafana/public/app/plugins/datasource/elasticsearch/bucket_agg.ts /usr/share/grafana/public/app/plugins/datasource/elasticsearch/config_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/elasticsearch/datasource.ts /usr/share/grafana/public/app/plugins/datasource/elasticsearch/elastic_response.ts /usr/share/grafana/public/app/plugins/datasource/elasticsearch/img/elasticsearch.svg /usr/share/grafana/public/app/plugins/datasource/elasticsearch/index_pattern.ts /usr/share/grafana/public/app/plugins/datasource/elasticsearch/metric_agg.ts /usr/share/grafana/public/app/plugins/datasource/elasticsearch/module.ts /usr/share/grafana/public/app/plugins/datasource/elasticsearch/partials/annotations.editor.html /usr/share/grafana/public/app/plugins/datasource/elasticsearch/partials/bucket_agg.html /usr/share/grafana/public/app/plugins/datasource/elasticsearch/partials/config.html /usr/share/grafana/public/app/plugins/datasource/elasticsearch/partials/metric_agg.html /usr/share/grafana/public/app/plugins/datasource/elasticsearch/partials/query.editor.html /usr/share/grafana/public/app/plugins/datasource/elasticsearch/plugin.json /usr/share/grafana/public/app/plugins/datasource/elasticsearch/query_builder.ts /usr/share/grafana/public/app/plugins/datasource/elasticsearch/query_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/elasticsearch/query_def.ts /usr/share/grafana/public/app/plugins/datasource/elasticsearch/query_help.md /usr/share/grafana/public/app/plugins/datasource/elasticsearch/specs/datasource.test.ts /usr/share/grafana/public/app/plugins/datasource/elasticsearch/specs/elastic_response.test.ts /usr/share/grafana/public/app/plugins/datasource/elasticsearch/specs/index_pattern.test.ts /usr/share/grafana/public/app/plugins/datasource/elasticsearch/specs/query_builder.test.ts /usr/share/grafana/public/app/plugins/datasource/elasticsearch/specs/query_def.test.ts /usr/share/grafana/public/app/plugins/datasource/grafana-live/_plugin.json /usr/share/grafana/public/app/plugins/datasource/grafana-live/datasource.ts /usr/share/grafana/public/app/plugins/datasource/grafana-live/module.ts /usr/share/grafana/public/app/plugins/datasource/grafana-live/partials/query.editor.html /usr/share/grafana/public/app/plugins/datasource/grafana/README.md /usr/share/grafana/public/app/plugins/datasource/grafana/datasource.ts /usr/share/grafana/public/app/plugins/datasource/grafana/module.ts /usr/share/grafana/public/app/plugins/datasource/grafana/partials/annotations.editor.html /usr/share/grafana/public/app/plugins/datasource/grafana/partials/query.editor.html /usr/share/grafana/public/app/plugins/datasource/grafana/plugin.json /usr/share/grafana/public/app/plugins/datasource/grafana/specs/datasource.test.ts /usr/share/grafana/public/app/plugins/datasource/graphite/README.md /usr/share/grafana/public/app/plugins/datasource/graphite/add_graphite_func.ts /usr/share/grafana/public/app/plugins/datasource/graphite/config_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/graphite/dashboards/carbon_metrics.json /usr/share/grafana/public/app/plugins/datasource/graphite/datasource.ts /usr/share/grafana/public/app/plugins/datasource/graphite/func_editor.ts /usr/share/grafana/public/app/plugins/datasource/graphite/gfunc.ts /usr/share/grafana/public/app/plugins/datasource/graphite/graphite_query.ts /usr/share/grafana/public/app/plugins/datasource/graphite/img/graphite_logo.png /usr/share/grafana/public/app/plugins/datasource/graphite/lexer.ts /usr/share/grafana/public/app/plugins/datasource/graphite/module.ts /usr/share/grafana/public/app/plugins/datasource/graphite/parser.ts /usr/share/grafana/public/app/plugins/datasource/graphite/partials/annotations.editor.html /usr/share/grafana/public/app/plugins/datasource/graphite/partials/config.html /usr/share/grafana/public/app/plugins/datasource/graphite/partials/query.editor.html /usr/share/grafana/public/app/plugins/datasource/graphite/plugin.json /usr/share/grafana/public/app/plugins/datasource/graphite/query_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/graphite/query_help.md /usr/share/grafana/public/app/plugins/datasource/graphite/specs/datasource.test.ts /usr/share/grafana/public/app/plugins/datasource/graphite/specs/gfunc.test.ts /usr/share/grafana/public/app/plugins/datasource/graphite/specs/graphite_query.test.ts /usr/share/grafana/public/app/plugins/datasource/graphite/specs/lexer.test.ts /usr/share/grafana/public/app/plugins/datasource/graphite/specs/parser.test.ts /usr/share/grafana/public/app/plugins/datasource/graphite/specs/query_ctrl.test.ts /usr/share/grafana/public/app/plugins/datasource/influxdb/README.md /usr/share/grafana/public/app/plugins/datasource/influxdb/datasource.ts /usr/share/grafana/public/app/plugins/datasource/influxdb/img/influxdb_logo.svg /usr/share/grafana/public/app/plugins/datasource/influxdb/influx_query.ts /usr/share/grafana/public/app/plugins/datasource/influxdb/influx_series.ts /usr/share/grafana/public/app/plugins/datasource/influxdb/module.ts /usr/share/grafana/public/app/plugins/datasource/influxdb/partials/annotations.editor.html /usr/share/grafana/public/app/plugins/datasource/influxdb/partials/config.html /usr/share/grafana/public/app/plugins/datasource/influxdb/partials/query.editor.html /usr/share/grafana/public/app/plugins/datasource/influxdb/plugin.json /usr/share/grafana/public/app/plugins/datasource/influxdb/query_builder.ts /usr/share/grafana/public/app/plugins/datasource/influxdb/query_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/influxdb/query_help.md /usr/share/grafana/public/app/plugins/datasource/influxdb/query_part.ts /usr/share/grafana/public/app/plugins/datasource/influxdb/response_parser.ts /usr/share/grafana/public/app/plugins/datasource/influxdb/specs/datasource.test.ts /usr/share/grafana/public/app/plugins/datasource/influxdb/specs/influx_query.test.ts /usr/share/grafana/public/app/plugins/datasource/influxdb/specs/influx_series.test.ts /usr/share/grafana/public/app/plugins/datasource/influxdb/specs/query_builder.test.ts /usr/share/grafana/public/app/plugins/datasource/influxdb/specs/query_ctrl.test.ts /usr/share/grafana/public/app/plugins/datasource/influxdb/specs/query_part.test.ts /usr/share/grafana/public/app/plugins/datasource/influxdb/specs/response_parser.test.ts /usr/share/grafana/public/app/plugins/datasource/logging/README.md /usr/share/grafana/public/app/plugins/datasource/logging/datasource.test.ts /usr/share/grafana/public/app/plugins/datasource/logging/datasource.ts /usr/share/grafana/public/app/plugins/datasource/logging/img/grafana_icon.svg /usr/share/grafana/public/app/plugins/datasource/logging/module.ts /usr/share/grafana/public/app/plugins/datasource/logging/partials/config.html /usr/share/grafana/public/app/plugins/datasource/logging/plugin.json /usr/share/grafana/public/app/plugins/datasource/logging/result_transformer.test.ts /usr/share/grafana/public/app/plugins/datasource/logging/result_transformer.ts /usr/share/grafana/public/app/plugins/datasource/mixed/README.md /usr/share/grafana/public/app/plugins/datasource/mixed/datasource.ts /usr/share/grafana/public/app/plugins/datasource/mixed/module.ts /usr/share/grafana/public/app/plugins/datasource/mixed/plugin.json /usr/share/grafana/public/app/plugins/datasource/mssql/README.md /usr/share/grafana/public/app/plugins/datasource/mssql/datasource.ts /usr/share/grafana/public/app/plugins/datasource/mssql/img/sql_server_logo.svg /usr/share/grafana/public/app/plugins/datasource/mssql/module.ts /usr/share/grafana/public/app/plugins/datasource/mssql/partials/annotations.editor.html /usr/share/grafana/public/app/plugins/datasource/mssql/partials/config.html /usr/share/grafana/public/app/plugins/datasource/mssql/partials/query.editor.html /usr/share/grafana/public/app/plugins/datasource/mssql/plugin.json /usr/share/grafana/public/app/plugins/datasource/mssql/query_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/mssql/response_parser.ts /usr/share/grafana/public/app/plugins/datasource/mssql/specs/datasource.test.ts /usr/share/grafana/public/app/plugins/datasource/mysql/README.md /usr/share/grafana/public/app/plugins/datasource/mysql/datasource.ts /usr/share/grafana/public/app/plugins/datasource/mysql/img/mysql_logo.svg /usr/share/grafana/public/app/plugins/datasource/mysql/module.ts /usr/share/grafana/public/app/plugins/datasource/mysql/partials/annotations.editor.html /usr/share/grafana/public/app/plugins/datasource/mysql/partials/config.html /usr/share/grafana/public/app/plugins/datasource/mysql/partials/query.editor.html /usr/share/grafana/public/app/plugins/datasource/mysql/plugin.json /usr/share/grafana/public/app/plugins/datasource/mysql/query_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/mysql/response_parser.ts /usr/share/grafana/public/app/plugins/datasource/mysql/specs/datasource.test.ts /usr/share/grafana/public/app/plugins/datasource/opentsdb/README.md /usr/share/grafana/public/app/plugins/datasource/opentsdb/config_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/opentsdb/datasource.d.ts /usr/share/grafana/public/app/plugins/datasource/opentsdb/datasource.ts /usr/share/grafana/public/app/plugins/datasource/opentsdb/img/opentsdb_logo.png /usr/share/grafana/public/app/plugins/datasource/opentsdb/module.ts /usr/share/grafana/public/app/plugins/datasource/opentsdb/partials/annotations.editor.html /usr/share/grafana/public/app/plugins/datasource/opentsdb/partials/config.html /usr/share/grafana/public/app/plugins/datasource/opentsdb/partials/query.editor.html /usr/share/grafana/public/app/plugins/datasource/opentsdb/plugin.json /usr/share/grafana/public/app/plugins/datasource/opentsdb/query_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/opentsdb/specs/datasource.test.ts /usr/share/grafana/public/app/plugins/datasource/opentsdb/specs/query_ctrl.test.ts /usr/share/grafana/public/app/plugins/datasource/postgres/README.md /usr/share/grafana/public/app/plugins/datasource/postgres/config_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/postgres/datasource.ts /usr/share/grafana/public/app/plugins/datasource/postgres/img/postgresql_logo.svg /usr/share/grafana/public/app/plugins/datasource/postgres/meta_query.ts /usr/share/grafana/public/app/plugins/datasource/postgres/mode-sql.js /usr/share/grafana/public/app/plugins/datasource/postgres/module.ts /usr/share/grafana/public/app/plugins/datasource/postgres/partials/annotations.editor.html /usr/share/grafana/public/app/plugins/datasource/postgres/partials/config.html /usr/share/grafana/public/app/plugins/datasource/postgres/partials/query.editor.html /usr/share/grafana/public/app/plugins/datasource/postgres/plugin.json /usr/share/grafana/public/app/plugins/datasource/postgres/postgres_query.ts /usr/share/grafana/public/app/plugins/datasource/postgres/query_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/postgres/response_parser.ts /usr/share/grafana/public/app/plugins/datasource/postgres/specs/datasource.test.ts /usr/share/grafana/public/app/plugins/datasource/postgres/specs/postgres_query.test.ts /usr/share/grafana/public/app/plugins/datasource/postgres/sql_part.ts /usr/share/grafana/public/app/plugins/datasource/prometheus/README.md /usr/share/grafana/public/app/plugins/datasource/prometheus/add_label_to_query.ts /usr/share/grafana/public/app/plugins/datasource/prometheus/completer.ts /usr/share/grafana/public/app/plugins/datasource/prometheus/config_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/prometheus/dashboards/grafana_stats.json /usr/share/grafana/public/app/plugins/datasource/prometheus/dashboards/prometheus_2_stats.json /usr/share/grafana/public/app/plugins/datasource/prometheus/dashboards/prometheus_stats.json /usr/share/grafana/public/app/plugins/datasource/prometheus/datasource.ts /usr/share/grafana/public/app/plugins/datasource/prometheus/img/prometheus_logo.svg /usr/share/grafana/public/app/plugins/datasource/prometheus/metric_find_query.d.ts /usr/share/grafana/public/app/plugins/datasource/prometheus/metric_find_query.ts /usr/share/grafana/public/app/plugins/datasource/prometheus/mode-prometheus.js /usr/share/grafana/public/app/plugins/datasource/prometheus/module.ts /usr/share/grafana/public/app/plugins/datasource/prometheus/partials/annotations.editor.html /usr/share/grafana/public/app/plugins/datasource/prometheus/partials/config.html /usr/share/grafana/public/app/plugins/datasource/prometheus/partials/query.editor.html /usr/share/grafana/public/app/plugins/datasource/prometheus/plugin.json /usr/share/grafana/public/app/plugins/datasource/prometheus/query_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/prometheus/result_transformer.ts /usr/share/grafana/public/app/plugins/datasource/prometheus/snippets/prometheus.js /usr/share/grafana/public/app/plugins/datasource/prometheus/specs/add_label_to_query.test.ts /usr/share/grafana/public/app/plugins/datasource/prometheus/specs/completer.test.ts /usr/share/grafana/public/app/plugins/datasource/prometheus/specs/datasource.test.ts /usr/share/grafana/public/app/plugins/datasource/prometheus/specs/metric_find_query.test.ts /usr/share/grafana/public/app/plugins/datasource/prometheus/specs/result_transformer.test.ts /usr/share/grafana/public/app/plugins/datasource/stackdriver/README.md /usr/share/grafana/public/app/plugins/datasource/stackdriver/annotations_query_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/stackdriver/config_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/stackdriver/constants.ts /usr/share/grafana/public/app/plugins/datasource/stackdriver/datasource.ts /usr/share/grafana/public/app/plugins/datasource/stackdriver/filter_segments.ts /usr/share/grafana/public/app/plugins/datasource/stackdriver/img/stackdriver_logo.png /usr/share/grafana/public/app/plugins/datasource/stackdriver/module.ts /usr/share/grafana/public/app/plugins/datasource/stackdriver/partials/annotations.editor.html /usr/share/grafana/public/app/plugins/datasource/stackdriver/partials/config.html /usr/share/grafana/public/app/plugins/datasource/stackdriver/partials/query.aggregation.html /usr/share/grafana/public/app/plugins/datasource/stackdriver/partials/query.editor.html /usr/share/grafana/public/app/plugins/datasource/stackdriver/partials/query.filter.html /usr/share/grafana/public/app/plugins/datasource/stackdriver/plugin.json /usr/share/grafana/public/app/plugins/datasource/stackdriver/query_aggregation_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/stackdriver/query_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/stackdriver/query_filter_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/stackdriver/specs/datasource.test.ts /usr/share/grafana/public/app/plugins/datasource/stackdriver/specs/query_aggregation_ctrl.test.ts /usr/share/grafana/public/app/plugins/datasource/stackdriver/specs/query_filter_ctrl.test.ts /usr/share/grafana/public/app/plugins/datasource/stackdriver/specs/testData.ts /usr/share/grafana/public/app/plugins/datasource/testdata/datasource.ts /usr/share/grafana/public/app/plugins/datasource/testdata/module.ts /usr/share/grafana/public/app/plugins/datasource/testdata/partials/query.editor.html /usr/share/grafana/public/app/plugins/datasource/testdata/plugin.json /usr/share/grafana/public/app/plugins/datasource/testdata/query_ctrl.ts /usr/share/grafana/public/app/plugins/panel/alertlist/README.md /usr/share/grafana/public/app/plugins/panel/alertlist/editor.html /usr/share/grafana/public/app/plugins/panel/alertlist/img/icn-singlestat-panel.svg /usr/share/grafana/public/app/plugins/panel/alertlist/module.html /usr/share/grafana/public/app/plugins/panel/alertlist/module.ts /usr/share/grafana/public/app/plugins/panel/alertlist/plugin.json /usr/share/grafana/public/app/plugins/panel/dashlist/README.md /usr/share/grafana/public/app/plugins/panel/dashlist/editor.html /usr/share/grafana/public/app/plugins/panel/dashlist/img/icn-dashlist-panel.svg /usr/share/grafana/public/app/plugins/panel/dashlist/module.html /usr/share/grafana/public/app/plugins/panel/dashlist/module.ts /usr/share/grafana/public/app/plugins/panel/dashlist/plugin.json /usr/share/grafana/public/app/plugins/panel/gettingstarted/README.md /usr/share/grafana/public/app/plugins/panel/gettingstarted/editor.html /usr/share/grafana/public/app/plugins/panel/gettingstarted/img/icn-dashlist-panel.svg /usr/share/grafana/public/app/plugins/panel/gettingstarted/module.html /usr/share/grafana/public/app/plugins/panel/gettingstarted/module.ts /usr/share/grafana/public/app/plugins/panel/gettingstarted/plugin.json /usr/share/grafana/public/app/plugins/panel/graph/README.md /usr/share/grafana/public/app/plugins/panel/graph/align_yaxes.ts /usr/share/grafana/public/app/plugins/panel/graph/axes_editor.html /usr/share/grafana/public/app/plugins/panel/graph/axes_editor.ts /usr/share/grafana/public/app/plugins/panel/graph/data_processor.ts /usr/share/grafana/public/app/plugins/panel/graph/graph.ts /usr/share/grafana/public/app/plugins/panel/graph/graph_tooltip.d.ts /usr/share/grafana/public/app/plugins/panel/graph/graph_tooltip.ts /usr/share/grafana/public/app/plugins/panel/graph/histogram.ts /usr/share/grafana/public/app/plugins/panel/graph/img/icn-graph-panel.svg /usr/share/grafana/public/app/plugins/panel/graph/jquery.flot.events.ts /usr/share/grafana/public/app/plugins/panel/graph/legend.ts /usr/share/grafana/public/app/plugins/panel/graph/module.ts /usr/share/grafana/public/app/plugins/panel/graph/plugin.json /usr/share/grafana/public/app/plugins/panel/graph/series_overrides_ctrl.ts /usr/share/grafana/public/app/plugins/panel/graph/specs/align_yaxes.test.ts /usr/share/grafana/public/app/plugins/panel/graph/specs/data_processor.test.ts /usr/share/grafana/public/app/plugins/panel/graph/specs/graph.test.ts /usr/share/grafana/public/app/plugins/panel/graph/specs/graph_ctrl.test.ts /usr/share/grafana/public/app/plugins/panel/graph/specs/graph_tooltip.test.ts /usr/share/grafana/public/app/plugins/panel/graph/specs/histogram.test.ts /usr/share/grafana/public/app/plugins/panel/graph/specs/series_override_ctrl.test.ts /usr/share/grafana/public/app/plugins/panel/graph/specs/threshold_manager.test.ts /usr/share/grafana/public/app/plugins/panel/graph/tab_display.html /usr/share/grafana/public/app/plugins/panel/graph/tab_legend.html /usr/share/grafana/public/app/plugins/panel/graph/template.ts /usr/share/grafana/public/app/plugins/panel/graph/threshold_manager.ts /usr/share/grafana/public/app/plugins/panel/graph/thresholds_form.ts /usr/share/grafana/public/app/plugins/panel/heatmap/README.md /usr/share/grafana/public/app/plugins/panel/heatmap/axes_editor.ts /usr/share/grafana/public/app/plugins/panel/heatmap/color_legend.ts /usr/share/grafana/public/app/plugins/panel/heatmap/color_scale.ts /usr/share/grafana/public/app/plugins/panel/heatmap/display_editor.ts /usr/share/grafana/public/app/plugins/panel/heatmap/heatmap_ctrl.ts /usr/share/grafana/public/app/plugins/panel/heatmap/heatmap_data_converter.ts /usr/share/grafana/public/app/plugins/panel/heatmap/heatmap_tooltip.ts /usr/share/grafana/public/app/plugins/panel/heatmap/img/icn-heatmap-panel.svg /usr/share/grafana/public/app/plugins/panel/heatmap/module.html /usr/share/grafana/public/app/plugins/panel/heatmap/module.ts /usr/share/grafana/public/app/plugins/panel/heatmap/partials/axes_editor.html /usr/share/grafana/public/app/plugins/panel/heatmap/partials/display_editor.html /usr/share/grafana/public/app/plugins/panel/heatmap/plugin.json /usr/share/grafana/public/app/plugins/panel/heatmap/rendering.ts /usr/share/grafana/public/app/plugins/panel/heatmap/specs/heatmap_ctrl.test.ts /usr/share/grafana/public/app/plugins/panel/heatmap/specs/heatmap_data_converter.test.ts /usr/share/grafana/public/app/plugins/panel/pluginlist/README.md /usr/share/grafana/public/app/plugins/panel/pluginlist/editor.html /usr/share/grafana/public/app/plugins/panel/pluginlist/img/icn-dashlist-panel.svg /usr/share/grafana/public/app/plugins/panel/pluginlist/module.html /usr/share/grafana/public/app/plugins/panel/pluginlist/module.ts /usr/share/grafana/public/app/plugins/panel/pluginlist/plugin.json /usr/share/grafana/public/app/plugins/panel/singlestat/README.md /usr/share/grafana/public/app/plugins/panel/singlestat/editor.html /usr/share/grafana/public/app/plugins/panel/singlestat/img/icn-singlestat-panel.svg /usr/share/grafana/public/app/plugins/panel/singlestat/mappings.html /usr/share/grafana/public/app/plugins/panel/singlestat/module.html /usr/share/grafana/public/app/plugins/panel/singlestat/module.ts /usr/share/grafana/public/app/plugins/panel/singlestat/plugin.json /usr/share/grafana/public/app/plugins/panel/singlestat/specs/singlestat.test.ts /usr/share/grafana/public/app/plugins/panel/singlestat/specs/singlestat_panel.test.ts /usr/share/grafana/public/app/plugins/panel/table/README.md /usr/share/grafana/public/app/plugins/panel/table/column_options.html /usr/share/grafana/public/app/plugins/panel/table/column_options.ts /usr/share/grafana/public/app/plugins/panel/table/editor.html /usr/share/grafana/public/app/plugins/panel/table/editor.ts /usr/share/grafana/public/app/plugins/panel/table/img/icn-table-panel.svg /usr/share/grafana/public/app/plugins/panel/table/module.html /usr/share/grafana/public/app/plugins/panel/table/module.ts /usr/share/grafana/public/app/plugins/panel/table/plugin.json /usr/share/grafana/public/app/plugins/panel/table/renderer.ts /usr/share/grafana/public/app/plugins/panel/table/specs/renderer.test.ts /usr/share/grafana/public/app/plugins/panel/table/specs/transformers.test.ts /usr/share/grafana/public/app/plugins/panel/table/transformers.ts /usr/share/grafana/public/app/plugins/panel/text/README.md /usr/share/grafana/public/app/plugins/panel/text/editor.html /usr/share/grafana/public/app/plugins/panel/text/img/icn-text-panel.svg /usr/share/grafana/public/app/plugins/panel/text/module.html /usr/share/grafana/public/app/plugins/panel/text/module.ts /usr/share/grafana/public/app/plugins/panel/text/plugin.json /usr/share/grafana/public/app/plugins/panel/unknown/module.html /usr/share/grafana/public/app/plugins/panel/unknown/module.ts /usr/share/grafana/public/app/plugins/sdk.ts /usr/share/grafana/public/app/routes/ReactContainer.tsx /usr/share/grafana/public/app/routes/dashboard_loaders.ts /usr/share/grafana/public/app/routes/routes.ts /usr/share/grafana/public/app/store/configureStore.ts /usr/share/grafana/public/app/types/acl.ts /usr/share/grafana/public/app/types/alerting.ts /usr/share/grafana/public/app/types/apiKeys.ts /usr/share/grafana/public/app/types/dashboard.ts /usr/share/grafana/public/app/types/datasources.ts /usr/share/grafana/public/app/types/explore.ts /usr/share/grafana/public/app/types/folders.ts /usr/share/grafana/public/app/types/index.ts /usr/share/grafana/public/app/types/location.ts /usr/share/grafana/public/app/types/navModel.ts /usr/share/grafana/public/app/types/plugins.ts /usr/share/grafana/public/app/types/teams.ts /usr/share/grafana/public/app/types/user.ts /usr/share/grafana/public/build/1.4ad1072db19f1dad74f5.js /usr/share/grafana/public/build/1.4ad1072db19f1dad74f5.js.map /usr/share/grafana/public/build/5.4ad1072db19f1dad74f5.js /usr/share/grafana/public/build/5.4ad1072db19f1dad74f5.js.map /usr/share/grafana/public/build/app.4ad1072db19f1dad74f5.js /usr/share/grafana/public/build/app.4ad1072db19f1dad74f5.js.map /usr/share/grafana/public/build/dark.4ad1072db19f1dad74f5.js /usr/share/grafana/public/build/dark.4ad1072db19f1dad74f5.js.map /usr/share/grafana/public/build/explore.4ad1072db19f1dad74f5.js /usr/share/grafana/public/build/explore.4ad1072db19f1dad74f5.js.map /usr/share/grafana/public/build/grafana.dark.css /usr/share/grafana/public/build/grafana.light.css /usr/share/grafana/public/build/light.4ad1072db19f1dad74f5.js /usr/share/grafana/public/build/light.4ad1072db19f1dad74f5.js.map /usr/share/grafana/public/build/vendor.4ad1072db19f1dad74f5.js /usr/share/grafana/public/build/vendor.4ad1072db19f1dad74f5.js.map /usr/share/grafana/public/dashboards/default.json /usr/share/grafana/public/dashboards/home.json /usr/share/grafana/public/dashboards/scripted.js /usr/share/grafana/public/dashboards/scripted_async.js /usr/share/grafana/public/dashboards/scripted_templated.js /usr/share/grafana/public/dashboards/template_vars.json /usr/share/grafana/public/emails/README.md /usr/share/grafana/public/emails/alert_notification.html /usr/share/grafana/public/emails/alert_notification_example.html /usr/share/grafana/public/emails/invited_to_org.html /usr/share/grafana/public/emails/new_user_invite.html /usr/share/grafana/public/emails/reset_password.html /usr/share/grafana/public/emails/signup_started.html /usr/share/grafana/public/emails/welcome_on_signup.html /usr/share/grafana/public/fonts/FontAwesome.otf /usr/share/grafana/public/fonts/fontawesome-webfont.eot /usr/share/grafana/public/fonts/fontawesome-webfont.svg /usr/share/grafana/public/fonts/fontawesome-webfont.ttf /usr/share/grafana/public/fonts/fontawesome-webfont.woff /usr/share/grafana/public/fonts/fontawesome-webfont.woff2 /usr/share/grafana/public/fonts/grafana-icons.eot /usr/share/grafana/public/fonts/grafana-icons.svg /usr/share/grafana/public/fonts/grafana-icons.ttf /usr/share/grafana/public/fonts/grafana-icons.woff /usr/share/grafana/public/fonts/opensans/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2 /usr/share/grafana/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTRWV49_lSm1NYrwo-zkhivY.woff2 /usr/share/grafana/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTT0LW-43aMEzIO6XUTLjad8.woff2 /usr/share/grafana/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTZX5f-9o1vgP2EXwfjgl7AY.woff2 /usr/share/grafana/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTa-j2U0lmluP9RWlSytm3ho.woff2 /usr/share/grafana/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTaaRobkAwv3vxw3jMhVENGA.woff2 /usr/share/grafana/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTegdm0LZdjqr5-oayXSOefg.woff2 /usr/share/grafana/public/fonts/opensans/DXI1ORHCpsQm3Vp6mXoaTf8zf_FOSsgRmwsS7Aa9k2w.woff2 /usr/share/grafana/public/fonts/opensans/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2 /usr/share/grafana/public/fonts/opensans/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2 /usr/share/grafana/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2 /usr/share/grafana/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2 /usr/share/grafana/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2 /usr/share/grafana/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2 /usr/share/grafana/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2 /usr/share/grafana/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2 /usr/share/grafana/public/fonts/opensans/MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2 /usr/share/grafana/public/fonts/opensans/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2 /usr/share/grafana/public/fonts/opensans/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2 /usr/share/grafana/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzBWV49_lSm1NYrwo-zkhivY.woff2 /usr/share/grafana/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzD0LW-43aMEzIO6XUTLjad8.woff2 /usr/share/grafana/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzJX5f-9o1vgP2EXwfjgl7AY.woff2 /usr/share/grafana/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzK-j2U0lmluP9RWlSytm3ho.woff2 /usr/share/grafana/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzKaRobkAwv3vxw3jMhVENGA.woff2 /usr/share/grafana/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff2 /usr/share/grafana/public/fonts/opensans/k3k702ZOKiLJc3WVjuplzP8zf_FOSsgRmwsS7Aa9k2w.woff2 /usr/share/grafana/public/fonts/opensans/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2 /usr/share/grafana/public/fonts/opensans/xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2 /usr/share/grafana/public/fonts/opensans/xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2 /usr/share/grafana/public/fonts/opensans/xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2 /usr/share/grafana/public/fonts/opensans/xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2 /usr/share/grafana/public/fonts/opensans/xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2 /usr/share/grafana/public/fonts/opensans/xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2 /usr/share/grafana/public/fonts/opensans/xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2 /usr/share/grafana/public/fonts/opensans/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2 /usr/share/grafana/public/fonts/roboto/-2n2p-_Y08sg57CNWQfKNvesZW2xOQ-xsNqO47m55DA.woff2 /usr/share/grafana/public/fonts/roboto/1hZf02POANh32k2VkgEoUBTbgVql8nDJpwnrE27mub0.woff2 /usr/share/grafana/public/fonts/roboto/CWB0XYA8bzo0kSThX0UTuA.woff2 /usr/share/grafana/public/fonts/roboto/Fcx7Wwv8OzT71A3E1XOAjvesZW2xOQ-xsNqO47m55DA.woff2 /usr/share/grafana/public/fonts/roboto/K23cxWVTrIFD6DJsEVi07RTbgVql8nDJpwnrE27mub0.woff2 /usr/share/grafana/public/fonts/roboto/NdF9MtnOpLzo-noMoG0miPesZW2xOQ-xsNqO47m55DA.woff2 /usr/share/grafana/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0SYE0-AqJ3nfInTTiDXDjU4.woff2 /usr/share/grafana/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0TTOQ_MqJVwkKsUn0wKzc2I.woff2 /usr/share/grafana/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0TUj_cnvWIuuBMVgbX098Mw.woff2 /usr/share/grafana/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0UbcKLIaa1LC45dFaAfauRA.woff2 /usr/share/grafana/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0Wo_sUJ8uO4YLWRInS22T3Y.woff2 /usr/share/grafana/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0Y4P5ICox8Kq3LLUNMylGO4.woff2 /usr/share/grafana/public/fonts/roboto/OLffGBTaF0XFOW1gnuHF0b6up8jxqWt8HVA3mDhkV_0.woff2 /usr/share/grafana/public/fonts/roboto/OpXUqTo0UgQQhGj_SFdLWBTbgVql8nDJpwnrE27mub0.woff2 /usr/share/grafana/public/fonts/roboto/RxZJdnzeo3R5zSexge8UUVtXRa8TVwTICgirnJhmVJw.woff2 /usr/share/grafana/public/fonts/roboto/WxrXJa0C3KdtC7lMafG4dRTbgVql8nDJpwnrE27mub0.woff2 /usr/share/grafana/public/fonts/roboto/ZLqKeelYbATG60EpZBSDyxJtnKITppOI_IvcXXDNrsc.woff2 /usr/share/grafana/public/fonts/roboto/cDKhRaXnQTOVbaoxwdOr9xTbgVql8nDJpwnrE27mub0.woff2 /usr/share/grafana/public/fonts/roboto/ek4gzZ-GeXAPcSbHtCeQI_esZW2xOQ-xsNqO47m55DA.woff2 /usr/share/grafana/public/fonts/roboto/mErvLBYg_cXG3rLvUsKT_fesZW2xOQ-xsNqO47m55DA.woff2 /usr/share/grafana/public/fonts/roboto/mbmhprMH69Zi6eEPBYVFhRJtnKITppOI_IvcXXDNrsc.woff2 /usr/share/grafana/public/fonts/roboto/mx9Uck6uB63VIKFYnEMXrRJtnKITppOI_IvcXXDNrsc.woff2 /usr/share/grafana/public/fonts/roboto/oHi30kwQWvpCWqAhzHcCSBJtnKITppOI_IvcXXDNrsc.woff2 /usr/share/grafana/public/fonts/roboto/oOeFwZNlrTefzLYmlVV1UBJtnKITppOI_IvcXXDNrsc.woff2 /usr/share/grafana/public/fonts/roboto/rGvHdJnr2l75qb0YND9NyBJtnKITppOI_IvcXXDNrsc.woff2 /usr/share/grafana/public/fonts/roboto/vPcynSL0qHq_6dX7lKVByfesZW2xOQ-xsNqO47m55DA.woff2 /usr/share/grafana/public/fonts/roboto/vSzulfKSK0LLjjfeaxcREhTbgVql8nDJpwnrE27mub0.woff2 /usr/share/grafana/public/img/alert_howto_new.png /usr/share/grafana/public/img/angle_gradient_light_rev.png /usr/share/grafana/public/img/angle_gradient_rev.png /usr/share/grafana/public/img/apple-touch-icon.png /usr/share/grafana/public/img/background_tease.jpg /usr/share/grafana/public/img/browserconfig.xml /usr/share/grafana/public/img/check_radio_sheet.png /usr/share/grafana/public/img/checkbox.png /usr/share/grafana/public/img/checkbox_white.png /usr/share/grafana/public/img/critical.svg /usr/share/grafana/public/img/cubes.png /usr/share/grafana/public/img/envelope.png /usr/share/grafana/public/img/fav32.png /usr/share/grafana/public/img/glyphicons-halflings-white.png /usr/share/grafana/public/img/glyphicons-halflings.png /usr/share/grafana/public/img/grab_dark.svg /usr/share/grafana/public/img/grab_light.svg /usr/share/grafana/public/img/grafana_com_auth_icon.svg /usr/share/grafana/public/img/grafana_icon.svg /usr/share/grafana/public/img/grafana_mask_icon.svg /usr/share/grafana/public/img/grafana_mask_icon_white.svg /usr/share/grafana/public/img/grafana_net_logo.svg /usr/share/grafana/public/img/graph404.svg /usr/share/grafana/public/img/heatmap_bg_test.svg /usr/share/grafana/public/img/icn-app.svg /usr/share/grafana/public/img/icn-dashboard-tiny.svg /usr/share/grafana/public/img/icn-dashboard.svg /usr/share/grafana/public/img/icn-datasource.svg /usr/share/grafana/public/img/icn-panel.svg /usr/share/grafana/public/img/icn-plugins-tiny.svg /usr/share/grafana/public/img/icn-row.svg /usr/share/grafana/public/img/icons_dark_theme/icon_add_annotation.svg /usr/share/grafana/public/img/icons_dark_theme/icon_add_annotation_alt.svg /usr/share/grafana/public/img/icons_dark_theme/icon_add_data_sources.svg /usr/share/grafana/public/img/icons_dark_theme/icon_add_folder.svg /usr/share/grafana/public/img/icons_dark_theme/icon_add_link.svg /usr/share/grafana/public/img/icons_dark_theme/icon_add_notification_channel.svg /usr/share/grafana/public/img/icons_dark_theme/icon_add_panel.svg /usr/share/grafana/public/img/icons_dark_theme/icon_add_team.svg /usr/share/grafana/public/img/icons_dark_theme/icon_add_user.svg /usr/share/grafana/public/img/icons_dark_theme/icon_add_variable.svg /usr/share/grafana/public/img/icons_dark_theme/icon_alert.svg /usr/share/grafana/public/img/icons_dark_theme/icon_alert_alt.svg /usr/share/grafana/public/img/icons_dark_theme/icon_alert_off.svg /usr/share/grafana/public/img/icons_dark_theme/icon_alert_rules.svg /usr/share/grafana/public/img/icons_dark_theme/icon_annotation.svg /usr/share/grafana/public/img/icons_dark_theme/icon_annotation_alt.svg /usr/share/grafana/public/img/icons_dark_theme/icon_apikeys.svg /usr/share/grafana/public/img/icons_dark_theme/icon_cog.svg /usr/share/grafana/public/img/icons_dark_theme/icon_dashboard.svg /usr/share/grafana/public/img/icons_dark_theme/icon_dashboard_fav.svg /usr/share/grafana/public/img/icons_dark_theme/icon_dashboard_list.svg /usr/share/grafana/public/img/icons_dark_theme/icon_data_sources.svg /usr/share/grafana/public/img/icons_dark_theme/icon_editor.svg /usr/share/grafana/public/img/icons_dark_theme/icon_home.svg /usr/share/grafana/public/img/icons_dark_theme/icon_import_dashboard.svg /usr/share/grafana/public/img/icons_dark_theme/icon_json.svg /usr/share/grafana/public/img/icons_dark_theme/icon_link.svg /usr/share/grafana/public/img/icons_dark_theme/icon_new_dashboard.svg /usr/share/grafana/public/img/icons_dark_theme/icon_notification_channels.svg /usr/share/grafana/public/img/icons_dark_theme/icon_org.svg /usr/share/grafana/public/img/icons_dark_theme/icon_playlist.svg /usr/share/grafana/public/img/icons_dark_theme/icon_plugins.svg /usr/share/grafana/public/img/icons_dark_theme/icon_preferences.svg /usr/share/grafana/public/img/icons_dark_theme/icon_question.svg /usr/share/grafana/public/img/icons_dark_theme/icon_shield.svg /usr/share/grafana/public/img/icons_dark_theme/icon_sitemap.svg /usr/share/grafana/public/img/icons_dark_theme/icon_snapshots.svg /usr/share/grafana/public/img/icons_dark_theme/icon_team.svg /usr/share/grafana/public/img/icons_dark_theme/icon_user.svg /usr/share/grafana/public/img/icons_dark_theme/icon_variable.svg /usr/share/grafana/public/img/icons_dark_theme/icon_viewer.svg /usr/share/grafana/public/img/icons_dark_theme/icon_zoom_out.svg /usr/share/grafana/public/img/icons_light_theme/icon_add_annotation.svg /usr/share/grafana/public/img/icons_light_theme/icon_add_annotation_alt.svg /usr/share/grafana/public/img/icons_light_theme/icon_add_data_sources.svg /usr/share/grafana/public/img/icons_light_theme/icon_add_folder.svg /usr/share/grafana/public/img/icons_light_theme/icon_add_link.svg /usr/share/grafana/public/img/icons_light_theme/icon_add_notification_channel.svg /usr/share/grafana/public/img/icons_light_theme/icon_add_panel.svg /usr/share/grafana/public/img/icons_light_theme/icon_add_team.svg /usr/share/grafana/public/img/icons_light_theme/icon_add_user.svg /usr/share/grafana/public/img/icons_light_theme/icon_add_variable.svg /usr/share/grafana/public/img/icons_light_theme/icon_alert.svg /usr/share/grafana/public/img/icons_light_theme/icon_alert_alt.svg /usr/share/grafana/public/img/icons_light_theme/icon_alert_off.svg /usr/share/grafana/public/img/icons_light_theme/icon_alert_rules.svg /usr/share/grafana/public/img/icons_light_theme/icon_annotation.svg /usr/share/grafana/public/img/icons_light_theme/icon_annotation_alt.svg /usr/share/grafana/public/img/icons_light_theme/icon_apikeys.svg /usr/share/grafana/public/img/icons_light_theme/icon_cog.svg /usr/share/grafana/public/img/icons_light_theme/icon_dashboard.svg /usr/share/grafana/public/img/icons_light_theme/icon_dashboard_fav.svg /usr/share/grafana/public/img/icons_light_theme/icon_dashboard_list.svg /usr/share/grafana/public/img/icons_light_theme/icon_data_sources.svg /usr/share/grafana/public/img/icons_light_theme/icon_editor.svg /usr/share/grafana/public/img/icons_light_theme/icon_home.svg /usr/share/grafana/public/img/icons_light_theme/icon_import_dashboard.svg /usr/share/grafana/public/img/icons_light_theme/icon_json.svg /usr/share/grafana/public/img/icons_light_theme/icon_link.svg /usr/share/grafana/public/img/icons_light_theme/icon_new_dashboard.svg /usr/share/grafana/public/img/icons_light_theme/icon_notification_channels.svg /usr/share/grafana/public/img/icons_light_theme/icon_org.svg /usr/share/grafana/public/img/icons_light_theme/icon_playlist.svg /usr/share/grafana/public/img/icons_light_theme/icon_plugins.svg /usr/share/grafana/public/img/icons_light_theme/icon_preferences.svg /usr/share/grafana/public/img/icons_light_theme/icon_question.svg /usr/share/grafana/public/img/icons_light_theme/icon_shield.svg /usr/share/grafana/public/img/icons_light_theme/icon_sitemap.svg /usr/share/grafana/public/img/icons_light_theme/icon_snapshots.svg /usr/share/grafana/public/img/icons_light_theme/icon_team.svg /usr/share/grafana/public/img/icons_light_theme/icon_user.svg /usr/share/grafana/public/img/icons_light_theme/icon_variable.svg /usr/share/grafana/public/img/icons_light_theme/icon_viewer.svg /usr/share/grafana/public/img/icons_light_theme/icon_zoom_out.svg /usr/share/grafana/public/img/light.png /usr/share/grafana/public/img/load.gif /usr/share/grafana/public/img/load_big.gif /usr/share/grafana/public/img/loading-pulse.svg /usr/share/grafana/public/img/logo_transparent_200x.png /usr/share/grafana/public/img/logo_transparent_200x75.png /usr/share/grafana/public/img/logo_transparent_400x.png /usr/share/grafana/public/img/mixed_styles.png /usr/share/grafana/public/img/mstile-150x150.png /usr/share/grafana/public/img/online.svg /usr/share/grafana/public/img/page_header_line.png /usr/share/grafana/public/img/plugin-default-logo_dark.svg /usr/share/grafana/public/img/plugin-default-logo_light.svg /usr/share/grafana/public/img/rendering_error.png /usr/share/grafana/public/img/rendering_limit.png /usr/share/grafana/public/img/rendering_plugin_not_installed.png /usr/share/grafana/public/img/rendering_timeout.png /usr/share/grafana/public/img/transparent.png /usr/share/grafana/public/img/user_profile.png /usr/share/grafana/public/img/warn-tiny.svg /usr/share/grafana/public/img/warn.svg /usr/share/grafana/public/robots.txt /usr/share/grafana/public/sass/_grafana.scss /usr/share/grafana/public/sass/_old_responsive.scss /usr/share/grafana/public/sass/_variables.dark.scss /usr/share/grafana/public/sass/_variables.light.scss /usr/share/grafana/public/sass/_variables.scss /usr/share/grafana/public/sass/base/_code.scss /usr/share/grafana/public/sass/base/_font_awesome.scss /usr/share/grafana/public/sass/base/_fonts.scss /usr/share/grafana/public/sass/base/_forms.scss /usr/share/grafana/public/sass/base/_grafana_icons.scss /usr/share/grafana/public/sass/base/_grid.scss /usr/share/grafana/public/sass/base/_icons.scss /usr/share/grafana/public/sass/base/_normalize.scss /usr/share/grafana/public/sass/base/_reboot.scss /usr/share/grafana/public/sass/base/_type.scss /usr/share/grafana/public/sass/base/font-awesome/_animated.scss /usr/share/grafana/public/sass/base/font-awesome/_bordered-pulled.scss /usr/share/grafana/public/sass/base/font-awesome/_core.scss /usr/share/grafana/public/sass/base/font-awesome/_fixed-width.scss /usr/share/grafana/public/sass/base/font-awesome/_icons.scss /usr/share/grafana/public/sass/base/font-awesome/_larger.scss /usr/share/grafana/public/sass/base/font-awesome/_list.scss /usr/share/grafana/public/sass/base/font-awesome/_mixins.scss /usr/share/grafana/public/sass/base/font-awesome/_path.scss /usr/share/grafana/public/sass/base/font-awesome/_rotated-flipped.scss /usr/share/grafana/public/sass/base/font-awesome/_screen-reader.scss /usr/share/grafana/public/sass/base/font-awesome/_stacked.scss /usr/share/grafana/public/sass/base/font-awesome/_variables.scss /usr/share/grafana/public/sass/components/_alerts.scss /usr/share/grafana/public/sass/components/_buttons.scss /usr/share/grafana/public/sass/components/_cards.scss /usr/share/grafana/public/sass/components/_code_editor.scss /usr/share/grafana/public/sass/components/_color_picker.scss /usr/share/grafana/public/sass/components/_dashboard_grid.scss /usr/share/grafana/public/sass/components/_dashboard_list.scss /usr/share/grafana/public/sass/components/_dashboard_settings.scss /usr/share/grafana/public/sass/components/_delete_button.scss /usr/share/grafana/public/sass/components/_description-picker.scss /usr/share/grafana/public/sass/components/_drop.scss /usr/share/grafana/public/sass/components/_dropdown.scss /usr/share/grafana/public/sass/components/_empty_list_cta.scss /usr/share/grafana/public/sass/components/_filter-controls.scss /usr/share/grafana/public/sass/components/_filter-list.scss /usr/share/grafana/public/sass/components/_filter-table.scss /usr/share/grafana/public/sass/components/_footer.scss /usr/share/grafana/public/sass/components/_form_select_box.scss /usr/share/grafana/public/sass/components/_gf-form.scss /usr/share/grafana/public/sass/components/_infobox.scss /usr/share/grafana/public/sass/components/_json_explorer.scss /usr/share/grafana/public/sass/components/_jsontree.scss /usr/share/grafana/public/sass/components/_modals.scss /usr/share/grafana/public/sass/components/_navbar.scss /usr/share/grafana/public/sass/components/_navs.scss /usr/share/grafana/public/sass/components/_old_stuff.scss /usr/share/grafana/public/sass/components/_page_header.scss /usr/share/grafana/public/sass/components/_panel_add_panel.scss /usr/share/grafana/public/sass/components/_panel_alertlist.scss /usr/share/grafana/public/sass/components/_panel_dashlist.scss /usr/share/grafana/public/sass/components/_panel_gettingstarted.scss /usr/share/grafana/public/sass/components/_panel_graph.scss /usr/share/grafana/public/sass/components/_panel_heatmap.scss /usr/share/grafana/public/sass/components/_panel_pluginlist.scss /usr/share/grafana/public/sass/components/_panel_singlestat.scss /usr/share/grafana/public/sass/components/_panel_table.scss /usr/share/grafana/public/sass/components/_panel_text.scss /usr/share/grafana/public/sass/components/_popper.scss /usr/share/grafana/public/sass/components/_query_editor.scss /usr/share/grafana/public/sass/components/_query_part.scss /usr/share/grafana/public/sass/components/_row.scss /usr/share/grafana/public/sass/components/_scrollbar.scss /usr/share/grafana/public/sass/components/_search.scss /usr/share/grafana/public/sass/components/_settings_permissions.scss /usr/share/grafana/public/sass/components/_shortcuts.scss /usr/share/grafana/public/sass/components/_sidemenu.scss /usr/share/grafana/public/sass/components/_slate_editor.scss /usr/share/grafana/public/sass/components/_submenu.scss /usr/share/grafana/public/sass/components/_switch.scss /usr/share/grafana/public/sass/components/_tabbed_view.scss /usr/share/grafana/public/sass/components/_tables_lists.scss /usr/share/grafana/public/sass/components/_tabs.scss /usr/share/grafana/public/sass/components/_tags.scss /usr/share/grafana/public/sass/components/_tagsinput.scss /usr/share/grafana/public/sass/components/_timepicker.scss /usr/share/grafana/public/sass/components/_tooltip.scss /usr/share/grafana/public/sass/components/_typeahead.scss /usr/share/grafana/public/sass/components/_user-picker.scss /usr/share/grafana/public/sass/components/_view_states.scss /usr/share/grafana/public/sass/components/edit_sidemenu.scss /usr/share/grafana/public/sass/fonts.scss /usr/share/grafana/public/sass/grafana.dark.scss /usr/share/grafana/public/sass/grafana.light.scss /usr/share/grafana/public/sass/icons.json /usr/share/grafana/public/sass/layout/_lists.scss /usr/share/grafana/public/sass/layout/_page.scss /usr/share/grafana/public/sass/mixins/_animations.scss /usr/share/grafana/public/sass/mixins/_breakpoints.scss /usr/share/grafana/public/sass/mixins/_buttons.scss /usr/share/grafana/public/sass/mixins/_drop_element.scss /usr/share/grafana/public/sass/mixins/_forms.scss /usr/share/grafana/public/sass/mixins/_grid-framework.scss /usr/share/grafana/public/sass/mixins/_grid.scss /usr/share/grafana/public/sass/mixins/_hover.scss /usr/share/grafana/public/sass/mixins/_mixins.scss /usr/share/grafana/public/sass/pages/_admin.scss /usr/share/grafana/public/sass/pages/_alerting.scss /usr/share/grafana/public/sass/pages/_dashboard.scss /usr/share/grafana/public/sass/pages/_errorpage.scss /usr/share/grafana/public/sass/pages/_explore.scss /usr/share/grafana/public/sass/pages/_history.scss /usr/share/grafana/public/sass/pages/_login.scss /usr/share/grafana/public/sass/pages/_playlist.scss /usr/share/grafana/public/sass/pages/_plugins.scss /usr/share/grafana/public/sass/pages/_signup.scss /usr/share/grafana/public/sass/pages/_styleguide.scss /usr/share/grafana/public/sass/utils/_angular.scss /usr/share/grafana/public/sass/utils/_flex.scss /usr/share/grafana/public/sass/utils/_spacings.scss /usr/share/grafana/public/sass/utils/_utils.scss /usr/share/grafana/public/sass/utils/_validation.scss /usr/share/grafana/public/sass/utils/_widths.scss /usr/share/grafana/public/test/core/utils/version_test.ts /usr/share/grafana/public/test/index.ts /usr/share/grafana/public/test/jest-setup.ts /usr/share/grafana/public/test/jest-shim.ts /usr/share/grafana/public/test/lib/common.ts /usr/share/grafana/public/test/mocks/angular.ts /usr/share/grafana/public/test/mocks/backend_srv.ts /usr/share/grafana/public/test/mocks/common.ts /usr/share/grafana/public/test/mocks/dashboard-mock.js /usr/share/grafana/public/test/specs/helpers.ts /usr/share/grafana/public/vendor/angular-other/angular-strap.js /usr/share/grafana/public/vendor/angular-other/datepicker.js /usr/share/grafana/public/vendor/angular-other/timepicker.js /usr/share/grafana/public/vendor/angular-ui/ui-bootstrap-tpls.js /usr/share/grafana/public/vendor/bootstrap/bootstrap.js /usr/share/grafana/public/vendor/css/rc-cascader.scss /usr/share/grafana/public/vendor/css/spectrum.css /usr/share/grafana/public/vendor/css/timepicker.css /usr/share/grafana/public/vendor/flot/jquery.flot.crosshair.js /usr/share/grafana/public/vendor/flot/jquery.flot.dashes.js /usr/share/grafana/public/vendor/flot/jquery.flot.fillbelow.js /usr/share/grafana/public/vendor/flot/jquery.flot.fillbetween.js /usr/share/grafana/public/vendor/flot/jquery.flot.gauge.js /usr/share/grafana/public/vendor/flot/jquery.flot.js /usr/share/grafana/public/vendor/flot/jquery.flot.pie.js /usr/share/grafana/public/vendor/flot/jquery.flot.selection.js /usr/share/grafana/public/vendor/flot/jquery.flot.stack.js /usr/share/grafana/public/vendor/flot/jquery.flot.stackpercent.js /usr/share/grafana/public/vendor/flot/jquery.flot.time.js /usr/share/grafana/public/vendor/jquery-ui/custom.js /usr/share/grafana/public/vendor/plugin-css/css.js /usr/share/grafana/public/vendor/plugin-text/text.js /usr/share/grafana/public/vendor/spectrum.js /usr/share/grafana/public/vendor/tagsinput/bootstrap-tagsinput.js /usr/share/grafana/public/views/error.html /usr/share/grafana/public/views/index.html /usr/share/grafana/public/views/index.template.html /usr/share/grafana/scripts/build /usr/share/grafana/scripts/circle-test-backend.sh /usr/share/grafana/scripts/circle-test-frontend.sh /usr/share/grafana/scripts/grunt /usr/share/grafana/scripts/import_many_dashboards.sh /usr/share/grafana/scripts/tag_release.sh /usr/share/grafana/scripts/trigger_docker_build.sh /usr/share/grafana/scripts/trigger_grafana_packer.sh /usr/share/grafana/scripts/trigger_windows_build.sh /usr/share/grafana/scripts/webpack /usr/share/grafana/tools/phantomjs/phantomjs /usr/share/grafana/tools/phantomjs/render.js
grafana.service: Dienst/Deamon-Start einrichten
Um Grafana, welches als Dienst/Deamon als Hintergrundprozess läuft, auch nach einem Neustart des Servers zur Verfügung zu haben, soll der Dienst/Daemon mit dem Server mit gestartet werden, was mit nachfolgendem Befehl realisiert werden kann:
# systemctl daemon-reload
# systemctl enable grafana-server.service Created symlink from /etc/systemd/system/multi-user.target.wants/grafana-server.service to /usr/lib/systemd/system/grafana-server.service.
Eine Überprüfung, ob beim Neustart des Server der grafana-server.service
-Dienst/Deamon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:
# systemctl list-unit-files --type=service | grep -e grafana-server.service grafana-server.service enabled
bzw.
# systemctl is-enabled grafana-server.service enabled
icingaweb2-module-graphite
Mit nachfolgendem Befehl kann die zuvor, wie unter nachfolgendem internen Link beschrieben
heruntergeladene Datei, in das Zielverzeichnis
- /usr/share/icingaweb2/modules
entpackt werden:
# unzip /tmp/master.zip -d /usr/share/icingaweb2/modules
Abschließend muss nun noch das durch das entpacken neu entstandene Verzeichnis mit nachfolgendem Befehl umbenannt werden:
# mv /usr/share/icingaweb2/modules/icingaweb2-module-grafana-master /usr/share/icingaweb2/modules/grafana
Konfiguration: grafana
Nachfolgende Konfigurationen basieren auf den Informationen unter nachfolgenden externen Links:
/etc/grafana/grafana.ini
Nachfolgende Konfigurationsdatei
/etc/grafana/grafana.ini
beinhaltete alle Konfigurationsdirektiven.
Nachfolgende die komplette Konfigurationsdatei:
##################### Grafana Configuration Example ##################### # # Everything has defaults so you only need to uncomment things you want to # change # possible values : production, development ;app_mode = production # instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty ;instance_name = ${HOSTNAME} #################################### Paths #################################### [paths] # Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used) ;data = /var/lib/grafana # Temporary files in `data` directory older than given duration will be removed ;temp_data_lifetime = 24h # Directory where grafana can store logs ;logs = /var/log/grafana # Directory where grafana will automatically scan and look for plugins ;plugins = /var/lib/grafana/plugins # folder that contains provisioning config files that grafana will apply on startup and while running. ;provisioning = conf/provisioning #################################### Server #################################### [server] # Protocol (http, https, socket) ;protocol = http # The ip address to bind to, empty will bind to all interfaces ;http_addr = # The http port to use ;http_port = 3000 # The public facing domain name used to access grafana from a browser # Tachtler # default: ;domain = localhost domain = grafana.tachtler.net # Redirect to correct domain if host header does not match domain # Prevents DNS rebinding attacks ;enforce_domain = false # The full public facing url you use in browser, used for redirects and emails # If you use reverse proxy and sub path specify full url (with sub path) ;root_url = http://localhost:3000 # Log web requests ;router_logging = false # the path relative working path ;static_root_path = public # enable gzip ;enable_gzip = false # https certs & key file ;cert_file = ;cert_key = # Unix socket path ;socket = #################################### Database #################################### [database] # You can configure the database connection by specifying type, host, name, user and password # as separate properties or as on string using the url properties. # Either "mysql", "postgres" or "sqlite3", it's your choice ;type = sqlite3 ;host = 127.0.0.1:3306 ;name = grafana ;user = root # If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;""" ;password = # Use either URL or the previous fields to configure the database # Example: mysql://user:secret@host:port/database # Tachtler # default: ;url = url = mysql://grafanauser:geheim@db.idmz.tachtler.net:3306/grafana # For "postgres" only, either "disable", "require" or "verify-full" ;ssl_mode = disable # For "sqlite3" only, path relative to data_path setting ;path = grafana.db # Max idle conn setting default is 2 ;max_idle_conn = 2 # Max conn setting default is 0 (mean not set) ;max_open_conn = # Connection Max Lifetime default is 14400 (means 14400 seconds or 4 hours) ;conn_max_lifetime = 14400 # Set to true to log the sql calls and execution times. log_queries = #################################### Session #################################### [session] # Either "memory", "file", "redis", "mysql", "postgres", default is "file" ;provider = file # Provider config options # memory: not have any config yet # file: session dir path, is relative to grafana data_path # redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=grafana` # mysql: go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1:3306)/database_name` # postgres: user=a password=b host=localhost port=5432 dbname=c sslmode=disable ;provider_config = sessions # Session cookie name ;cookie_name = grafana_sess # If you use session in https only, default is false ;cookie_secure = false # Session life time, default is 86400 ;session_life_time = 86400 #################################### Data proxy ########################### [dataproxy] # This enables data proxy logging, default is false ;logging = false #################################### Analytics #################################### [analytics] # Server reporting, sends usage counters to stats.grafana.org every 24 hours. # No ip addresses are being tracked, only simple counters to track # running instances, dashboard and error counts. It is very helpful to us. # Change this option to false to disable reporting. ;reporting_enabled = true # Set to false to disable all checks to https://grafana.net # for new vesions (grafana itself and plugins), check is used # in some UI views to notify that grafana or plugin update exists # This option does not cause any auto updates, nor send any information # only a GET request to http://grafana.com to get latest versions ;check_for_updates = true # Google Analytics universal tracking code, only enabled if you specify an id here ;google_analytics_ua_id = #################################### Security #################################### [security] # default admin user, created on startup ;admin_user = admin # default admin password, can be changed before first start of grafana, or in profile settings ;admin_password = admin # used for signing ;secret_key = SW2YcwTIb9zpOOhoPsMm # Auto-login remember days ;login_remember_days = 7 ;cookie_username = grafana_user ;cookie_remember_name = grafana_remember # disable gravatar profile images ;disable_gravatar = false # data source proxy whitelist (ip_or_domain:port separated by spaces) ;data_source_proxy_whitelist = # disable protection against brute force login attempts ;disable_brute_force_login_protection = false #################################### Snapshots ########################### [snapshots] # snapshot sharing options ;external_enabled = true ;external_snapshot_url = https://snapshots-origin.raintank.io ;external_snapshot_name = Publish to snapshot.raintank.io # remove expired snapshot ;snapshot_remove_expired = true #################################### Dashboards History ################## [dashboards] # Number dashboard versions to keep (per dashboard). Default: 20, Minimum: 1 ;versions_to_keep = 20 #################################### Users ############################### [users] # disable user signup / registration ;allow_sign_up = true # Allow non admin users to create organizations ;allow_org_create = true # Set to true to automatically assign new users to the default organization (id 1) ;auto_assign_org = true # Default role new users will be automatically assigned (if disabled above is set to true) ;auto_assign_org_role = Viewer # Background text for the user field on the login page ;login_hint = email or username # Default UI theme ("dark" or "light") ;default_theme = dark # External user management, these options affect the organization users view ;external_manage_link_url = ;external_manage_link_name = ;external_manage_info = # Viewers can edit/inspect dashboard settings in the browser. But not save the dashboard. ;viewers_can_edit = false [auth] # Set to true to disable (hide) the login form, useful if you use OAuth, defaults to false ;disable_login_form = false # Set to true to disable the signout link in the side menu. useful if you use auth.proxy, defaults to false ;disable_signout_menu = false # URL to redirect the user to after sign out ;signout_redirect_url = #################################### Anonymous Auth ########################## [auth.anonymous] # enable anonymous access # Tachtler # default: ;enabled = false enabled = true # specify organization name that should be used for unauthenticated users ;org_name = Main Org. # specify role for unauthenticated users ;org_role = Viewer #################################### Github Auth ########################## [auth.github] ;enabled = false ;allow_sign_up = true ;client_id = some_id ;client_secret = some_secret ;scopes = user:email,read:org ;auth_url = https://github.com/login/oauth/authorize ;token_url = https://github.com/login/oauth/access_token ;api_url = https://api.github.com/user ;team_ids = ;allowed_organizations = #################################### Google Auth ########################## [auth.google] ;enabled = false ;allow_sign_up = true ;client_id = some_client_id ;client_secret = some_client_secret ;scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email ;auth_url = https://accounts.google.com/o/oauth2/auth ;token_url = https://accounts.google.com/o/oauth2/token ;api_url = https://www.googleapis.com/oauth2/v1/userinfo ;allowed_domains = #################################### Generic OAuth ########################## [auth.generic_oauth] ;enabled = false ;name = OAuth ;allow_sign_up = true ;client_id = some_id ;client_secret = some_secret ;scopes = user:email,read:org ;auth_url = https://foo.bar/login/oauth/authorize ;token_url = https://foo.bar/login/oauth/access_token ;api_url = https://foo.bar/user ;team_ids = ;allowed_organizations = ;tls_skip_verify_insecure = false ;tls_client_cert = ;tls_client_key = ;tls_client_ca = #################################### Grafana.com Auth #################### [auth.grafana_com] ;enabled = false ;allow_sign_up = true ;client_id = some_id ;client_secret = some_secret ;scopes = user:email ;allowed_organizations = #################################### Auth Proxy ########################## [auth.proxy] ;enabled = false ;header_name = X-WEBAUTH-USER ;header_property = username ;auto_sign_up = true ;ldap_sync_ttl = 60 ;whitelist = 192.168.1.1, 192.168.2.1 #################################### Basic Auth ########################## [auth.basic] # Tachtler # default: ;enabled = true enabled = false #################################### Auth LDAP ########################## [auth.ldap] ;enabled = false ;config_file = /etc/grafana/ldap.toml ;allow_sign_up = true #################################### SMTP / Emailing ########################## [smtp] ;enabled = false ;host = localhost:25 ;user = # If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;""" ;password = ;cert_file = ;key_file = ;skip_verify = false ;from_address = admin@grafana.localhost ;from_name = Grafana # EHLO identity in SMTP dialog (defaults to instance_name) ;ehlo_identity = dashboard.example.com [emails] ;welcome_email_on_sign_up = false #################################### Logging ########################## [log] # Either "console", "file", "syslog". Default is console and file # Use space to separate multiple modes, e.g. "console file" ;mode = console file # Either "debug", "info", "warn", "error", "critical", default is "info" ;level = info # optional settings to set different levels for specific loggers. Ex filters = sqlstore:debug ;filters = # For "console" mode only [log.console] ;level = # log line format, valid options are text, console and json ;format = console # For "file" mode only [log.file] ;level = # log line format, valid options are text, console and json ;format = text # This enables automated log rotate(switch of following options), default is true ;log_rotate = true # Max line number of single file, default is 1000000 ;max_lines = 1000000 # Max size shift of single file, default is 28 means 1 << 28, 256MB ;max_size_shift = 28 # Segment log daily, default is true ;daily_rotate = true # Expired days of log file(delete after max days), default is 7 ;max_days = 7 [log.syslog] ;level = # log line format, valid options are text, console and json ;format = text # Syslog network type and address. This can be udp, tcp, or unix. If left blank, the default unix endpoints will be used. ;network = ;address = # Syslog facility. user, daemon and local0 through local7 are valid. ;facility = # Syslog tag. By default, the process' argv[0] is used. ;tag = #################################### Alerting ############################ [alerting] # Disable alerting engine & UI features ;enabled = true # Makes it possible to turn off alert rule execution but alerting UI is visible ;execute_alerts = true # Default setting for new alert rules. Defaults to categorize error and timeouts as alerting. (alerting, keep_state) ;error_or_timeout = alerting # Default setting for how Grafana handles nodata or null values in alerting. (alerting, no_data, keep_state, ok) ;nodata_or_nullvalues = no_data # Alert notifications can include images, but rendering many images at the same time can overload the server # This limit will protect the server from render overloading and make sure notifications are sent out quickly ;concurrent_render_limit = 5 #################################### Explore ############################# [explore] # Enable the Explore section ;enabled = false #################################### Internal Grafana Metrics ########################## # Metrics available at HTTP API Url /metrics [metrics] # Disable / Enable internal metrics ;enabled = true # Publish interval ;interval_seconds = 10 # Send internal metrics to Graphite [metrics.graphite] # Enable by setting the address setting (ex localhost:2003) ;address = ;prefix = prod.grafana.%(instance_name)s. #################################### Distributed tracing ############ [tracing.jaeger] # Enable by setting the address sending traces to jaeger (ex localhost:6831) ;address = localhost:6831 # Tag that will always be included in when creating new spans. ex (tag1:value1,tag2:value2) ;always_included_tag = tag1:value1 # Type specifies the type of the sampler: const, probabilistic, rateLimiting, or remote ;sampler_type = const # jaeger samplerconfig param # for "const" sampler, 0 or 1 for always false/true respectively # for "probabilistic" sampler, a probability between 0 and 1 # for "rateLimiting" sampler, the number of spans per second # for "remote" sampler, param is the same as for "probabilistic" # and indicates the initial sampling rate before the actual one # is received from the mothership ;sampler_param = 1 #################################### Grafana.com integration ########################## # Url used to import dashboards directly from Grafana.com [grafana_com] ;url = https://grafana.com #################################### External image storage ########################## [external_image_storage] # Used for uploading images to public servers so they can be included in slack/email messages. # you can choose between (s3, webdav, gcs, azure_blob, local) ;provider = [external_image_storage.s3] ;bucket = ;region = ;path = ;access_key = ;secret_key = [external_image_storage.webdav] ;url = ;public_url = ;username = ;password = [external_image_storage.gcs] ;key_file = ;bucket = ;path = [external_image_storage.azure_blob] ;account_name = ;account_key = ;container_name = [external_image_storage.local] # does not require any configuration [rendering] # Options to configure external image rendering server like https://github.com/grafana/grafana-image-renderer ;server_url = ;callback_url =
Erklärung zu den vorhergehenden Anpassugnen:
domain = grafana.tachtler.net
Im Bereich [server]
sollte eine Domäne für den Browser-Aufruf gesetzt werden.
url = mysql://grafanauser:geheim@db.idmz.tachtler.net:3306/grafana
Im Bereich [database]
soll die Nutzung von MariaDB anstelle von SQLite als direktes Datenbank-Backend für Grafana selbst gesetzt werden.
enabled = true
Im Bereich [auth.anonymous]
sollte für einen Zugriff aus der Web-Oberfläche von Icinga-Web ein anonymer Zugriff zugelassen werden.
enabled = false
Im Bereich [auth.basic]
sollte für einen Zugriff aus der Web-Oberfläche von Icinga-Web ein anonymer Zugriff zugelassen werden.
Konfiguration: MariaDB
grafana: Datenbank
Nachfolgende SQL-Datei kann z.B. im Verzeichnis /tmp
mit dem Namen
create_database_grafana.sql
erstellt werden, um die Neuanlage einer Datenbank mit dem Namen grafana
durchzuführen:
-- CREATE DATABASE grafana; CREATE DATABASE grafana;
Zur Ausführung der SQL-Datei kann nachfolgender Befehl genutzt werden, welcher jedoch die Kenntnis des root
-Passwort für die Datenbank voraussetzt!:
# /usr/bin/mysql -u root -p < create_database_grafana.sql Enter password:
* Das Erscheinen keiner Fehlermeldung, bedeutet die korrekte Ausführung des Befehls!
grafana: Benutzer/Rechte
Nachfolgende SQL-Datei kann z.B. im Verzeichnis /tmp
mit dem Namen
create_users_for_remote_access_to_database_grafana.sql
erstellt werden, um einen Benutzer für die Datenbank grafana
zu erstellen und diesen mit den benötigten rechten auszustatten:
-- Use database. USE mysql; -- Create new users. CREATE USER 'grafanauser'@'192.168.0.110' IDENTIFIED BY 'geheim'; CREATE USER 'grafanauser'@'server11.idmz.tachtler.net' IDENTIFIED BY 'geheim'; -- Grant privileges for database graphite to new users. GRANT ALL PRIVILEGES ON grafana.* TO 'grafanauser'@'192.168.0.110' IDENTIFIED BY 'geheim' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON grafana.* TO 'grafanauser'@'server11.idmz.tachtler.net' IDENTIFIED BY 'geheim' WITH GRANT OPTION; -- Make sure that priviliges are reloaded. FLUSH PRIVILEGES;
Zur Ausführung der SQL-Datei kann nachfolgender Befehl genutzt werden, welcher jedoch die Kenntnis des root
-Passwort für die Datenbank voraussetzt!:
# /usr/bin/mysql -u root -p < create_users_for_remote_access_to_database_grafana.sql Enter password:
* Das Erscheinen keiner Fehlermeldung, bedeutet die korrekte Ausführung des Befehls!
HINWEIS - Die Einrichtung der Tabellen erfolgt zu einem späteren Installationsschritt!
grafana: Erster Start
Der Grafana-Server kann mit nachfolgendem Befehle gestartet werden:
# systemctl start grafana-server.service
Mit nachfolgendem Befehl kann der Status des Grafana-Servers abgefragt werden:
# systemctl status grafana-server.service ● grafana-server.service - Grafana instance Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2018-11-13 14:21:47 CET; 8s ago Docs: http://docs.grafana.org Main PID: 16687 (grafana-server) CGroup: /system.slice/grafana-server.service └─16687 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini... Nov 13 14:21:47 server11.idmz.tachtler.net grafana-server[16687]: t=2018-11-1... Nov 13 14:21:47 server11.idmz.tachtler.net grafana-server[16687]: t=2018-11-1... Nov 13 14:21:47 server11.idmz.tachtler.net grafana-server[16687]: t=2018-11-1... Nov 13 14:21:47 server11.idmz.tachtler.net grafana-server[16687]: t=2018-11-1... Nov 13 14:21:47 server11.idmz.tachtler.net grafana-server[16687]: t=2018-11-1... Nov 13 14:21:47 server11.idmz.tachtler.net grafana-server[16687]: t=2018-11-1... Nov 13 14:21:47 server11.idmz.tachtler.net grafana-server[16687]: t=2018-11-1... Nov 13 14:21:47 server11.idmz.tachtler.net systemd[1]: Started Grafana instance. Nov 13 14:21:47 server11.idmz.tachtler.net grafana-server[16687]: t=2018-11-1... Nov 13 14:21:47 server11.idmz.tachtler.net grafana-server[16687]: t=2018-11-1... Hint: Some lines were ellipsized, use -l to show in full.
icinga2: grafana
Bevor der Neustart von Icinga an dieser Stelle der Konfiguration durchgeführt werden soll, ist noch aktuell nachfolgendes inaktive Modul
grafana
mit nachfolgendem Befehl zu aktivieren:
# icingacli module enable grafana
grafana: Web-GUI
Zur Anmeldung an der Grafana-Web-GUI, muss diese im Browser wie folgt, durch Eingabe von nachfolgender URL aufgerufen werden:
Durch Auswahl des Symbols zur Anmeldung [Sign in], sollte nun nachfolgender Bildschirm erscheinen, in dem die Anmeldedaten eingegeben werden können:
Durch Eingabe der Standard-Zugangsdaten:
- email or username
admin
- password
admin
sollte nachfolgender Dialog angezeigt werden, in dem das Passwort für den Standard-Benutzer abgeändert werden kann [Save], oder dieser Schritt bis zur nächsten Anmeldung übersprungen werden kann [Skip]:
Egal, ob ein neues Passwort vergeben wird Dringend empfohlen !!!, oder der Schritt übersprungen wird, sollte nach diesem Dialog nachfolgender Bildschirm erscheinen:
grafana: Add data source
Nach der Auswahl von [Add data source] sollte nachfolgender Bildschirm erscheinen, in dem die Daten für den Zugriff auf die Graphite-Web-Seite erfasst und gespeichert werden müssen.
(Bildschirm-Seite 1)
(Bildschirm-Seite 2)
Nachfolgende Tabelle zeigt, welche Daten erfasst werden müssen:
Eintrag | Wert |
---|---|
Name | Graphite-icinga2 |
HTTP | |
URL | [URL zur Graphite-Web-Seite] |
Auth | |
Basic Auth | ✘ (Falls z.B. ein .htaccess -Schutz besteht) |
Basic Auth Details | |
User | [Benutezname] (Falls z.B. ein .htaccess -Schutz besteht) |
Password | [Passwort] (Falls z.B. ein .htaccess -Schutz besteht) |
Nach dem Bestätigen der Eingaben durch drücken der [Save & Test]-Schaltfläche, sollte nachfolgender Bildschirm erscheinen, wann alles funktioniert hat:
grafana: Import dashboard
Nachfolgend sollen nun die „Dashboards“ für Icinga importiert werde.
Dazu können diese unter nachfolgendem externen Link heruntergeladen werden und beinhalten nachfolgende „Dashboards“:
Die nachfolgenden „Dashboards“ sollten mindestens importiert werden:
base-metrics.json
icinga2-default.json
Nachfolgende das direkte herunterladen:
base-metrcis.json
:
# wget -P /tmp https://raw.githubusercontent.com/Mikesch-mp/icingaweb2-module-grafana/master/dashboards/graphite/base-metrics.json --2018-11-14 07:36:42-- https://raw.githubusercontent.com/Mikesch-mp/icingaweb2-module-grafana/master/dashboards/graphite/base-metrics.json Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.112.133 Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.112.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 40730 (40K) [text/plain] Saving to: ‘/tmp/base-metrics.json’ 100%[======================================>] 40,730 --.-K/s in 0.05s 2018-11-14 07:36:42 (819 KB/s) - ‘/tmp/base-metrics.json’ saved [40730/40730]
icinga2-default.json
:
# wget -P /tmp https://raw.githubusercontent.com/Mikesch-mp/icingaweb2-module-grafana/master/dashboards/graphite/icinga2-default.json --2018-11-14 07:38:29-- https://raw.githubusercontent.com/Mikesch-mp/icingaweb2-module-grafana/master/dashboards/graphite/icinga2-default.json Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.112.133 Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.112.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 6204 (6.1K) [text/plain] Saving to: ‘/tmp/icinga2-default.json’ 100%[======================================>] 6,204 --.-K/s in 0.002s 2018-11-14 07:38:29 (2.42 MB/s) - ‘/tmp/icinga2-default.json’ saved [6204/6204]
Um die zuvor heruntergeladenen .json
-Dateien nach Grafana importieren zu können, muss in der Grafana-Web-Oberfläche auf das [+]-Symbol und dort unter [Create] - [Import] ausgewählt werden, wie nachfolgende Bildschirmkopie zeigt:
Anschliessend ist nachfolgender Import-Bildschirm zu sehen, über den die zuvor heruntergeladenen .json
-Dateien nun importiert werden können, in dem die [Upload .json File] genutzt wird:
base-metrcis.json
:
HINWEIS - Wichtig ist hier bei Options - icinga2-graphite - Graphite-icinga2
auszuwählen!
Nachfolgende Tabelle zeigt, welche Daten erfasst werden müssen:
Eintrag | Wert |
---|---|
Options | |
icinga2-graphite | Graphite-icinga2 |
icinga2-default.json
:
HINWEIS - Wichtig ist hier bei Options - Graphite - Graphite-icinga2
auszuwählen!
Nachfolgende Tabelle zeigt, welche Daten erfasst werden müssen:
Eintrag | Wert |
---|---|
Options | |
Graphite | Graphite-icinga2 |
HINWEIS - Das importierte „Dashboard“ - icinga2-default.json
muss noch angepasst werden !
Zur Anpassung des „Dashboars“ - icinga2-default.json
ist dies Aufzurufen und unter dem [Zahnradsymbol/Settings] | [Variables] | [$hostname] sind nachfolgende Änderungen durchzuführen, wie der folgende Bildschirmausschnitt zeigt:
Nachfolgende Tabelle zeigt, welche Daten erfasst werden müssen:
Eintrag | Wert |
---|---|
General | |
Type | Query |
Hide | [Leer] |
Query Options | |
Data source | Graphite-icinga2 |
Refresh | On Dashboard Load |
Query | icinga2.* |
Zum Abschluss ist hier die Schaltfläche [Update] zum Speichern der vorhergehenden Änderungen zu drücken.
Zur Anpassung des „Dashboars“ - icinga2-default.json
ist dies Aufzurufen und unter dem [Zahnradsymbol/Settings] | [Variables] | [$service] sind nachfolgende Änderungen durchzuführen, wie der folgende Bildschirmausschnitt zeigt:
Nachfolgende Tabelle zeigt, welche Daten erfasst werden müssen:
Eintrag | Wert |
---|---|
General | |
Type | Query |
Hide | [Leer] |
Query Options | |
Data source | Graphite-icinga2 |
Refresh | On Dashboard Load |
Query | icinga2.$hostname*.*.* |
Zum Abschluss ist hier die Schaltfläche [Update] zum Speichern der vorhergehenden Änderungen zu drücken.
Zur Anpassung des „Dashboars“ - icinga2-default.json
ist dies Aufzurufen und unter dem [Zahnradsymbol/Settings] | [Variables] | [$command] sind nachfolgende Änderungen durchzuführen, wie der folgende Bildschirmausschnitt zeigt:
Nachfolgende Tabelle zeigt, welche Daten erfasst werden müssen:
Eintrag | Wert |
---|---|
General | |
Type | Query |
Hide | [Leer] |
Query Options | |
Data source | Graphite-icinga2 |
Refresh | On Dashboard Load |
Query | icinga2.$hostname*.*.$service.* |
Zum Abschluss ist hier die Schaltfläche [Update] zum Speichern der vorhergehenden Änderungen zu drücken.
HINWEIS - Zum Abschluss der kompletten Änderungen ist die Schaltfläche [Save] zu drücken !!!
grafana: Panel: hostalive
Damit auch die Anzeige des „hostalive“ innerhalb von Icinga durch Grafana durchgeführt werden kann, sind nachfolgende Konfigurationen in Grafana erforderlich, da dies nicht durch das icinga2-default
-Panel abgedeckt wird.
Die Einfachste Variante ist, aus dem „Dashboard“ - base-metrcis
das Panel „Hostalive“ in das „Dashboard“ - icinga2-default
herüber zu kopieren.
Um dies zu tun, ist es erforderlich auf das „Dashboard“ - base-metrcis
zu wechseln und dort auf das „Panel“ - Hostalive
zu gehen, um mit den [Menüpunkten] | [More…] | [Copy] das „Panel“ - Hostalive
zu kopieren, wie nachfolgende Bildschirmkopie zeigt:
Anschliessend muss ein Wechsel auf das „Dashboard“ - icinga2-default
durchgeführt werden und die [Schaltfläche] mit dem Graphen-Symbol - [Add Panel] gedrückt werden, wie ebenfalls nachfolgende Bildschirmkopie zeigt:
In dem sich nun öffnenden Dialog, ist der Reiter [Paste] auszuwählen und die [Schaltfläche] mit dem grösseren Graphen-Symbol - [Hostalive] zu drücken, wie nachfolgend auf der Bildschirmkopie zu sehen ist:
Anschliessend kann das Panel wie folgt noch angepasst werden, in dem der [Menüpunkt] [Edit] aufgerufen wird, wie auf nachfolgender Bildschirmkopie dargestellt:
Hier können nun die individuellen Anpassungen durchgeführt werden, z.B. den Namen des „Panel“ in komplette Kleinschrift ändern. Zum Abschluss sollte das Symbol mit der Diskette - [Save dashboard] bedrückt werden, wie ebenfalls nachfolgende Bildschirmkopie zeigt:
Bevor, oder beim verlassen das aktuellen „Dashboard“ - icinga2-default
, ist es noch zwingend erforderlich die getroffenen Änderungen zu speichern, was im aufkommenden Dialog „Unsaved changes“ mit dem drücken der Schaltfläche [Save] abschliessen durchgeführt werden muss, wie nachfolgende Bildschirmkopie zeigt:
Bevor es an die Einbindung des neuen „Panels“ in Icinga geht, müsen wir noch die Panel-ID in Erfahrung bringen. Dazu kann im „Panel“ - hostalive - das [Menü] aufgrufen werden und die Schalfläche [Share] ausgewählt werden, in der und die URL die „Panel-ID“ preis gibt, wie nachfolgende Bildschirmkopie verdeutlicht:
* Quelle: Externer Link: Icinga Web 2 und icingaweb2-module-grafana von Marianne M. Spiller
icingaweb2: Grafana (Setup)
Nach der erfolgreichen Inbetriebnahme des Graphite-carbon
-Server, des Icinga-Servers und des Icinga-Web, kann nun die Web-Anwendung aufgerufen werden und die Konfiguration und Aktivierung von Grafana durchgeführt werden.
Bevor die Konfiguration von Grafana durchgeführt werden kann, ist es erforderlich sich über die Icinga-Web-Anwendung anzumelden.
Nach erfolgreicher Anmeldung an der Icinga-Web-Anwendung ist der Menüpunkt: Konfiguration | Module auszuwählen, wonach nachfolgende Ansicht zur Anzeige kommen sollte:
Durch die Auswahl des Module | grafana werden weitere Konfigurationen zum Modul grafana angezeigt, darunter auch den Reiter: Configuration:
Nach erfolgreicher Bearbeitung des Reiters Configuration und Speicher von dieser mit der Schaltfläche [Save Changes], sollte sich die Anzeige wie folgt verändert haben:
Der Wert für Default dashboard UID
kann durch einen kleinen Trick ermittelt werden, in dem auf dem entsprechendem „Dashboard“ beim entsprechendem „Graphen“ die Funktion [Share] aufgerufen wird, somit kann aus der dort enthaltenen und angezeigten URL die Default dashboard UID
herausgelesen werden. Siehe auch nachfolgende Bildschirmkopie:
* Quelle: Externer Link: Icinga Web 2 und icingaweb2-module-grafana von Marianne M. Spiller
Nachfolgende Tabelle zeigt, welche Daten erfasst werden müssen:
Eintrag | Wert |
---|---|
Use Grafana v5 | ✘ |
Host | [URL zu Grafana] |
Protocol | [http oder https] |
Default dashboard UID | hier: gilKAKfsp |
Satasource Type | Graphite |
Grafana access | Proxy |
Enable Link | Ja |
Grafana ist nun konfiguriert!
Eine mögliche Ausgabe eines Grafana Graphen innerhalb der Icinga-Web-Anwendung könnte dann wie folgt aussehen:
icingaweb2: Add New Grafana Graph: hostalive
Nachdem unter nachfolgendem internen Link ein weiteres „Panel“ mit der Bezeichnung hostalive in Grafana auf dem „Dashboard“ - icinga2-default
erstellt wurden
muss dieses „Panel“ nun noch in der Icinga-Web-Anwendung eingebunden werden.
In der Icinga-Web-Anwendung muss nun der [Menüpunkt] | [Konfiguration] | [Grafana Graphs] aufgerufen werden und der Link [Add New Grafana Graph] angeklickt werden, wie nachfolgende Bildschirmkopie zeigt:
Anschliessend sind die benötigten Eingaben durchzuführen, wie nachfolgende Bildschirmkopie zeigt: