Назад | Перейти на главную страницу

Графана импорт графитовых панелей 404

Я пытаюсь настроить интерфейс Grafana для нашего устаревшего графитового сервера. Оба процесса работают в одном экземпляре EC2 под управлением Ubuntu 12.04. У меня проблемы с импортом дашбордов из graphite-web. Я могу успешно перечислить их, но когда я пытаюсь импортировать один, я получаю «Проблема! Не найдено». сообщение об ошибке.

В частности, когда я следую запросам в Chrome, я вижу следующее:

Я пробовал скручивать второй GET локально и удаленно, всегда с тем же результатом. Я также использовал $ MY-DASHBOARD-NAME вместо $ DASHBOARD-NAME-WITHOUT-DASHES, и локально или удаленно дал тот же результат.

Мой источник данных графита настроен как https: // $ MY_GRAPHITE_DOMAIN с прямым доступом и без аутентификации. Я переключился на прямой доступ, потому что это позволило мне перечислить панели управления Graphite, где прокси-доступ не был. Все остальные функции, кроме импорта, работают нормально.

Как бы то ни было, и Graphite, и Grafana работают на одной машине с nginx перед ними. Установка подробно описана ниже.

Я использую ванильную установку Grafana с завершением SSL на nginx перед передачей через прокси. /etc/nginx/sites-enabled/grafana.conf:

server {
    listen 443;
    server_name $MY_GRAFANA_DOMAIN;

    // ssl conf

    location / {
        proxy_pass http://localhost:3000;
    }
}

Этот устаревший сервер Graphite (с которым я хочу как можно меньше возиться) работает за nginx и uwsgi. Я добавил Access-Control-Allow-Origin директива. /etc/nginx/sites_enabled/graphite.conf:

upstream uwsgi_graphite {
    server unix:/tmp/uwsgi-graphite.sock;
}

include uwsgi_params;

server {
    listen 443;
    server_name $MY_GRAPHITE_DOMAIN;
    root /opt/graphite;
    underscores_in_headers on;   # For legacy graphite clients with malformed headers
    // SSL CONF

    location / {
        # Allow specified network with no password
        # Everyone else needs the password
        satisfy any;
        allow 127.0.0.1/32;      
        allow $MY_HOME_IP;
        deny all;
        auth_basic           "closed site";
        auth_basic_user_file /opt/graphite/conf/htpasswd;

        add_header Access-Control-Allow-Origin *;

        uwsgi_pass_request_headers on;
        uwsgi_pass uwsgi_graphite;
    }
}

Что я сделал не так, что мешает этому импорту работать? В качестве альтернативы, есть ли обходной путь, который я могу использовать для этого импорта?

Очевидно, мне просто нужно один раз перенести эти информационные панели. Я пробовал разместить тело ответа GET https://$MY_GRAPHITE_DOMAIN/dashboard/load/$MY-DASHBOARD-NAME в файл и загружает его локально, но безрезультатно.

Это было исправлено в недавней сборке: https://github.com/grafana/grafana/issues/2529