Я пытаюсь получить Служба мониторинга MongoDB от 10gen мониторинг моего набора реплик с 3 узлами. Набор реплик, работающий в AWS VPC. Каждый узел работает на отдельной [виртуальной] машине. Предположим, что их IP-адреса 192.168.1.1
(первичный или вторичный), 192.168.1.2
(первичный или вторичный), 192.168.1.3
(арбитр).
При беглом взгляде на источник MMS, похоже, получает имя хоста компьютера, на котором он работает, вот так:
platform.uname()[1]
Для моего экземпляра VPC EC2 это возвращает что-то вроде
ip-192-168-1-1
Затем MMS пытается подключиться к этому имени хоста, но это не удается. Я бы предпочел просто использовать IP-адреса (поскольку они всегда статичны), но похоже на жестко запрограммированное использование platform.uname()[1]
в mmsAgent.py
исключает это.
Итак, какой же изящный выход из этого? Взломать /etc/hosts
? Я не настраиваю DNS-сервер только для этого. Может я просто неправильно понимаю, как настроить MMS.
Этот фрагмент в агенте фактически является тем, как агент сообщает свое имя, а не тем, к чему он подключается. Что касается того, к чему он подключается после запуска:
Он будет подключаться к хостам на основе имени хоста, которое вы вводите в MMS, когда вы нажимаете кнопку добавления, или он будет использовать имена хостов, которые он автоматически обнаруживает.
Примечание: вы можете добавить IP-адреса в конфигурацию MMS вместо имен хостов, и агент это легко уловит, затем вы можете добавить псевдонимы для улучшения читаемости на сайте постфактум.
Поскольку я работаю в 10gen, я могу взглянуть на вашу группу MMS, если вы пришлете мне название группы отдельно, если хотите. Если нет, то я предлагаю взглянуть на вкладку «Журнал агента» - там будут перечислены ошибки, обнаруженные агентом, при условии, что он вообще может подключиться к mms.10gen.com.
Я всегда устанавливаю такую запись для хостов:
1.2.3.4 host.domain.com host
Именно для этого. Насколько мне известно, другого способа получить полное доменное имя на самом хосте нет.