Как создать папку Grafana через Pulumi

Я могу установить и импортировать панели мониторинга Grafana в службу Azure Kubernetes с помощью Pulumi с помощью настраиваемого определения ресурса HelmRelease для файла kube-prometheus-stack.

Мне удалось ConfigMaps импортировать информационные панели, которые я ранее хранил в виде файлов JSON.

Что я сейчас пытаюсь сделать, так это поместить эти импортированные информационные панели в пользовательские папки в Grafana.

Как я могу создать такие папки (первая проблема) и как указать папку для каждой панели мониторинга, которую я импортирую?

Пример того, как я импортирую информационную панель (на самом деле приземляюсь в корневую папку в Grafana):

const myDashboard = fs.readFileSync(
  'dashboards/myDashboard.json',
  'utf-8'
);

new k8s.core.v1.ConfigMap(
  'my-dashboard-cm',
  {
    metadata: {
      name: 'my-dashboard',
      namespace: args.namespace,
      labels: { grafana_dashboard: '1' },
    },
    data: { 'my-dashboard.json': JSON.stringify(JSON.parse(myDashboard)) },
  },
  { parent: this }
);

Спасибо за любую помощь!


person Rui Miguel Pinheiro    schedule 27.02.2021    source источник


Ответы (1)


Вы можете установить каталог вашей информационной панели, установив аннотацию папки с именем k8s-sidecar-target-directory.

На объекте Pulumi это должно выглядеть так, как показано ниже.

new k8s.core.v1.ConfigMap(
  'my-dashboard-cm',
  {
    metadata: {
      name: 'my-dashboard',
      namespace: args.namespace,
      labels: { grafana_dashboard: '1' },
      annotations : { "k8s-sidecar-target-directory" : "/tmp/dashboards/yourfolder"                                     }
    },
    data: { 'my-dashboard.json': JSON.stringify(JSON.parse(myDashboard)) },
  },
  { parent: this }
);

Возможно, вы захотите установить sidecar.dashboards.provider.foldersFromFilesStructure:true в значениях основной диаграммы, чтобы у вас было такое же имя папки в меню Grafana.

person Ergun Ozyurt    schedule 05.03.2021
comment
Идеально! Это сработало. Большое спасибо! - person Rui Miguel Pinheiro; 06.03.2021