Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
Где в базе данных MongoDB хранится настройка "Override Inform Host"?, UniFi Network
 
Бегу UNA 9.1.120. Где, где в базе данных хранится настройка "Inform Host Override"? Вчера я случайно сломал свой контроллер и потратил часы на то, чтобы всё вернуть на круги своя из-за бага, в котором inform host принимает номер порта, но фактически не передаёт его корректно до конечных точек. Так что, очень было бы здорово знать, где именно эта настройка лежит в базе данных, чтобы мне не пришлось делать полное восстановление базы данных, чтобы выкатиться из следующей подобной ситуации...
 
Тут этого нет. Может, это по-другому на UDM. Это самохостимая UNA.ace > db.setting.find({ key: "super_mgmt" }).pretty()
[
{
_id: ObjectId('57354ce7ec2e1b9d8a-xxxxx'),
data_retention_time_in_hours_for_5minutes_scale: 168,
analytics_disapproved_for: '7.5.174',
enable_analytics: false,
data_retention_time_in_hours_for_hourly_scale: 720,
data_retention_time_in_hours_for_daily_scale: 2160,
multiple_sites_enabled: true,
minimum_usable_hd_space: 500,
autobackup_max_files: 7,
data_retention_setting_preference: 'manual',
live_chat: 'disabled',
live_updates: 'live',
override_inform_host: true,
report_approved: true,
autobackup_cron_expr: '0 3 * * *',
key: 'super_mgmt',
data_retention_time_in_hours_for_monthly_scale: 8760,
autobackup_enabled: true,
image_maps_use_google_engine: true,
approved_terms_version: 'b624889a8bee2d5ae7a12eae5bdcc6dc',
time_series_per_client_stats_enabled: true,
store_enabled: 'super-only',
terms_version: 'b624889a8bee2d5ae7a12eae5bdcc6dc',
data_retention_time_in_hours_for_others: 2160,
autobackup_timezone: 'America/New_York',
discoverable: true,
google_maps_api_key: '___redacted___',
autobackup_days: 0,
backup_to_cloud_enabled: false
}
]
 
Кажется странным, что эти поля могут различаться между версиями, но можно просто попробовать распечатать всё содержимое document.db.setting.find({ key: "super_mgmt" }).pretty()
Для справки, я запускаю это на UDM-Pro с UniFi Network 9.2.83 (Early Access).
 
Спасибо @travis.vitek, но когда я запустил это на своем UNA, выводится только значение override_inform_host, а не остальные 2 поля: ace> db.setting.find({ key: "super_mgmt" },
...   { _id: 0,
...     override_inform_host: 1,
...     override_inform_host_type: 1,
...     override_inform_host_location: 1
...   }).forEach(printjson)

{
  override_inform_host: true
}
 
Это в таблице настроек, в документе с ключом=super_mgmt.root@Vitek-UDM-Pro:~# mongo --quiet --port 27117 ace --eval \
'db.setting.find({ key: "super_mgmt" },
{ _id: 0,
override_inform_host: 1,
override_inform_host_type: 1,
override_inform_host_location: 1 }).pretty()'
{
"override_inform_host" : false,
"override_inform_host_type" : "custom",
"override_inform_host_location" : "192.168.0.1"
}
 
Я протестировал это на свежей throwaway системе 9.1.120, просто чтобы посмотреть, работает ли. Вот синтаксис команды для изменения переопределения inform на UNA через mongo shell...const new_host = 'xyzzy.corp';

db.setting.updateOne({ key: "super_mgmt" }, { $set: {
  override_inform_host: true,
  override_inform_host_location: new_host
}});

db.setting.updateOne({ key: "super_identity" }, { $set: {
  hostname: new_host
}});
Затем перезапусти контроллер...Я не тестировал это особо много, но кажется, что работает. YMMV. Надеюсь, это поможет следующему парню/девчонке. Интересно, что на свежевыкатанном контроллере UNA супер_mgmt: override_inform_host_location ключ присутствует, а на моем "старом" контроллере (та же версия UNA) его нет. Другой способ установить эти значения в одной команде:const new_host = 'unifi.foo.net';

db.setting.bulkWrite([{
 updateOne: { filter: { key: "super_mgmt" }, update: { $set: {
    override_inform_host: true,
    override_inform_host_location: new_host
  }}}}, {
  updateOne: { filter: { key: "super_identity" }, update: { $set: {
   hostname: new_host
 }}}}
]);
 
Нашел...ace> db.setting.find({ key: "super_identity" }).pretty()
[
{
_id: ObjectId('57354ce7ec2e1bXXXXXXXXXX'),
key: 'super_identity',
name: 'unifi.FOO.COM',
hostname: 'unifi.FOO.COM'
}
]
Страницы: 1
Читают тему (гостей: 1)