From 8dd26946178077141363a221c31c5e14363c5d72 Mon Sep 17 00:00:00 2001 From: Jimmy Berry Date: Fri, 9 Mar 2018 16:42:05 -0600 Subject: [PATCH] metrics: switch over to grafana 5.x provisioning. Provides both dashboards and datasources. --- Makefile | 6 ++- Makefile.common | 2 +- dist/package/openSUSE-release-tools.spec | 11 ++++-- metrics/grafana/provisioning/dashboards.yaml | 9 +++++ metrics/grafana/provisioning/datasources.yaml | 38 +++++++++++++++++++ 5 files changed, 59 insertions(+), 7 deletions(-) create mode 100644 metrics/grafana/provisioning/dashboards.yaml create mode 100644 metrics/grafana/provisioning/datasources.yaml diff --git a/Makefile b/Makefile index e9b3c10d..b3c26c14 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ VERSION = "build-$(shell date +%F)" all: install: - install -d -m 755 $(DESTDIR)$(bindir) $(DESTDIR)$(pkgdatadir) $(DESTDIR)$(unitdir) $(DESTDIR)$(oscplugindir) $(DESTDIR)$(sysconfdir)/$(package_name) $(DESTDIR)$(grafana_dashboards_dir) + install -d -m 755 $(DESTDIR)$(bindir) $(DESTDIR)$(pkgdatadir) $(DESTDIR)$(unitdir) $(DESTDIR)$(oscplugindir) $(DESTDIR)$(sysconfdir)/$(package_name) $(DESTDIR)$(grafana_provisioning_dir)/dashboards $(DESTDIR)$(grafana_provisioning_dir)/datasources for i in $(pkgdata_SCRIPTS); do install -m 755 $$i $(DESTDIR)$(pkgdatadir); done chmod 644 $(DESTDIR)$(pkgdatadir)/osc-*.py for i in $(pkgdata_DATA); do cp -a $$i $(DESTDIR)$(pkgdatadir); done @@ -34,7 +34,9 @@ install: for i in $(pkgdata_BINS); do ln -s $(pkgdatadir)/$$i $(DESTDIR)$(bindir)/osrt-$${i%.*}; done install -m 755 script/* $(DESTDIR)$(bindir) cp -R config/* $(DESTDIR)$(sysconfdir)/$(package_name) - for i in metrics/grafana/* ; do ln -s $(pkgdatadir)/$$i $(DESTDIR)$(grafana_dashboards_dir)/osrt-$$(basename $$i); done + for dir in dashboards datasources ; do ln -s $(pkgdatadir)/metrics/grafana/provisioning/$$dir.yaml \ + $(DESTDIR)$(grafana_provisioning_dir)/$$dir/$(package_name).yaml ; done + sed -i "s|OSRT_DATA_DIR|$(pkgdatadir)|" $(DESTDIR)$(pkgdatadir)/metrics/grafana/provisioning/dashboards.yaml check: test diff --git a/Makefile.common b/Makefile.common index bc49dc11..d1dcb533 100644 --- a/Makefile.common +++ b/Makefile.common @@ -5,7 +5,7 @@ datadir=$(prefix)/share sysconfdir=/etc unitdir=$(prefix)/lib/systemd/system pkgdatadir=$(datadir)/osc-plugin-factory -grafana_dashboards_dir="/var/lib/grafana/dashboards/$(package_name)" +grafana_provisioning_dir="$(sysconfdir)/grafana/provisioning" oscplugindir=$(prefix)/lib/osc-plugins apachevhostsdir=$(sysconfdir)/apache2/vhosts.d tmpfilesdir=$(prefix)/lib/tmpfiles.d diff --git a/dist/package/openSUSE-release-tools.spec b/dist/package/openSUSE-release-tools.spec index 36775dab..ae8d328e 100644 --- a/dist/package/openSUSE-release-tools.spec +++ b/dist/package/openSUSE-release-tools.spec @@ -278,7 +278,7 @@ make %{?_smp_mflags} %install %make_install \ - grafana_dashboards_dir="%{_localstatedir}/lib/grafana/dashboards/%{name}" \ + grafana_provisioning_dir="%{_sysconfdir}/grafana/provisioning" \ oscplugindir="%{osc_plugin_dir}" \ VERSION="%{version}" @@ -449,9 +449,12 @@ fi %{_datadir}/%{source_dir}/metrics.py %{_datadir}/%{source_dir}/metrics_release.py # To avoid adding grafana as BuildRequires since it does not live in same repo. -%dir %attr(0750, grafana, grafana) %{_localstatedir}/lib/grafana -%dir %{_localstatedir}/lib/grafana/dashboards -%{_localstatedir}/lib/grafana/dashboards/%{name} +%dir %attr(0750, root grafana) %{_sysconfdir}/grafana +%dir %{_sysconfdir}/grafana/provisioning +%dir %{_sysconfdir}/grafana/provisioning/dashboards +%dir %{_sysconfdir}/grafana/provisioning/datasources +%{_sysconfdir}/grafana/provisioning/dashboards/%{name}.yaml +%{_sysconfdir}/grafana/provisioning/datasources/%{name}.yaml %{_unitdir}/osrt-metrics@.service %{_unitdir}/osrt-metrics@.timer %{_unitdir}/osrt-metrics-release@.service diff --git a/metrics/grafana/provisioning/dashboards.yaml b/metrics/grafana/provisioning/dashboards.yaml new file mode 100644 index 00000000..dd84157a --- /dev/null +++ b/metrics/grafana/provisioning/dashboards.yaml @@ -0,0 +1,9 @@ +apiVersion: 1 + +providers: +- name: openSUSE-release-tools + orgId: 1 + folder: 'OSRT' + type: file + options: + path: OSRT_DATA_DIR/metrics/grafana diff --git a/metrics/grafana/provisioning/datasources.yaml b/metrics/grafana/provisioning/datasources.yaml new file mode 100644 index 00000000..65068eb1 --- /dev/null +++ b/metrics/grafana/provisioning/datasources.yaml @@ -0,0 +1,38 @@ +apiVersion: 1 + +datasources: +- name: openSUSE:Factory + type: influxdb + url: http://localhost:8086 + access: proxy + database: openSUSE:Factory + +- name: openSUSE:Leap:15.0 + type: influxdb + url: http://localhost:8086 + access: proxy + database: openSUSE:Leap:15.0 + +- name: openSUSE:Leap:42.3 + type: influxdb + url: http://localhost:8086 + access: proxy + database: openSUSE:Leap:42.3 + +- name: openSUSE:Leap:42.2 + type: influxdb + url: http://localhost:8086 + access: proxy + database: openSUSE:Leap:42.2 + +- name: openSUSE:Leap:42.1 + type: influxdb + url: http://localhost:8086 + access: proxy + database: openSUSE:Leap:42.1 + +- name: openSUSE:13.2 + type: influxdb + url: http://localhost:8086 + access: proxy + database: openSUSE:13.2