Настройка прокси-соединения SOCKS5 для источника данных

Grafana поддерживает проксирование соединений источников данных через защищённый прокси SOCKS5. Это позволяет вам безопасно подключаться к источникам данных, размещённым в другой сети, чем Grafana.

Чтобы воспользоваться этой функциональностью, вам нужно развернуть прокси-сервер SOCKS5, поддерживающий TLS, на машине, доступной с того места, где работает ваш экземпляр Grafana, и в той же сети, что и ваш источник данных. Оттуда Grafana устанавливает взаимно доверенное соединение от Grafana к прокси. Затем прокси SOCKS5 может проксировать соединение источника данных Grafana к вашему приватному экземпляру источника данных, не раскрывая ваш источник данных в публичный интернет.

Известные ограничения

  • Вы можете настроить только один прокси SOCKS5 на экземпляр Grafana. Это потому, что адрес прокси SOCKS5 и конфигурация TLS задаются на уровне экземпляра Grafana.
  • Все встроенные основные источники данных совместимы, но не все внешние источники данных. Список поддерживаемых источников данных см. в разделе private data source connect.

Перед началом

Чтобы выполнить эту задачу, вы должны сначала иметь работающий прокси-сервер SOCKS5, использующий сертификаты хоста, подписанные центром сертификации (CA), публичный сертификат которого вы можете получить. Вы также должны иметь пару клиентского ключа TLS для Grafana, с клиентским сертификатом, подписанным тем же CA, который использовался для подписи сертификата прокси-сервера.

Шаги

  1. Чтобы Grafana отправляла соединения источников данных на сервер socks5, используйте следующую таблицу, чтобы настроить раздел secure_socks_datasource_proxy файла config.ini:

    Ключ Описание Пример
    enabled Включить эту функцию в Grafana true
    root_ca_cert Путь к файлу корневого сертификата CA, используемого для подписи сертификата прокси-сервера /etc/ca.crt
    client_key Путь к файлу клиентского приватного ключа /etc/client.key
    client_cert Путь к файлу клиентского публичного ключа /etc/client.crt
    server_name Доменное имя прокси, используемое для SNI proxy.grafana.svc.cluster.local
    proxy_address Адрес прокси localhost:9090
    allow_insecure Отключить TLS в прокси socks false
  2. Настройте источник данных и сконфигурируйте его для отправки соединений источников данных через прокси.

    Чтобы настроить ваши источники данных для отправки соединений через прокси, в JSON источника данных должен быть указан enableSecureSocksProxy=true. Вы можете сделать это в API или использовать провижининг на основе файлов.

    Кроме того, при использовании аутентификации SOCKS5 вы можете задать имя пользователя и пароль SOCKS5, добавив secureSocksProxyUsername в поле jsonData источника данных и secureSocksProxyPassword в поле secureJsonData источника данных.