TGViewer
📢 Load & Performance 📢 Load & Performance @qaload · 951 subscribers
Post #134 600
Grafana / Inspect / Query / Refresh позволяет перезагрузить одну панель на доске Grafana

Привет всем! Бывало такое, что у вас не загружается доска Grafana и показывает пустую панель со значком предупреждения вверху ⚠️? А минуту назад все работало. Или бывало что часть панелей загрузилась, а часть показывают предупреждение?

Чаще всего хочется просто перезагрузить доску. Но если это проблема производительности хранилища метрик, то перезагрузка просто повторяет ситуацию множесвенной отправки запросов. И хотелось бы перезагрузить только сбойные панели

💡 В контекстном меню каждой панели можно найти пункт Inspect / Query, где будет кнопка Refresh, для перезагрузки только текущей панели. Это можно делать несколько раз, пока панель не загрузится успешно

А кеширующий прокси-сервер между Grafana и хранилищем метрик позволяет решить проблему для более общего случая, в котором и обновление страницы дозагружает только сбойные панели

Большинство хранилищ метрик и логов доступны по HTTP и подключаются к Grafana по HTTP. Поэтому можно выставить вместо цепочки:
⏺ Grafana => Хранилище
Цепочку:
⏺ Grafana => Nginx => Хранилище

Так для InfluxDB использовал Nginx вот с такой конфигурацией:
⏺ https://gist.github.com/polarnik/cb6f22751e8d1590342198609243c529

Тут ключевые настройки были такие

Кеш на 20 минут в секции http { ... } :
⏺ proxy_cache_path /data/nginx/cache keys_zone=mycache:20m max_size=1g inactive=60m;

Указание этого кеша в http { server { location /query { ... } } } :
⏺ proxy_cache mycache;
⏺ proxy_cache_key "$host-$request_method-$request_uri";
⏺ proxy_cache_min_uses 1;
⏺ proxy_cache_methods GET;
⏺ proxy_ignore_headers Cache-Control;
игнорирование настроек кеширования от самого хранилища метрик тут обязательно, хранилище метрик будет говорить, что кешировать ответ не надо. Но если выбрать статический интервал времени:
⏺ 00:00:00 ... 12:00:00
но не динамический:
⏺ now-12h ... now
то кеширование будет успешно работать, потому что request_uri не изменится

Если хранилище метрик подключено к Grafana через POST-метод, то тогда в настройках кеширования можно указать:
⏺ proxy_cache_key "$host-$request_method-$request_uri-$request_body";
⏺ client_body_in_single_buffer on;
⏺ client_body_buffer_size 64k;
⏺ proxy_cache_methods GET POST;

Так как Nginx не будет выполнять авторизацию доступа к данным из кеша, то надо будет настроить Firewall так чтобы только IP-адрес Grafana Server имел доступ до Nginx Proxy. В этом случае авторизацию выполняет Grafana, и пользователи имеющие доступ до хранилища метрик там будут иметь доступ и кешу
More from @qaload
  1. Sep 30, 2026Привет любители производительности! Если вы ищите что почитать, то вот тут собралась отлич…
  2. Sep 27, 2026Привет! Сделал видео про несколько мониторов и несколько простых инструментов Да и настрои…
  3. Sep 24, 2026Кажется, удача меня любит Чуть базу данных не сломал, но разграничение прав помогло 🍿 Ист…
  4. Sep 23, 2026Привет performance lovers! Недавно слышал совет: делать обработку данных, как можно ближе…
  5. Sep 20, 2026Привет performance lovers! Видео выше сделано, отчасти, потому, что другие люди проложили…
  6. Sep 12, 2026Привет performance lovers! Утилита GitHub cli упростила мою работу на этой неделе: https:/…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →