Как слушать события GCE - PullRequest
       34

Как слушать события GCE

0 голосов
/ 30 апреля 2020

Я хотел бы иметь возможность прослушивать, когда экземпляр GCE запускается, останавливается, удаляется. Это сделано для того, чтобы я мог создать панель мониторинга, чтобы пользователи могли просматривать состояние компьютеров Как я могу это сделать?

1 Ответ

2 голосов
/ 30 апреля 2020

Вы можете использовать облачную функцию для реализации такого рабочего процесса. Облачные функции не могут напрямую «прослушивать» события GCE, но их можно запускать, когда сообщение публикуется в указанном c PubSub topi c.

Теперь события виртуальной машины GCE регистрируются в облачном журнале, и журналы, соответствующие определенному фильтру, можно экспортировать в PubSub topi c.

Таким образом, в облачном журнале вы можете установить расширенный фильтр журнала, например:

resource.type="gce_instance"
jsonPayload.event_subtype="compute.instances.stop" OR jsonPayload.event_subtype="compute.instances.start"

Этот фильтр будет фильтровать stop и start события со всех виртуальных машин в вашем проекте. Вы можете увидеть список доступных событий здесь .

После того, как вы определили фильтр журналов, вы можете «создать приемник» и настроить его на отправку отфильтрованных журналов в PubSub topi c на ваш выбор. Подробнее о том, как настроить экспортный приемник здесь .

Теперь, когда ваши журналы событий отправляются в PubSub topi c, вы можете go на PubSub topi c list , выберите ваш topi c и нажмите кнопку «Trigger Cloud Function». Вам будет предложено настроить облачную функцию, которая будет запускаться для каждого нового сообщения в этом топи c. Предлагаемый код функции (например, nodejs 8):

exports.helloPubSub = (event, context) => {
  const pubsubMessage = event.data;
  console.log(Buffer.from(pubsubMessage, 'base64').toString());
};

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

...