func initGCP() { initGCPOnce.Do(func() { onGCE = metadata.OnGCE() if onGCE { // These will fail on instances if the metadata service is // down or the client is compiled with an API version that // has been removed. Since these are not vital, let's ignore // them and make their fields in the dockeLogEntry ,omitempty projectID, _ = metadata.ProjectID() zone, _ = metadata.Zone() instanceName, _ = metadata.InstanceName() instanceID, _ = metadata.InstanceID() } }) }
func init() { if onGCE { // These will fail on instances if the metadata service is // down or the client is compiled with an API version that // has been removed. Since these are not vital, let's ignore // them and make their fields in the dockeLogEntry ,omitempty projectID, _ = metadata.ProjectID() zone, _ = metadata.Zone() instanceName, _ = metadata.InstanceName() instanceID, _ = metadata.InstanceID() } if err := logger.RegisterLogDriver(name, New); err != nil { logrus.Fatal(err) } if err := logger.RegisterLogOptValidator(name, ValidateLogOpts); err != nil { logrus.Fatal(err) } }
func (cmo *CloudMonitoringOutput) Init(config interface{}) (err error) { cmo.conf = config.(*CloudMonitoringConfig) if metadata.OnGCE() { if cmo.conf.ProjectId == "" { if cmo.conf.ProjectId, err = metadata.ProjectID(); err != nil { return } } if cmo.conf.ResourceId == "" { if cmo.conf.ResourceId, err = metadata.InstanceID(); err != nil { return } } if cmo.conf.Zone == "" { if cmo.conf.Zone, err = metadata.Get("instance/zone"); err != nil { return } } } if cmo.conf.ProjectId == "" { return errors.New("ProjectId cannot be blank") } cmo.batchChan = make(chan MonitoringBatch) cmo.backChan = make(chan []*cloudmonitoring.TimeseriesPoint, 2) cmo.outputExit = make(chan error) if cmo.client, err = google.DefaultClient(oauth2.NoContext, cloudmonitoring.MonitoringScope); err != nil { return } if cmo.service, err = cloudmonitoring.New(cmo.client); err != nil { return } r := &cloudmonitoring.ListMetricDescriptorsRequest{Kind: "cloudmonitoring#listMetricDescriptorsRequest"} _, err = cmo.service.MetricDescriptors.List(cmo.conf.ProjectId, r).Do() if err != nil { log.Print("Init CloudMonitoringOutput Error: %v", err) } return }
func (clo *CloudLoggingOutput) Init(config interface{}) (err error) { clo.conf = config.(*CloudLoggingConfig) if metadata.OnGCE() { if clo.conf.ProjectId == "" { if clo.conf.ProjectId, err = metadata.ProjectID(); err != nil { return } } if clo.conf.ResourceId == "" { if clo.conf.ResourceId, err = metadata.InstanceID(); err != nil { return } } if clo.conf.Zone == "" { if clo.conf.Zone, err = metadata.Get("instance/zone"); err != nil { return } } } if clo.conf.ProjectId == "" { return errors.New("ProjectId cannot be blank") } clo.batchChan = make(chan LogBatch) clo.backChan = make(chan []*logging.LogEntry, 2) clo.outputExit = make(chan error) if clo.client, err = google.DefaultClient(oauth2.NoContext, logging.CloudPlatformScope); err != nil { return } if clo.service, err = logging.New(clo.client); err != nil { return } _, err = clo.service.Projects.LogServices.List(clo.conf.ProjectId).Do() if err != nil { log.Print("Init CloudLoggingOutput Error: %v", err) } return }