Назад | Перейти на главную страницу

Node.js не разговаривает с Mongodb

Я унаследовал сервер, и прежней команды администраторов больше нет. У нас есть работающий сервер, который работает, но я пытаюсь успешно преобразовать его в AMI для масштабирования AWS.

Клоны работают, кроме функции чата. Он использует приложение Node.js для общения в чате. Mongodb - это БД чата.

Я изменил config.json приложения, чтобы указать mongoDB на правильное полное доменное имя балансировщика нагрузки, и mongo, похоже, запускается нормально.

Однако в функционирующих (исходных) серверах Mongo log ... Понятно ...

2016-07-25T18:11:15.393+0000 I NETWORK  [initandlisten] waiting for connections on port 27017
2016-07-25T18:11:30.272+0000 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:36001 #1 (1 connection now open)
2016-07-25T18:12:32.981+0000 I INDEX    [conn1] allocating new ns file /var/lib/mongodb/admin.ns, filling with zeroes...
2016-07-25T18:12:33.265+0000 I STORAGE  [FileAllocator] allocating new datafile /var/lib/mongodb/admin.0, filling with zeroes...
2016-07-25T18:12:33.268+0000 I STORAGE  [FileAllocator] done allocating datafile /var/lib/mongodb/admin.0, size: 64MB,  took 0.003 secs
2016-07-25T18:12:33.281+0000 I INDEX    [conn1] build index on: admin.system.users properties: { v: 1, unique: true, key: { user: 1, db: 1 }, name: "user_1_db_1", ns: "admin.system.users" }
2016-07-25T18:12:33.281+0000 I INDEX    [conn1]          building index using bulk method
2016-07-25T18:12:33.282+0000 I INDEX    [conn1] build index done.  scanned 0 total records. 0 secs
2016-07-25T18:12:33.282+0000 I COMMAND  [conn1] command admin.$cmd command: createUser { createUser: "admin", pwd: "xxx", roles: [ { role: "root", db: "admin" } ], digestPassword: false, writeConcern: { w: "majority", wtimeout: 30000.0 } } keyUpdates:0 writeConflicts:0 numYields:0 reslen:37 locks:{ Global: { acquireCount: { r: 4, w: 4 } }, MMAPV1Journal: { acquireCount: { w: 11 } }, Database: { acquireCount: { W: 4 } }, Collection: { acquireCount: { W: 1 } }, Metadata: { acquireCount: { W: 7 } } } 317ms
2016-07-25T18:16:25.538+0000 I NETWORK  [conn1] end connection 127.0.0.1:36001 (0 connections now open)
2016-07-26T09:35:55.261+0000 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:38409 #2 (1 connection now open)

Однако на клонированных серверах я вижу ...

2017-03-30T07:48:01.450+0000 I NETWORK  [initandlisten] waiting for connections on port 27017

... тогда ничего. Я действительно не уверен, где искать или как определить, что должно быть подключено и откуда. Я провожу анализ сервера, чтобы попытаться понять это.

Может ли кто-нибудь предложить предложения, где искать ... в частности, где подключение к порту 127.0.0.1:36001 исходит и где я должен искать конфигурацию этого порта (ничего в / etc / services BTW)

Вкратце: вы видите, что кто-то создает первого пользователя-администратора, что необходимо для аутентифицированной базы данных.

Номер порта 36001 не имеет значения; это случайно назначенный номер порта на стороне клиента.

Однако IP-адрес 127.0.0.1 важно: это показывает, что клиент подключался с того же компьютера. Это означает, что он либо работал прямо здесь, на сервере db, либо работал где-то еще, но подключался через туннель.

Записи журнала интересны:

  • соединение имеет метку времени через несколько секунд после запуска сервера, в августе прошлого года
  • есть пауза еще на минуту
  • затем в течение секунды появляются журналы того, что что-то происходит
  • ссылки на новые файлы admin.ns и admin.0 подтвердите, что админ база данных создавалась и сначала записывалась.
  • есть запись о создании пользователя
  • есть еще пауза в несколько минут
  • сеанс отключен

Для меня это выглядит так, как будто администратор db разбирал аутентификацию на новом сервере следующим образом:

Причина, по которой об этом есть запись в журналах реального сервера, но не в журналах клонированного сервера, заключается в том, что это не был автоматический процесс - кто-то вручную выполнил эти шаги. Вы не сделали этого (пока) на сервере клонирования, поэтому в журнале этого нет (пока).