Настройка TLS для PostgreSQL в сенсоре "Запрос в базу данных"
Начиная с версии 5.0 агент поддерживает TLS для баз данных PostgreSQL в сенсоре Запрос в базу данных.
Включить TLS можно только с помощью REST API. |
Для включения TLS для PostgreSQL в сенсоре "Запрос в базу данных" необходимо выполнить следующие действия:
-
Настроить на новом или существующем объекте сенсор Запрос в базу данных для работы с существующей БД PostgreSQL.
-
Получить ID объекта, на котором настроен мониторинг БД. Сделать это можно на вкладке "Параметры" объекта в виде Подробной информации.
-
Получить ID свойства
DatabaseServerUrl
объекта, на котором настроен мониторинг БД с помощью запроса Получить свойства объекта:Запрос с помощью curllogin=<...> password=<...> saymon_hostname=<...> object_id=<...> url=https://$saymon_hostname/node/api/objects/$object_id/props curl -X GET $url -u $login:$password
Ответ в формате JSON[ ... { "type_id": 8, "name": "DatabaseServerUrl", "value": "jdbc:postgresql://localhost:5432/db-name?user=username&password=password&characterEncoding=utf8", "id": "66aa4dcc5351ea1a23fb63fc" } ... ]
-
Добавить
&ssl=true
в строку подключения с помощью запроса Обновить свойство объекта, используя полученные ранее ID объекта и ID свойства:Запрос с помощью curllogin=<...> password=<...> saymon_hostname=<...> object_id=<...> prop_id=<...> url=https://$saymon_hostname/node/api/objects/$object_id/props/$prop_id curl -X PATCH $url -u $login:$password \ -H "Content-Type: application/json" \ -d @- <<EOF { "value": "jdbc:postgresql://localhost:5432/db-name?user=username&password=password&characterEncoding=utf8&ssl=true" } EOF
После выполнения всех шагов, перезагрузка агента или сервера не требуется. Агент будет использовать TLS при следующем запросе к базе данных.