Проблемы при переходе с Azure на облачный сервис Google - PullRequest
1 голос
/ 30 октября 2019

Основываясь на результатах поиска, я создал проект и развернул несколько сервисов по этой ссылке: https://codelabs.developers.google.com/codelabs/cloud-app-engine-go/index.html?index=..%2F..index#0

После большой борьбы я мог развернуться, но теперь я даже не уверен, что приложениедействительно работает где-то, так как у меня вообще нет логов (я не нашел ни одного, по крайней мере, один, говорящий 2019-10-29T21:56:21.890Z App Engine UpdateService users-service john.doe@email.com .........), я не нашел никаких метрик, и я не могу добраться до своего API ..

Мой API в настоящее время определяет 2 порта (gRPC & REST), поэтому я попытался пропинговать указанный адрес, добавив порт и без него, но безуспешно, так как не могу связаться со своим сервисом.

Ябуквально застрял прямо сейчас, я попробовал пару библиотек журналов, касающихся документации Google Cloud, но мне кажется, что ничего не работает, все остается пустым.

- "google.golang.org/appengine/log"
- "cloud.google.com/go/logging"
- "log"

Сегодня утром вернулся на работу, через час я попыталсяразверните мой сервис, и я получил 3 первых журнала

package main

import (
    "log"
    ...
)

func main() {


    log.Print("Users Service")
    log.Println("Users Service")
    log.Printf("Users Service")

    log.Fatal("Heyyyyyyy")

//...

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

Я пытался обновить свою функцию печати, но безуспешно:

// appengineLog is actually the official package but I renamed it to use both "log" and "appengine/log"
// import appengineLog "google.golang.org/appengine/log"

func print(v string) {
    log.Print(v)
    log.Println(v)
    log.Printf("%s", v)
    ctx, _ := context.WithTimeout(context.Background(), 2*time.Second)
    appengineLog.Infof(ctx, "%s", v)
    appengineLog.Debugf(ctx, "%s", v)
    appengineLog.Errorf(ctx, "%s", v)
    appengineLog.Warningf(ctx, "%s", v)
    appengineLog.Criticalf(ctx, "%s", v)
}

func main() {
    print("test")
    // ...
}

Странно, что я получаю 2019-10-29T21:56:21.890Z App Engine UpdateService users-service john.doe@email.com ......... сообщений для каждого развертывания, поэтому это означает (мне), что мой сервис развернут, поэтому он должен начать работу и распечатать. Печать находится на первой строке моего основного текста, поэтому ..

EDIT

Поскольку я перехожу из Monolith в Microservices, я выбрал Google Compute Engine, который кажется более подходящим для такого развертывания :)

1 Ответ

0 голосов
/ 30 октября 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...