0

Ich möchte ein bestimmtes Protokoll in meinem Ruby-Skript mit Google-Cloud-Logging-Juwel installiert erstellen.UnavailableError in Google Cloud Logging

Es funktioniert, wenn ich es auf meinem Windows-Client laufen, aber ich bekomme die folgende Fehlermeldung, wenn ich es auf meinem Linux-Server laufen:

/usr/lib64/ruby/gems/2.1.0/gems/google-cloud-logging-1.2.1/lib/google/cloud/logging/service.rb:327:in `rescue in execute': 14:Connect Failed (Google::Cloud::UnavailableError) 
    from /usr/lib64/ruby/gems/2.1.0/gems/google-cloud-logging-1.2.1/lib/google/cloud/logging/service.rb:324:in `execute' 
    from /usr/lib64/ruby/gems/2.1.0/gems/google-cloud-logging-1.2.1/lib/google/cloud/logging/service.rb:124:in `write_entries' 
    from /usr/lib64/ruby/gems/2.1.0/gems/google-cloud-logging-1.2.1/lib/google/cloud/logging/project.rb:277:in `write_entries' 
    from ./test.rb:26:in `<main>' 

ich Google Cloud SDK ein Ich bin über ginit installiert haben autorisiert auf beiden Maschinen. Ich habe auch die Schlüsseldatei hinzugefügt, die ein Logging-Admin-Dienstkonto ist, aber nichts funktioniert. Ich bin in der Lage Dateien in einen Eimer

Hier ist mein Ruby-Skript Beispiel über googl-Cloud-Speicher auf der gleichen Maschine zu laden:

require "google/cloud/logging" 

puts "in script" 
logging = Google::Cloud::Logging.new(project: "projectname", 
           keyfile: ###path###) 
puts "after logging" 
filename = "test from server" 

entry = logging.entry 
entry.payload = filename 
entry.log_name = "1" 
entry.resource.type = "gae_app" 
entry.resource.labels[:module_id] = "upload" 
entry.resource.labels[:version_id] = "1.0.0.0" 
puts "after setup" 
logging.write_entries entry 
puts "after writing" 

Antwort

0

Sieht aus wie Sie mit Ruby 2.1 in der Dokumentation sagt dass Rubin 2.2 oder höher ist erforderlich link

installieren So Rubin 2.3 und installieren Sie die Edelsteine ​​

gem "google-cloud-logging" 
gem "stackdriver" 
Verwandte Themen