StackDriver: сбор показателей за пределами GCP и AWS

У меня вопрос о StackDriver от Google Cloud. Я много часов пытался настроить сервер вне GCP и AWS для сбора метрик, но не могу заставить его работать.

StackDriver может собирать метрики извне, или я теряю время?

Если умеет, кто-нибудь знает хороший мануал?

Спасибо!!! и привет !!!


person Daniel Carrasco Marín    schedule 03.05.2017    source источник


Ответы (4)


Адам прав в том, что Stackdriver (на момент написания) не поддерживает сбор метрик агента за пределами GCP / AWS. Итак, то, что вы пытаетесь сделать, официально не поддерживается.

Однако продукты Stackdriver состоят из API, поэтому технически вы можете собирать метрики извне GCP и AWS. Технически это возможно, но инструменты и документация на стороне клиента для этого просто не существуют, что усложняет задачу.

В общем, документы AWS наиболее близки к тому, что вам нужно, поскольку AWS - это общедоступный Интернет, если говорить о Stackdriver.

Для аутентификации вы захотите использовать сервисные аккаунты, аналогичные настройке AWS.

Если у вас всего несколько показателей, вы всегда можете написать специальные показатели, используя один из клиентские библиотеки. Это, вероятно, самый простой способ сделать, если у вас есть всего несколько показателей, которые вы хотите написать.

Агент collectd, который вам предлагается установить в документации, просто собирает метрики из различных журналов и отправляет их в API. Вы можете проверить это на Github. Но поскольку в настоящее время поддерживаются только GCP и AWS, вы рискуете выйти на территорию, где вам нужно будет понять код агента и изменить его самостоятельно, чтобы заставить его работать за пределами GCP / AWS.

В будущем я буду следить за Stackdriver, чтобы улучшить его.

person Bill Prin    schedule 04.05.2017
comment
Спасибо за вашу помощь. Я так и думал, но я новичок в мире GCP и хотел спросить у людей с большим опытом. Привет!! - person Daniel Carrasco Marín; 05.05.2017

Это доступно сейчас. У Google было несколько агентов, которые они предоставили для этого из разных сред.

Однако похоже, что они устарели и были заменены третьей стороной (партнером Google) из Документов Google: https://cloud.google.com/stackdriver/docs/deprecations/third-party-apps

Похоже, что за использование лицензии нет платы (бесплатно в Marketplace ) просто нужно платить за использование данных, поступающих в Stackdriver.

person AlphaPapa    schedule 14.08.2019

Судя по странице документации агента StackDriver, это не вариант.

Он работает с AWS, но вам необходимо связать свою учетную запись AWS с их учетными записями.

Изменить: у меня было предположение относительно доступа к бэкэнду StackDriver от сторонних авторизованных облачных провайдеров. Это было неточно.

person Adam Ocsvari    schedule 04.05.2017
comment
Этот ответ не совсем правильный, потому что сервисы доступны в открытом Интернете, они защищены аутентификацией. Вы можете использовать Stackdriver вне GCP / AWS, это просто вопрос инструментов и документации, которые не так совершенны в настоящее время. - person Bill Prin; 04.05.2017
comment
Какому руководству, источнику вы пытаетесь следовать? - person Adam Ocsvari; 04.05.2017
comment
Вы правы в том, что он не поддерживается, потому что документы / инструменты не готовы. Я просто отмечаю, что вы можете использовать Stackdriver вне GCP / AWS, в настоящее время ваш комментарий об открытом Интернете неверен (AWS уже является открытым Интернетом, что касается GCP). Но пытаясь использовать его сегодня, вам придется во многом разобраться самостоятельно. - person Bill Prin; 04.05.2017
comment
Спасибо за вашу помощь. Привет!! - person Daniel Carrasco Marín; 05.05.2017

Мне удалось заставить этот вариант использования работать, хотя он не поддерживается и поэтому для настройки агента я действительно не нашел никакой документации по нему, кроме c исходным кодом stackdriver-agent.

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

На компьютере (за пределами GCP, который должен отслеживаться) установите агент добавьте ключ учетной записи службы, описанный здесь.

Настройте агент, отредактировав /etc/stackdriver/collectd.conf - добавить

  CloudProvider "gcp"
  Instance "name_for_machine_outside_gcp"
  Zone "europe-west3-c"
  Region "europe-west3"

в тег <Plugin "write_gcm">, где name_for_machine_outside_gcp - имя компьютера для определения показателей. Зона и регион, насколько мне известно, не имеют значения, но должны быть действительными зонами (где может быть виртуальная машина в GCP), поскольку агент предназначен для работы в виртуальной машине внутри GCP.

перезапустите агент sudo service stackdriver-agent restart, и агент должен начать отправлять метрики на накопитель стека, все из которых имеют префикс agent.googleapis.com.

Это означает, что метрика будет такой же, как у stackdriver-agent на виртуальной машине в GCP, и нет необходимости разделять метрики с моей машины на какую-то настраиваемую метрику.

Это немного взломано, поскольку поле Instance должно ссылаться на существующую виртуальную машину в GCP и может конфликтовать, если не осторожно, но я пока не обнаружил никаких проблем с этим.

Другое решение - это BindPlane, упомянутый в ответе AlphaPapa, который я не пробовал, поскольку он казался немного тяжелым для моих простых метрик ОС, но похоже на решение, если необходимы метрики для некоторых из многих приложений, которые они поддерживают. Он отправляет настраиваемые метрики, поэтому метрики виртуальной машины GPC и других машин разделяются.

person Tomáš Zahradníček    schedule 14.06.2021