Как я могу импортировать пользователей и команды в grafana? - PullRequest
0 голосов
/ 24 января 2020

Я готовлю графану и запускаю ее без базы данных. Я использую Terraform и Helm, чтобы сделать это. Я уже знаю, что могу хранить свои файлы панели инструментов, помещать их в файл values.yaml для диаграммы руля grafana и предоставлять их таким образом.

Хорошо, что панели мониторинга сохраняются между выпусками, но пользователи и команды не делайте. Я не могу найти, где я могу загрузить или сохранить какой-то файл JSON, содержащий эту информацию.

Для получения дополнительной информации я использую Google Oauth.

Как я могу предоставить пользователям и командам " Информация? Это не обязательно должно быть указание helm c. Если это что-то вроде монтирования громкости, это тоже сработает.

1 Ответ

1 голос
/ 04 февраля 2020

Мы просто используем Grafana API через Ansible (используя модуль uri), возможно, это поможет вам или подтолкнет вас в правильном направлении.

- name: create users
  uri:
    url: "https://{{ grafana_url }}/api/admin/users"
    user: admin
    password: "{{ admin_password }}"
    force_basic_auth: yes
    method: POST
    headers:
      Accept: application/json
      Content-Type: application/json
    body:
      name: "{{ item.name }}"
      email: "{{ item.email }}"
      login: "{{ item.email }}"
      password: "{{ pass }}"
    body_format: json
  with_items: "{{ admin_list }}"

Тогда список простой yaml.

admin_list:
  - name: "Mrs. X"
    login: "x@gmail.com"
  - name: "Ms. Y"
    login: "y@gmail.com"

И на второй ноте вы можете определить пользователей в Terraform (никогда не использовал его сам).

resource "grafana_organization" "org" {
    name         = "Grafana Organization"
    admin_user   = "admin"
    create_users = true
    admins       = [
        "admin@example.com"
    ]
    editors      = [
        "editor-01@example.com",
        "editor-02@example.com"
    ]
    viewers      = [
        "viewer-01@example.com",
        "viewer-02@example.com"
    ]
}
...