Какие шаги необходимы для сбора ошибок из приложения Rails, работающего на GKE?
Я добавил гем стека-драйвера в свое приложение Rails и создал собственную роль с разрешением errorreporting.errorEvents.create
.
Эта роль назначается учетной записи службы по умолчанию Compute Engine
Я интерпретирую документы , что не нужно выполнять следующую настройку при работе на GKE:
# Add this to config/environments/*.rb
Rails.application.configure do |config|
# Stackdriver Error Reporting specific parameters
config.google_cloud.error_reporting.project_id = "YOUR-PROJECT-ID"
config.google_cloud.error_reporting.keyfile = "/path/to/service-account.json"
end
Я вручную создал исключение
Это дало мне ценную информацию:
irb(main):001:0> Google::Cloud::ErrorReporting.report Exception.new(msg: "from console")
=> nil
irb(main):002:0> {:msg=>"from console"} (Exception)
Google::Cloud::PermissionDeniedError: 7:Stackdriver Error Reporting API has not been used in project NNNNN before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/clouderrorreporting.googleapis.com/overview?project=NNNN then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
После включения API я получаю эту ошибку:
irb(main):004:0> {:msg=>"from console"} (Exception)
Google::Cloud::PermissionDeniedError: 7:User not authorized.
Итак, какое разрешение я должен дать тому или иному пользователю для выполнения этой работы? : - |