From 056f0e07b233d3a438b1d21b5182cb2ea49638d2 Mon Sep 17 00:00:00 2001 From: Mariana Dima Date: Tue, 13 Oct 2020 16:01:19 +0200 Subject: [PATCH 01/29] Fix for azure retrieve resource by ids (#21711) * mofidy doc * start work * work * changelog * fix test --- CHANGELOG.next.asciidoc | 1 + x-pack/metricbeat/module/azure/client.go | 6 ++--- x-pack/metricbeat/module/azure/client_test.go | 2 +- .../metricbeat/module/azure/mock_service.go | 4 +-- .../module/azure/monitor_service.go | 26 ++++++++++++++----- .../module/azure/service_interface.go | 2 +- 6 files changed, 27 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 660fa25a10d..41de16190a8 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -366,6 +366,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Fix remote_write flaky test. {pull}21173[21173] - Visualization title fixes in aws, azure and googlecloud compute dashboards. {pull}21098[21098] - Add a switch to the driver definition on SQL module to use pretty names {pull}17378[17378] +- Fix retrieving resources by ID for the azure module. {pull}21711[21711] {issue}21707[21707] - Use timestamp from CloudWatch API when creating events. {pull}21498[21498] *Packetbeat* diff --git a/x-pack/metricbeat/module/azure/client.go b/x-pack/metricbeat/module/azure/client.go index e488fab98b6..dd48f962b59 100644 --- a/x-pack/metricbeat/module/azure/client.go +++ b/x-pack/metricbeat/module/azure/client.go @@ -65,14 +65,14 @@ func (client *Client) InitResources(fn mapResourceMetrics) error { err = errors.Wrap(err, "failed to retrieve resources") return err } - if len(resourceList.Values()) == 0 { + if len(resourceList) == 0 { err = errors.Errorf("failed to retrieve resources: No resources returned using the configuration options resource ID %s, resource group %s, resource type %s, resource query %s", resource.Id, resource.Group, resource.Type, resource.Query) client.Log.Error(err) continue } //map resources to the client - for _, resource := range resourceList.Values() { + for _, resource := range resourceList { if !containsResource(*resource.ID, client.Resources) { client.Resources = append(client.Resources, Resource{ Id: *resource.ID, @@ -84,7 +84,7 @@ func (client *Client) InitResources(fn mapResourceMetrics) error { Subscription: client.Config.SubscriptionId}) } } - resourceMetrics, err := fn(client, resourceList.Values(), resource) + resourceMetrics, err := fn(client, resourceList, resource) if err != nil { return err } diff --git a/x-pack/metricbeat/module/azure/client_test.go b/x-pack/metricbeat/module/azure/client_test.go index 47b88f99cce..6b0df97a370 100644 --- a/x-pack/metricbeat/module/azure/client_test.go +++ b/x-pack/metricbeat/module/azure/client_test.go @@ -50,7 +50,7 @@ func TestInitResources(t *testing.T) { client := NewMockClient() client.Config = resourceQueryConfig m := &MockService{} - m.On("GetResourceDefinitions", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(resources.ListResultPage{}, errors.New("invalid resource query")) + m.On("GetResourceDefinitions", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return([]resources.GenericResource{}, errors.New("invalid resource query")) client.AzureMonitorService = m mr := MockReporterV2{} mr.On("Error", mock.Anything).Return(true) diff --git a/x-pack/metricbeat/module/azure/mock_service.go b/x-pack/metricbeat/module/azure/mock_service.go index f6f54c300e0..601f1de5b45 100644 --- a/x-pack/metricbeat/module/azure/mock_service.go +++ b/x-pack/metricbeat/module/azure/mock_service.go @@ -24,9 +24,9 @@ func (client *MockService) GetResourceDefinitionById(id string) (resources.Gener } // GetResourceDefinitions is a mock function for the azure service -func (client *MockService) GetResourceDefinitions(id []string, group []string, rType string, query string) (resources.ListResultPage, error) { +func (client *MockService) GetResourceDefinitions(id []string, group []string, rType string, query string) ([]resources.GenericResource, error) { args := client.Called(id, group, rType, query) - return args.Get(0).(resources.ListResultPage), args.Error(1) + return args.Get(0).([]resources.GenericResource), args.Error(1) } // GetMetricDefinitions is a mock function for the azure service diff --git a/x-pack/metricbeat/module/azure/monitor_service.go b/x-pack/metricbeat/module/azure/monitor_service.go index 053da3db05b..c3ed4e2fa43 100644 --- a/x-pack/metricbeat/module/azure/monitor_service.go +++ b/x-pack/metricbeat/module/azure/monitor_service.go @@ -55,16 +55,24 @@ func NewService(clientId string, clientSecret string, tenantId string, subscript } // GetResourceDefinitions will retrieve the azure resources based on the options entered -func (service MonitorService) GetResourceDefinitions(id []string, group []string, rType string, query string) (resources.ListResultPage, error) { +func (service MonitorService) GetResourceDefinitions(id []string, group []string, rType string, query string) ([]resources.GenericResource, error) { var resourceQuery string + var resourceList []resources.GenericResource if len(id) > 0 { - var filterList []string - // listing resourceID conditions does not seem to work with the API but querying by name or resource types will work + // listing multiple resourceId conditions does not seem to work with the API, extracting the name and resource type does not work as the position of the `resourceType` can move if a parent resource is involved, filtering by resource name and resource group (if extracted) is also not possible as + // different types of resources can contain the same name. for _, id := range id { - filterList = append(filterList, fmt.Sprintf("name eq '%s'", getResourceNameFromId(id))) + resource, err := service.resourceClient.List(service.context, fmt.Sprintf("resourceId eq '%s'", id), "", nil) + if err != nil { + return nil, err + } + if len(resource.Values()) > 0 { + resourceList = append(resourceList, resource.Values()...) + } } - resourceQuery = fmt.Sprintf("(%s) AND resourceType eq '%s'", strings.Join(filterList, " OR "), getResourceTypeFromId(id[0])) - } else if len(group) > 0 { + return resourceList, nil + } + if len(group) > 0 { var filterList []string for _, gr := range group { filterList = append(filterList, fmt.Sprintf("resourceGroup eq '%s'", gr)) @@ -76,7 +84,11 @@ func (service MonitorService) GetResourceDefinitions(id []string, group []string } else if query != "" { resourceQuery = query } - return service.resourceClient.List(service.context, resourceQuery, "", nil) + result, err := service.resourceClient.List(service.context, resourceQuery, "", nil) + if err == nil { + resourceList = result.Values() + } + return resourceList, err } // GetResourceDefinitionById will retrieve the azure resource based on the resource Id diff --git a/x-pack/metricbeat/module/azure/service_interface.go b/x-pack/metricbeat/module/azure/service_interface.go index e8985a7eedd..30430d03100 100644 --- a/x-pack/metricbeat/module/azure/service_interface.go +++ b/x-pack/metricbeat/module/azure/service_interface.go @@ -12,7 +12,7 @@ import ( // Service interface for the azure monitor service and mock for testing type Service interface { GetResourceDefinitionById(id string) (resources.GenericResource, error) - GetResourceDefinitions(id []string, group []string, rType string, query string) (resources.ListResultPage, error) + GetResourceDefinitions(id []string, group []string, rType string, query string) ([]resources.GenericResource, error) GetMetricDefinitions(resourceId string, namespace string) (insights.MetricDefinitionCollection, error) GetMetricNamespaces(resourceId string) (insights.MetricNamespaceCollection, error) GetMetricValues(resourceId string, namespace string, timegrain string, timespan string, metricNames []string, aggregations string, filter string) ([]insights.Metric, string, error) From 32d45264d27acb5c62a272431dff96c47d1dea83 Mon Sep 17 00:00:00 2001 From: Jaime Soriano Pastor Date: Tue, 13 Oct 2020 16:36:02 +0200 Subject: [PATCH 02/29] Skip flaky test with oauth2 config in httpjson input (#21749) --- x-pack/filebeat/input/httpjson/config_test.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/x-pack/filebeat/input/httpjson/config_test.go b/x-pack/filebeat/input/httpjson/config_test.go index 85c7c64848d..1986ee7abe9 100644 --- a/x-pack/filebeat/input/httpjson/config_test.go +++ b/x-pack/filebeat/input/httpjson/config_test.go @@ -362,6 +362,7 @@ func TestConfigOauth2Validation(t *testing.T) { "url": "localhost", }, }, + /* Flaky test: https://github.com/elastic/beats/issues/21748 { name: "date_cursor.date_format will fail if invalid", expectedErr: "invalid configuration: date_format is not a valid date layout accessing 'date_cursor'", @@ -370,6 +371,7 @@ func TestConfigOauth2Validation(t *testing.T) { "url": "localhost", }, }, + */ { name: "date_cursor must work with a valid date_format", input: map[string]interface{}{ From f754515e287672405bb1f1b6613deb17471d1f70 Mon Sep 17 00:00:00 2001 From: Jaime Soriano Pastor Date: Tue, 13 Oct 2020 18:55:46 +0200 Subject: [PATCH 03/29] Remove kafka partition ISR from Metricbeat docs (#21709) Metricbeat doesn't collect this field directly, it collects for each replica if it is in sync or not. --- metricbeat/docs/fields.asciidoc | 10 ---------- metricbeat/module/kafka/fields.go | 2 +- metricbeat/module/kafka/partition/_meta/fields.yml | 4 ---- 3 files changed, 1 insertion(+), 15 deletions(-) diff --git a/metricbeat/docs/fields.asciidoc b/metricbeat/docs/fields.asciidoc index 7f1d0f69ab9..a193d630564 100644 --- a/metricbeat/docs/fields.asciidoc +++ b/metricbeat/docs/fields.asciidoc @@ -24870,16 +24870,6 @@ type: long -- -*`kafka.partition.partition.isr`*:: -+ --- -List of isr ids. - - -type: keyword - --- - *`kafka.partition.partition.replica`*:: + -- diff --git a/metricbeat/module/kafka/fields.go b/metricbeat/module/kafka/fields.go index 72ee2cdc60c..96c306b5915 100644 --- a/metricbeat/module/kafka/fields.go +++ b/metricbeat/module/kafka/fields.go @@ -32,5 +32,5 @@ func init() { // AssetKafka returns asset data. // This is the base64 encoded gzipped contents of module/kafka. func AssetKafka() string { - return "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" + return "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" } diff --git a/metricbeat/module/kafka/partition/_meta/fields.yml b/metricbeat/module/kafka/partition/_meta/fields.yml index 8f241278589..cf40ad266b9 100644 --- a/metricbeat/module/kafka/partition/_meta/fields.yml +++ b/metricbeat/module/kafka/partition/_meta/fields.yml @@ -33,10 +33,6 @@ type: long description: > Leader id (broker). - - name: isr - type: keyword - description: > - List of isr ids. - name: replica type: long description: > From 7addb4d45502d6f1bc0d5ea9823dc5a926cda9ea Mon Sep 17 00:00:00 2001 From: kaiyan-sheng Date: Tue, 13 Oct 2020 11:36:12 -0600 Subject: [PATCH 04/29] [Filebeat] Add check for context.DeadlineExceeded error (#21732) --- x-pack/filebeat/input/s3/collector.go | 34 ++++++++++++--------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/x-pack/filebeat/input/s3/collector.go b/x-pack/filebeat/input/s3/collector.go index bf294f94245..1b890513284 100644 --- a/x-pack/filebeat/input/s3/collector.go +++ b/x-pack/filebeat/input/s3/collector.go @@ -148,8 +148,7 @@ func (c *s3Collector) processMessage(svcS3 s3iface.ClientAPI, message sqs.Messag // read from s3 object and create event for each log line err = c.handleS3Objects(svcS3, s3Infos, errC) if err != nil { - err = fmt.Errorf("handleS3Objects failed: %w", err) - c.logger.Error(err) + c.logger.Error(fmt.Errorf("handleS3Objects failed: %w", err)) return err } c.logger.Debugf("handleS3Objects succeed") @@ -163,7 +162,12 @@ func (c *s3Collector) processorKeepAlive(svcSQS sqsiface.ClientAPI, message sqs. return nil case err := <-errC: if err != nil { - c.logger.Warn("Processing message failed, updating visibility timeout") + if err == context.DeadlineExceeded { + c.logger.Info("Context deadline exceeded, updating visibility timeout") + } else { + c.logger.Warnf("Processing message failed '%w', updating visibility timeout", err) + } + err := c.changeVisibilityTimeout(queueURL, visibilityTimeout, svcSQS, message.ReceiptHandle) if err != nil { c.logger.Error(fmt.Errorf("SQS ChangeMessageVisibilityRequest failed: %w", err)) @@ -298,8 +302,7 @@ func (c *s3Collector) handleS3Objects(svc s3iface.ClientAPI, s3Infos []s3Info, e c.logger.Debugf("Processing file from s3 bucket \"%s\" with name \"%s\"", info.name, info.key) err := c.createEventsFromS3Info(svc, info, s3Ctx) if err != nil { - err = fmt.Errorf("createEventsFromS3Info failed processing file from s3 bucket \"%s\" with name \"%s\": %w", info.name, info.key, err) - c.logger.Error(err) + c.logger.Error(fmt.Errorf("createEventsFromS3Info failed processing file from s3 bucket \"%s\" with name \"%s\": %w", info.name, info.key, err)) s3Ctx.setError(err) } } @@ -326,8 +329,7 @@ func (c *s3Collector) createEventsFromS3Info(svc s3iface.ClientAPI, info s3Info, // If the SDK can determine the request or retry delay was canceled // by a context the ErrCodeRequestCanceled error will be returned. if awsErr.Code() == awssdk.ErrCodeRequestCanceled { - err = fmt.Errorf("s3 GetObjectRequest canceled for '%s' from S3 bucket '%s': %w", info.key, info.name, err) - c.logger.Error(err) + c.logger.Error(fmt.Errorf("s3 GetObjectRequest canceled for '%s' from S3 bucket '%s': %w", info.key, info.name, err)) return err } @@ -345,16 +347,14 @@ func (c *s3Collector) createEventsFromS3Info(svc s3iface.ClientAPI, info s3Info, isS3ObjGzipped, err := isStreamGzipped(reader) if err != nil { - err = fmt.Errorf("could not determine if S3 object is gzipped: %w", err) - c.logger.Error(err) + c.logger.Error(fmt.Errorf("could not determine if S3 object is gzipped: %w", err)) return err } if isS3ObjGzipped { gzipReader, err := gzip.NewReader(reader) if err != nil { - err = fmt.Errorf("gzip.NewReader failed for '%s' from S3 bucket '%s': %w", info.key, info.name, err) - c.logger.Error(err) + c.logger.Error(fmt.Errorf("gzip.NewReader failed for '%s' from S3 bucket '%s': %w", info.key, info.name, err)) return err } reader = bufio.NewReader(gzipReader) @@ -366,8 +366,7 @@ func (c *s3Collector) createEventsFromS3Info(svc s3iface.ClientAPI, info s3Info, decoder := json.NewDecoder(reader) err := c.decodeJSON(decoder, objectHash, info, s3Ctx) if err != nil { - err = fmt.Errorf("decodeJSONWithKey failed for '%s' from S3 bucket '%s': %w", info.key, info.name, err) - c.logger.Error(err) + c.logger.Error(fmt.Errorf("decodeJSONWithKey failed for '%s' from S3 bucket '%s': %w", info.key, info.name, err)) return err } return nil @@ -383,14 +382,12 @@ func (c *s3Collector) createEventsFromS3Info(svc s3iface.ClientAPI, info s3Info, event := createEvent(log, offset, info, objectHash, s3Ctx) err = c.forwardEvent(event) if err != nil { - err = fmt.Errorf("forwardEvent failed: %w", err) - c.logger.Error(err) + c.logger.Error(fmt.Errorf("forwardEvent failed: %w", err)) return err } return nil } else if err != nil { - err = fmt.Errorf("readStringAndTrimDelimiter failed: %w", err) - c.logger.Error(err) + c.logger.Error(fmt.Errorf("readStringAndTrimDelimiter failed: %w", err)) return err } @@ -403,8 +400,7 @@ func (c *s3Collector) createEventsFromS3Info(svc s3iface.ClientAPI, info s3Info, event := createEvent(log, offset, info, objectHash, s3Ctx) err = c.forwardEvent(event) if err != nil { - err = fmt.Errorf("forwardEvent failed: %w", err) - c.logger.Error(err) + c.logger.Error(fmt.Errorf("forwardEvent failed: %w", err)) return err } } From b0fbfaed277c6c04c23a4be8d30c2a512d915084 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9mi=20V=C3=A1nyi?= Date: Tue, 13 Oct 2020 20:44:32 +0200 Subject: [PATCH 05/29] Add missing configuration annotations (#21736) --- filebeat/input/filestream/config.go | 2 +- filebeat/input/filestream/fswatch.go | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/filebeat/input/filestream/config.go b/filebeat/input/filestream/config.go index c2b1e838ee5..5b582ccf6e8 100644 --- a/filebeat/input/filestream/config.go +++ b/filebeat/input/filestream/config.go @@ -34,7 +34,7 @@ type config struct { Paths []string `config:"paths"` Close closerConfig `config:"close"` - FileWatcher *common.ConfigNamespace `config:"file_watcher"` + FileWatcher *common.ConfigNamespace `config:"prospector"` FileIdentity *common.ConfigNamespace `config:"file_identity"` CleanInactive time.Duration `config:"clean_inactive" validate:"min=0"` CleanRemoved bool `config:"clean_removed"` diff --git a/filebeat/input/filestream/fswatch.go b/filebeat/input/filestream/fswatch.go index 1b80971d835..e988fb3cee9 100644 --- a/filebeat/input/filestream/fswatch.go +++ b/filebeat/input/filestream/fswatch.go @@ -57,9 +57,9 @@ type fileScanner struct { type fileWatcherConfig struct { // Interval is the time between two scans. - Interval time.Duration + Interval time.Duration `config:"check_interval"` // Scanner is the configuration of the scanner. - Scanner fileScannerConfig + Scanner fileScannerConfig `config:",inline"` } // fileWatcher gets the list of files from a FSWatcher and creates events by @@ -212,10 +212,9 @@ func (w *fileWatcher) Event() loginp.FSEvent { } type fileScannerConfig struct { - Paths []string - ExcludedFiles []match.Matcher - Symlinks bool - RecursiveGlob bool + ExcludedFiles []match.Matcher `config:"exclude_files"` + Symlinks bool `config:"symlinks"` + RecursiveGlob bool `config:"recursive_glob"` } func defaultFileScannerConfig() fileScannerConfig { From fff5f6a2241e4c9c9513c98c7e821f0a5007d362 Mon Sep 17 00:00:00 2001 From: Michal Pristas Date: Tue, 13 Oct 2020 22:35:02 +0200 Subject: [PATCH 06/29] [Ingest Manager] Agent atomic installer (#21745) [Ingest Manager] Agent atomic installer (#21745) --- .../install/atomic/atomic_installer.go | 62 ++++++++++ .../install/atomic/atomic_installer_test.go | 115 ++++++++++++++++++ .../pkg/artifact/install/installer.go | 8 +- 3 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 x-pack/elastic-agent/pkg/artifact/install/atomic/atomic_installer.go create mode 100644 x-pack/elastic-agent/pkg/artifact/install/atomic/atomic_installer_test.go diff --git a/x-pack/elastic-agent/pkg/artifact/install/atomic/atomic_installer.go b/x-pack/elastic-agent/pkg/artifact/install/atomic/atomic_installer.go new file mode 100644 index 00000000000..5e26436bfc4 --- /dev/null +++ b/x-pack/elastic-agent/pkg/artifact/install/atomic/atomic_installer.go @@ -0,0 +1,62 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package atomic + +import ( + "context" + "io/ioutil" + "os" + "path/filepath" +) + +type embeddedInstaller interface { + Install(ctx context.Context, programName, version, installDir string) error +} + +// Installer installs into temporary destination and moves to correct one after +// successful finish. +type Installer struct { + installer embeddedInstaller +} + +// NewInstaller creates a new AtomicInstaller +func NewInstaller(i embeddedInstaller) (*Installer, error) { + return &Installer{ + installer: i, + }, nil +} + +// Install performs installation of program in a specific version. +func (i *Installer) Install(ctx context.Context, programName, version, installDir string) error { + // tar installer uses Dir of installDir to determine location of unpack + tempDir, err := ioutil.TempDir(os.TempDir(), "elastic-agent-install") + if err != nil { + return err + } + tempInstallDir := filepath.Join(tempDir, filepath.Base(installDir)) + + // cleanup install directory before Install + if _, err := os.Stat(installDir); err == nil || os.IsExist(err) { + os.RemoveAll(installDir) + } + + if _, err := os.Stat(tempInstallDir); err == nil || os.IsExist(err) { + os.RemoveAll(tempInstallDir) + } + + if err := i.installer.Install(ctx, programName, version, tempInstallDir); err != nil { + // cleanup unfinished install + os.RemoveAll(tempInstallDir) + return err + } + + if err := os.Rename(tempInstallDir, installDir); err != nil { + os.RemoveAll(installDir) + os.RemoveAll(tempInstallDir) + return err + } + + return nil +} diff --git a/x-pack/elastic-agent/pkg/artifact/install/atomic/atomic_installer_test.go b/x-pack/elastic-agent/pkg/artifact/install/atomic/atomic_installer_test.go new file mode 100644 index 00000000000..d6266659b7d --- /dev/null +++ b/x-pack/elastic-agent/pkg/artifact/install/atomic/atomic_installer_test.go @@ -0,0 +1,115 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package atomic + +import ( + "context" + "fmt" + "io/ioutil" + "os" + "path/filepath" + "sync" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestOKInstall(t *testing.T) { + sig := make(chan int) + ti := &testInstaller{sig} + var wg sync.WaitGroup + i, err := NewInstaller(ti) + + assert.NoError(t, err) + + ctx := context.Background() + installDir := filepath.Join(os.TempDir(), "install_dir") + + wg.Add(1) + go func() { + err := i.Install(ctx, "a", "b", installDir) + assert.NoError(t, err) + wg.Done() + }() + + // signal to process next files + close(sig) + + wg.Wait() + + assert.DirExists(t, installDir) + files := getFiles() + + for name := range files { + path := filepath.Join(installDir, name) + assert.FileExists(t, path) + } + + os.RemoveAll(installDir) +} + +func TestContextCancelledInstall(t *testing.T) { + sig := make(chan int) + ti := &testInstaller{sig} + var wg sync.WaitGroup + i, err := NewInstaller(ti) + + assert.NoError(t, err) + + ctx, cancel := context.WithCancel(context.Background()) + installDir := filepath.Join(os.TempDir(), "install_dir") + + wg.Add(1) + go func() { + err := i.Install(ctx, "a", "b", installDir) + assert.Error(t, err) + wg.Done() + }() + + // cancel before signaling + cancel() + close(sig) + + wg.Wait() + + assert.NoDirExists(t, installDir) +} + +type testInstaller struct { + signal chan int +} + +func (ti *testInstaller) Install(ctx context.Context, programName, version, installDir string) error { + files := getFiles() + if err := os.MkdirAll(installDir, 0777); err != nil { + return err + } + + for name, content := range files { + if err := ctx.Err(); err != nil { + return err + } + + filename := filepath.Join(installDir, name) + if err := ioutil.WriteFile(filename, content, 0666); err != nil { + return err + } + + // wait for all but last + <-ti.signal + } + + return nil +} + +func getFiles() map[string][]byte { + files := make(map[string][]byte) + fileCount := 3 + for i := 1; i <= fileCount; i++ { + files[fmt.Sprintf("file_%d", i)] = []byte(fmt.Sprintf("content of file %d", i)) + } + + return files +} diff --git a/x-pack/elastic-agent/pkg/artifact/install/installer.go b/x-pack/elastic-agent/pkg/artifact/install/installer.go index f04e7a4238e..c606ada5d65 100644 --- a/x-pack/elastic-agent/pkg/artifact/install/installer.go +++ b/x-pack/elastic-agent/pkg/artifact/install/installer.go @@ -12,6 +12,7 @@ import ( "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/artifact/install/dir" "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/artifact" + "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/artifact/install/atomic" "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/artifact/install/hooks" "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/artifact/install/tar" "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/artifact/install/zip" @@ -60,5 +61,10 @@ func NewInstaller(config *artifact.Config) (InstallerChecker, error) { return nil, err } - return hooks.NewInstallerChecker(installer, dir.NewChecker()) + atomicInstaller, err := atomic.NewInstaller(installer) + if err != nil { + return nil, err + } + + return hooks.NewInstallerChecker(atomicInstaller, dir.NewChecker()) } From a74c74f3e5fdee905c1521edb5ad2d64b2d3a672 Mon Sep 17 00:00:00 2001 From: Michal Pristas Date: Wed, 14 Oct 2020 10:17:56 +0200 Subject: [PATCH 07/29] [Ingest Manager] Atomic installed forgotten changelog #21780 --- x-pack/elastic-agent/CHANGELOG.next.asciidoc | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/elastic-agent/CHANGELOG.next.asciidoc b/x-pack/elastic-agent/CHANGELOG.next.asciidoc index eb98ef39ded..96f036dd15d 100644 --- a/x-pack/elastic-agent/CHANGELOG.next.asciidoc +++ b/x-pack/elastic-agent/CHANGELOG.next.asciidoc @@ -15,6 +15,7 @@ - Copy Action store on upgrade {pull}21298[21298] - Include inputs in action store actions {pull}21298[21298] - Fix issue where inputs without processors defined would panic {pull}21628[21628] +- Partial extracted beat result in failure to spawn beat {issue}21718[21718] ==== New features From e3cf9939f97d77f6efd848b1786cbf2e2a963f74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20de=20la=20Pe=C3=B1a?= Date: Wed, 14 Oct 2020 11:23:48 +0200 Subject: [PATCH 08/29] chore: create CI artifacts for DEV usage (#21645) It will create the artifacts with some requirements related to integrity --- .ci/packaging.groovy | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.ci/packaging.groovy b/.ci/packaging.groovy index 9087cf48de4..37eeaa7d223 100644 --- a/.ci/packaging.groovy +++ b/.ci/packaging.groovy @@ -246,8 +246,12 @@ def runE2ETestForPackages(){ def release(){ withBeatsEnv(){ - dir("${env.BEATS_FOLDER}") { - sh(label: "Release ${env.BEATS_FOLDER} ${env.PLATFORMS}", script: 'mage package') + withEnv([ + "DEV=true" + ]) { + dir("${env.BEATS_FOLDER}") { + sh(label: "Release ${env.BEATS_FOLDER} ${env.PLATFORMS}", script: 'mage package') + } } publishPackages("${env.BEATS_FOLDER}") } From 303133990cbe6c001d3242445ab03a2d290c4883 Mon Sep 17 00:00:00 2001 From: Pavel Derendyaev Date: Wed, 14 Oct 2020 12:35:30 +0300 Subject: [PATCH 09/29] typofix for dns timeout configuration option (#21069) --- libbeat/processors/dns/config.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libbeat/processors/dns/config.go b/libbeat/processors/dns/config.go index 8b0d6c9bd97..a2c2a98955e 100644 --- a/libbeat/processors/dns/config.go +++ b/libbeat/processors/dns/config.go @@ -31,7 +31,7 @@ import ( type Config struct { CacheConfig `config:",inline"` Nameservers []string `config:"nameservers"` // Required on Windows. /etc/resolv.conf is used if none are given. - Timeout time.Duration `conifg:"timeout"` // Per request timeout (with 2 nameservers the total timeout would be 2x). + Timeout time.Duration `config:"timeout"` // Per request timeout (with 2 nameservers the total timeout would be 2x). Type string `config:"type" validate:"required"` // Reverse is the only supported type currently. Action FieldAction `config:"action"` // Append or replace (defaults to append) when target exists. TagOnFailure []string `config:"tag_on_failure"` // Tags to append when a failure occurs. From 6c80fb3b37df033adcaffa190208e5c1d6e88d7d Mon Sep 17 00:00:00 2001 From: Jaime Soriano Pastor Date: Wed, 14 Oct 2020 12:00:07 +0200 Subject: [PATCH 10/29] Increase recommended memory when deploying in Cloud foundry (#21755) --- deploy/cloudfoundry/filebeat/manifest.yml | 2 +- deploy/cloudfoundry/metricbeat/manifest.yml | 2 +- filebeat/docs/running-on-cloudfoundry.asciidoc | 2 +- metricbeat/docs/running-on-cloudfoundry.asciidoc | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/deploy/cloudfoundry/filebeat/manifest.yml b/deploy/cloudfoundry/filebeat/manifest.yml index 26ec5a0b958..5c424823cb3 100644 --- a/deploy/cloudfoundry/filebeat/manifest.yml +++ b/deploy/cloudfoundry/filebeat/manifest.yml @@ -1,6 +1,6 @@ applications: - name: filebeat - memory: 256M + memory: 512M instances: 1 buildpacks: - binary_buildpack diff --git a/deploy/cloudfoundry/metricbeat/manifest.yml b/deploy/cloudfoundry/metricbeat/manifest.yml index 40f0459b8da..1a2bb025683 100644 --- a/deploy/cloudfoundry/metricbeat/manifest.yml +++ b/deploy/cloudfoundry/metricbeat/manifest.yml @@ -1,6 +1,6 @@ applications: - name: metricbeat - memory: 256M + memory: 512M instances: 1 buildpacks: - binary_buildpack diff --git a/filebeat/docs/running-on-cloudfoundry.asciidoc b/filebeat/docs/running-on-cloudfoundry.asciidoc index ae9603dc012..c08efa30c5f 100644 --- a/filebeat/docs/running-on-cloudfoundry.asciidoc +++ b/filebeat/docs/running-on-cloudfoundry.asciidoc @@ -66,7 +66,7 @@ To check the status, run: $ cf apps name requested state instances memory disk urls -filebeat started 1/1 256M 1G +filebeat started 1/1 512M 1G ------------------------------------------------ Log events should start flowing to Elasticsearch. The events are annotated with diff --git a/metricbeat/docs/running-on-cloudfoundry.asciidoc b/metricbeat/docs/running-on-cloudfoundry.asciidoc index 2988e4d3a8b..5fdf20c9f72 100644 --- a/metricbeat/docs/running-on-cloudfoundry.asciidoc +++ b/metricbeat/docs/running-on-cloudfoundry.asciidoc @@ -66,7 +66,7 @@ To check the status, run: $ cf apps name requested state instances memory disk urls -metricbeat started 1/1 256M 1G +metricbeat started 1/1 512M 1G ------------------------------------------------ Metrics should start flowing to Elasticsearch. The events are annotated with From 1685f972d39607203a65eb9208941a3bc9d87a86 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Wed, 14 Oct 2020 11:03:28 +0100 Subject: [PATCH 11/29] [CI] Support skip-ci label (#21377) --- Jenkinsfile | 14 +++++++++----- Jenkinsfile.yml | 9 ++++----- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 17041987b27..30564270125 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -103,13 +103,17 @@ pipeline { script { def mapParallelTasks = [:] def content = readYaml(file: 'Jenkinsfile.yml') - content['projects'].each { projectName -> - generateStages(project: projectName, changeset: content['changeset']).each { k,v -> - mapParallelTasks["${k}"] = v + if (content?.disabled?.when?.labels && beatsWhen(project: 'top-level', content: content?.disabled?.when)) { + error 'Pull Request has been configured to be disabled when there is a skip-ci label match' + } else { + content['projects'].each { projectName -> + generateStages(project: projectName, changeset: content['changeset']).each { k,v -> + mapParallelTasks["${k}"] = v + } } + notifyBuildReason() + parallel(mapParallelTasks) } - notifyBuildReason() - parallel(mapParallelTasks) } } } diff --git a/Jenkinsfile.yml b/Jenkinsfile.yml index 2278ea93735..f7b21e1cbdf 100644 --- a/Jenkinsfile.yml +++ b/Jenkinsfile.yml @@ -40,10 +40,9 @@ changeset: - "^testing/.*" - "^x-pack/libbeat/.*" -## Proposal -## TBC: This will allow to configure what to do based on the PR configuration disabled: when: - labels: ## Skip the GitHub Pull Request builds if there is a GitHub label match - - "skip-ci" - draft: true ## Skip the GitHub Pull Request builds with Draft PRs. + labels: ## Skip the GitHub Pull Request builds if any of the given GitHub labels match with the assigned labels in the PR. + - skip-ci + ## TODO: This will allow to configure what to do based on the PR configuration + draft: true ## Skip the GitHub Pull Request builds with Draft PRs. \ No newline at end of file From 3e5a167809210e9999732d5e50c7e895e10fc389 Mon Sep 17 00:00:00 2001 From: Jaime Soriano Pastor Date: Wed, 14 Oct 2020 12:58:48 +0200 Subject: [PATCH 12/29] Make API address and Shard ID required in Cloud Foundry settings (#21759) Having an auto-generated Shard ID leads to duplicated data when trying to scale, increasing the problems of loaded systems. Forcing to set a shard ID makes the user more conscious of the implications of this setting. API address should be always set in a real deployment. --- CHANGELOG.next.asciidoc | 3 +++ deploy/cloudfoundry/filebeat/filebeat.yml | 2 +- deploy/cloudfoundry/metricbeat/metricbeat.yml | 3 ++- .../docs/running-on-cloudfoundry.asciidoc | 8 ------ metricbeat/docs/modules/cloudfoundry.asciidoc | 3 ++- .../docs/running-on-cloudfoundry.asciidoc | 8 ------ .../docs/inputs/input-cloudfoundry.asciidoc | 2 ++ x-pack/libbeat/common/cloudfoundry/config.go | 13 ++-------- .../common/cloudfoundry/config_test.go | 26 +++++++++++++++++-- .../common/cloudfoundry/test/config.go | 9 ++++++- .../add_cloudfoundry_metadata.go | 6 +++++ x-pack/metricbeat/metricbeat.reference.yml | 1 + .../cloudfoundry/_meta/config.reference.yml | 1 + .../module/cloudfoundry/_meta/config.yml | 1 + .../module/cloudfoundry/_meta/docs.asciidoc | 2 +- .../modules.d/cloudfoundry.yml.disabled | 1 + 16 files changed, 55 insertions(+), 34 deletions(-) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 41de16190a8..8ff5fbee069 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -25,6 +25,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Allow embedding of CAs, Certificate of private keys for anything that support TLS in ouputs and inputs https://github.com/elastic/beats/pull/21179 - Update to Golang 1.12.1. {pull}11330[11330] - Disable Alibaba Cloud and Tencent Cloud metadata providers by default. {pull}13812[12812] +- API address is a required setting in `add_cloudfoundry_metadata`. {pull}21759[21759] *Auditbeat* @@ -78,6 +79,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Removed experimental modules `citrix`, `kaspersky`, `rapid7` and `tenable`. {pull}20706[20706] - Add support for GMT timezone offsets in `decode_cef`. {pull}20993[20993] - Fix parsing of Elasticsearch node name by `elasticsearch/slowlog` fileset. {pull}14547[14547] +- API address and shard ID are required settings in the Cloud Foundry input. {pull}21759[21759] *Heartbeat* @@ -95,6 +97,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Fix ECS compliance of user.id field in system/users metricset {pull}19019[19019] - Rename googlecloud stackdriver metricset to metrics. {pull}19718[19718] - Remove "invalid zero" metrics on Windows and Darwin, don't report linux-only memory and diskio metrics when running under agent. {pull}21457[21457] +- API address and shard ID are required settings in the Cloud Foundry module. {pull}21759[21759] *Packetbeat* diff --git a/deploy/cloudfoundry/filebeat/filebeat.yml b/deploy/cloudfoundry/filebeat/filebeat.yml index f4c4943d4bb..f3d58f079a1 100644 --- a/deploy/cloudfoundry/filebeat/filebeat.yml +++ b/deploy/cloudfoundry/filebeat/filebeat.yml @@ -11,7 +11,7 @@ filebeat.inputs: #doppler_address: ${DOPPLER_ADDRESS} #uaa_address: ${UAA_ADDRESS} #rlp_address: ${RLP_ADDRESS} - #shard_id: ${SHARD_ID} + shard_id: ${SHARD_ID} #version: v1 diff --git a/deploy/cloudfoundry/metricbeat/metricbeat.yml b/deploy/cloudfoundry/metricbeat/metricbeat.yml index c89c00ce983..12cfee75f00 100644 --- a/deploy/cloudfoundry/metricbeat/metricbeat.yml +++ b/deploy/cloudfoundry/metricbeat/metricbeat.yml @@ -11,7 +11,8 @@ metricbeat.modules: #doppler_address: ${DOPPLER_ADDRESS} #uaa_address: ${UAA_ADDRESS} #rlp_address: ${RLP_ADDRESS} - #shard_id: ${SHARD_ID} + shard_id: ${SHARD_ID} + #version: v1 #================================ Outputs ===================================== diff --git a/filebeat/docs/running-on-cloudfoundry.asciidoc b/filebeat/docs/running-on-cloudfoundry.asciidoc index c08efa30c5f..5aa3ef95837 100644 --- a/filebeat/docs/running-on-cloudfoundry.asciidoc +++ b/filebeat/docs/running-on-cloudfoundry.asciidoc @@ -71,11 +71,3 @@ filebeat started 1/1 512M 1G Log events should start flowing to Elasticsearch. The events are annotated with metadata added by the <> processor. - - -[WARNING] -======================================= -*Set shard_id to scale:* By default {beatname_uc} will generate a random `shard_id` when it starts. In the case that -{beatname_uc} needs to be scaled passed 1 instance, be sure to set a static `shard_id`. Not setting a static `shard_id` -will result in duplicate events being pushed to Elasticsearch. -======================================= diff --git a/metricbeat/docs/modules/cloudfoundry.asciidoc b/metricbeat/docs/modules/cloudfoundry.asciidoc index 4d153933c23..614c703d155 100644 --- a/metricbeat/docs/modules/cloudfoundry.asciidoc +++ b/metricbeat/docs/modules/cloudfoundry.asciidoc @@ -117,7 +117,7 @@ Client Secret to authenticate with Cloud Foundry. Default: "". === `shard_id` Shard ID for connection to the RLP Gateway. Use the same ID across multiple {beatname_lc} to shard the load of events -from the RLP Gateway. Default: "(generated UUID)". +from the RLP Gateway. [float] ==== `version` @@ -152,6 +152,7 @@ metricbeat.modules: rlp_address: '${CLOUDFOUNDRY_RLP_ADDRESS:""}' client_id: '${CLOUDFOUNDRY_CLIENT_ID:""}' client_secret: '${CLOUDFOUNDRY_CLIENT_SECRET:""}' + shard_id: metricbeat version: v1 ---- diff --git a/metricbeat/docs/running-on-cloudfoundry.asciidoc b/metricbeat/docs/running-on-cloudfoundry.asciidoc index 5fdf20c9f72..59802ba505d 100644 --- a/metricbeat/docs/running-on-cloudfoundry.asciidoc +++ b/metricbeat/docs/running-on-cloudfoundry.asciidoc @@ -71,11 +71,3 @@ metricbeat started 1/1 512M 1G Metrics should start flowing to Elasticsearch. The events are annotated with metadata added by the <> processor. - - -[WARNING] -======================================= -*Set shard_id to scale:* By default {beatname_uc} will generate a random `shard_id` when it starts. In the case that -{beatname_uc} needs to be scaled passed 1 instance, be sure to set a static `shard_id`. Not setting a static `shard_id` -will result in duplicate events being pushed to Elasticsearch. -======================================= diff --git a/x-pack/filebeat/docs/inputs/input-cloudfoundry.asciidoc b/x-pack/filebeat/docs/inputs/input-cloudfoundry.asciidoc index f8d5dd51015..551d0095b3a 100644 --- a/x-pack/filebeat/docs/inputs/input-cloudfoundry.asciidoc +++ b/x-pack/filebeat/docs/inputs/input-cloudfoundry.asciidoc @@ -23,6 +23,7 @@ Example configurations: api_address: https://api.dev.cfdev.sh client_id: uaa-filebeat client_secret: verysecret + shard_id: filebeat ssl: verification_mode: none ---- @@ -34,6 +35,7 @@ Example configurations: api_address: https://api.dev.cfdev.sh client_id: uaa-filebeat client_secret: verysecret + shard_id: filebeat ssl.certificate_authorities: ["/etc/pki/cf/ca.pem"] ssl.certificate: "/etc/pki/cf/cert.pem" ssl.key: "/etc/pki/cf/cert.key" diff --git a/x-pack/libbeat/common/cloudfoundry/config.go b/x-pack/libbeat/common/cloudfoundry/config.go index 0724bdc66e1..2f15d0c7cf9 100644 --- a/x-pack/libbeat/common/cloudfoundry/config.go +++ b/x-pack/libbeat/common/cloudfoundry/config.go @@ -10,8 +10,6 @@ import ( "strings" "time" - "github.com/gofrs/uuid" - "github.com/elastic/beats/v7/libbeat/common/transport/tlscommon" ) @@ -32,14 +30,14 @@ type Config struct { TLS *tlscommon.Config `config:"ssl"` // Override URLs returned from the CF client - APIAddress string `config:"api_address"` + APIAddress string `config:"api_address" validate:"required"` DopplerAddress string `config:"doppler_address"` UaaAddress string `config:"uaa_address"` RlpAddress string `config:"rlp_address"` // ShardID when retrieving events from loggregator, sharing this ID across // multiple filebeats will shard the load of receiving and sending events. - ShardID string `config:"shard_id"` + ShardID string `config:"shard_id" validate:"required"` // Maximum amount of time to cache application objects from CF client. CacheDuration time.Duration `config:"cache_duration"` @@ -50,13 +48,6 @@ type Config struct { // InitDefaults initialize the defaults for the configuration. func (c *Config) InitDefaults() { - // If not provided by the user; subscription ID should be a unique string to avoid clustering by default. - // Default to using a UUID4 string. - uuid, err := uuid.NewV4() - if err != nil { - panic(err) - } - c.ShardID = uuid.String() c.CacheDuration = 120 * time.Second c.CacheRetryDelay = 20 * time.Second c.Version = ConsumerVersionV1 diff --git a/x-pack/libbeat/common/cloudfoundry/config_test.go b/x-pack/libbeat/common/cloudfoundry/config_test.go index bce98a0b642..79ba7d47cc1 100644 --- a/x-pack/libbeat/common/cloudfoundry/config_test.go +++ b/x-pack/libbeat/common/cloudfoundry/config_test.go @@ -22,26 +22,48 @@ func TestValidation(t *testing.T) { var noId Config assert.Error(t, ucfg.MustNewFrom(common.MapStr{ + "api_address": "https://api.dev.cfdev.sh", "client_secret": "client_secret", + "shard_id": "beats-test-1", }).Unpack(&noId)) var noSecret Config assert.Error(t, ucfg.MustNewFrom(common.MapStr{ - "client_id": "client_id", + "api_address": "https://api.dev.cfdev.sh", + "client_id": "client_id", + "shard_id": "beats-test-1", }).Unpack(&noSecret)) + var noAPI Config + assert.Error(t, ucfg.MustNewFrom(common.MapStr{ + "client_id": "client_id", + "client_secret": "client_secret", + "shard_id": "beats-test-1", + }).Unpack(&noAPI)) + + var noShardID Config + assert.Error(t, ucfg.MustNewFrom(common.MapStr{ + "api_address": "https://api.dev.cfdev.sh", + "client_id": "client_id", + "client_secret": "client_secret", + }).Unpack(&noShardID)) + var valid Config assert.NoError(t, ucfg.MustNewFrom(common.MapStr{ + "api_address": "https://api.dev.cfdev.sh", "client_id": "client_id", "client_secret": "client_secret", + "shard_id": "beats-test-1", }).Unpack(&valid)) } func TestInitDefaults(t *testing.T) { var cfCfg Config assert.NoError(t, ucfg.MustNewFrom(common.MapStr{ + "api_address": "https://api.dev.cfdev.sh", "client_id": "client_id", "client_secret": "client_secret", + "shard_id": "beats-test-1", }).Unpack(&cfCfg)) - assert.Len(t, cfCfg.ShardID, 36) + assert.Equal(t, ConsumerVersionV1, cfCfg.Version) } diff --git a/x-pack/libbeat/common/cloudfoundry/test/config.go b/x-pack/libbeat/common/cloudfoundry/test/config.go index f7b9cd18ffb..45059fc559c 100644 --- a/x-pack/libbeat/common/cloudfoundry/test/config.go +++ b/x-pack/libbeat/common/cloudfoundry/test/config.go @@ -7,15 +7,23 @@ package test import ( "os" "testing" + + "github.com/gofrs/uuid" ) func GetConfigFromEnv(t *testing.T) map[string]interface{} { t.Helper() + shardID, err := uuid.NewV4() + if err != nil { + t.Fatalf("Unable to create a random shard ID: %v", err) + } + config := map[string]interface{}{ "api_address": lookupEnv(t, "CLOUDFOUNDRY_API_ADDRESS"), "client_id": lookupEnv(t, "CLOUDFOUNDRY_CLIENT_ID"), "client_secret": lookupEnv(t, "CLOUDFOUNDRY_CLIENT_SECRET"), + "shard_id": shardID.String(), "ssl.verification_mode": "none", } @@ -23,7 +31,6 @@ func GetConfigFromEnv(t *testing.T) map[string]interface{} { optionalConfig(config, "uaa_address", "CLOUDFOUNDRY_UAA_ADDRESS") optionalConfig(config, "rlp_address", "CLOUDFOUNDRY_RLP_ADDRESS") optionalConfig(config, "doppler_address", "CLOUDFOUNDRY_DOPPLER_ADDRESS") - optionalConfig(config, "shard_id", "CLOUDFOUNDRY_SHARD_ID") if t.Failed() { t.FailNow() diff --git a/x-pack/libbeat/processors/add_cloudfoundry_metadata/add_cloudfoundry_metadata.go b/x-pack/libbeat/processors/add_cloudfoundry_metadata/add_cloudfoundry_metadata.go index c178ea04325..a6b8bd16566 100644 --- a/x-pack/libbeat/processors/add_cloudfoundry_metadata/add_cloudfoundry_metadata.go +++ b/x-pack/libbeat/processors/add_cloudfoundry_metadata/add_cloudfoundry_metadata.go @@ -5,6 +5,7 @@ package add_cloudfoundry_metadata import ( + "github.com/gofrs/uuid" "github.com/pkg/errors" "github.com/elastic/beats/v7/libbeat/beat" @@ -32,6 +33,11 @@ const selector = "add_cloudfoundry_metadata" // New constructs a new add_cloudfoundry_metadata processor. func New(cfg *common.Config) (processors.Processor, error) { var config cloudfoundry.Config + + // ShardID is required in cloudfoundry config to consume from the firehose, + // but not for metadata requests, randomly generate one and use it. + config.ShardID = uuid.Must(uuid.NewV4()).String() + if err := cfg.Unpack(&config); err != nil { return nil, errors.Wrapf(err, "fail to unpack the %v configuration", processorName) } diff --git a/x-pack/metricbeat/metricbeat.reference.yml b/x-pack/metricbeat/metricbeat.reference.yml index b7b62643353..41552410a38 100644 --- a/x-pack/metricbeat/metricbeat.reference.yml +++ b/x-pack/metricbeat/metricbeat.reference.yml @@ -398,6 +398,7 @@ metricbeat.modules: rlp_address: '${CLOUDFOUNDRY_RLP_ADDRESS:""}' client_id: '${CLOUDFOUNDRY_CLIENT_ID:""}' client_secret: '${CLOUDFOUNDRY_CLIENT_SECRET:""}' + shard_id: metricbeat version: v1 #----------------------------- CockroachDB Module ----------------------------- diff --git a/x-pack/metricbeat/module/cloudfoundry/_meta/config.reference.yml b/x-pack/metricbeat/module/cloudfoundry/_meta/config.reference.yml index be15db23b65..6299cfc8116 100644 --- a/x-pack/metricbeat/module/cloudfoundry/_meta/config.reference.yml +++ b/x-pack/metricbeat/module/cloudfoundry/_meta/config.reference.yml @@ -10,4 +10,5 @@ rlp_address: '${CLOUDFOUNDRY_RLP_ADDRESS:""}' client_id: '${CLOUDFOUNDRY_CLIENT_ID:""}' client_secret: '${CLOUDFOUNDRY_CLIENT_SECRET:""}' + shard_id: metricbeat version: v1 diff --git a/x-pack/metricbeat/module/cloudfoundry/_meta/config.yml b/x-pack/metricbeat/module/cloudfoundry/_meta/config.yml index a2803b06d40..5ea86f3e8de 100644 --- a/x-pack/metricbeat/module/cloudfoundry/_meta/config.yml +++ b/x-pack/metricbeat/module/cloudfoundry/_meta/config.yml @@ -7,3 +7,4 @@ api_address: '${CLOUDFOUNDRY_API_ADDRESS:""}' client_id: '${CLOUDFOUNDRY_CLIENT_ID:""}' client_secret: '${CLOUDFOUNDRY_CLIENT_SECRET:""}' + shard_id: metricbeat diff --git a/x-pack/metricbeat/module/cloudfoundry/_meta/docs.asciidoc b/x-pack/metricbeat/module/cloudfoundry/_meta/docs.asciidoc index 4d908802358..752b2aaea0c 100644 --- a/x-pack/metricbeat/module/cloudfoundry/_meta/docs.asciidoc +++ b/x-pack/metricbeat/module/cloudfoundry/_meta/docs.asciidoc @@ -107,7 +107,7 @@ Client Secret to authenticate with Cloud Foundry. Default: "". === `shard_id` Shard ID for connection to the RLP Gateway. Use the same ID across multiple {beatname_lc} to shard the load of events -from the RLP Gateway. Default: "(generated UUID)". +from the RLP Gateway. [float] ==== `version` diff --git a/x-pack/metricbeat/modules.d/cloudfoundry.yml.disabled b/x-pack/metricbeat/modules.d/cloudfoundry.yml.disabled index ae540f20cfc..22a600e51d8 100644 --- a/x-pack/metricbeat/modules.d/cloudfoundry.yml.disabled +++ b/x-pack/metricbeat/modules.d/cloudfoundry.yml.disabled @@ -10,3 +10,4 @@ api_address: '${CLOUDFOUNDRY_API_ADDRESS:""}' client_id: '${CLOUDFOUNDRY_CLIENT_ID:""}' client_secret: '${CLOUDFOUNDRY_CLIENT_SECRET:""}' + shard_id: metricbeat From 85b95ee14300324f4950cdca13df1e04e84cc330 Mon Sep 17 00:00:00 2001 From: Jaime Soriano Pastor Date: Wed, 14 Oct 2020 13:15:39 +0200 Subject: [PATCH 13/29] Disable writes sync in persistent cache (#21754) With default configuration, every write is synced to disk. For the persistent cache, Beats not need to guarantee that everything is on disk, as the data can be recovered from the source endpoints, but the database was not being properly closed, so there could happen that most of the recent data was lost if the beat is stopped. Now, the processors can close their resources, so the database is properly closed in an normal shutdown, so we can go on without syncs on writes, what gives a much better performance. --- x-pack/libbeat/persistentcache/store.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/x-pack/libbeat/persistentcache/store.go b/x-pack/libbeat/persistentcache/store.go index 589fc724e01..e14b90fedda 100644 --- a/x-pack/libbeat/persistentcache/store.go +++ b/x-pack/libbeat/persistentcache/store.go @@ -36,10 +36,7 @@ func newStore(logger *logp.Logger, dir, name string) (*Store, error) { // Opinionated options for the use of badger as a store for metadata caches in Beats. options := badger.DefaultOptions(dbPath) options.Logger = badgerLogger{logger.Named("badger")} - // TODO: Disabling sync writes gives better performance, and data loss wouldn't - // be a problem for caches. But we are not properly closing processors yet, so let - // sync on writes by now. - // options.SyncWrites = false + options.SyncWrites = false db, err := badger.Open(options) if err != nil { From 355eef4f4bf1081568a0cd15bda16d17cd628fb2 Mon Sep 17 00:00:00 2001 From: Jaime Soriano Pastor Date: Wed, 14 Oct 2020 13:59:52 +0200 Subject: [PATCH 14/29] Use badger code from upstream repository (#21705) Issue in badger with 32-bits architectures has been solved in the release branch used by Beats. Update to the version with this fix and stop using the Elastic fork. --- NOTICE.txt | 6 +++--- go.mod | 3 +-- go.sum | 4 ++-- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/NOTICE.txt b/NOTICE.txt index b62c4b5d202..349fe58b3d1 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -4473,12 +4473,12 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Dependency : github.com/elastic/badger/v2 -Version: v2.2007.2-beats +Dependency : github.com/dgraph-io/badger/v2 +Version: v2.2007.3-0.20201012072640-f5a7e0a1c83b Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/badger/v2@v2.2007.2-beats/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/dgraph-io/badger/v2@v2.2007.3-0.20201012072640-f5a7e0a1c83b/LICENSE: Apache License Version 2.0, January 2004 diff --git a/go.mod b/go.mod index 0f0bdb3a422..720690f1f2f 100644 --- a/go.mod +++ b/go.mod @@ -45,7 +45,7 @@ require ( github.com/davecgh/go-xdr v0.0.0-20161123171359-e6a2ba005892 // indirect github.com/denisenkom/go-mssqldb v0.0.0-20200206145737-bbfc9a55622e github.com/devigned/tab v0.1.2-0.20190607222403-0c15cf42f9a2 // indirect - github.com/dgraph-io/badger/v2 v2.2007.2 + github.com/dgraph-io/badger/v2 v2.2007.3-0.20201012072640-f5a7e0a1c83b github.com/dgrijalva/jwt-go v3.2.1-0.20190620180102-5e25c22bd5d6+incompatible // indirect github.com/digitalocean/go-libvirt v0.0.0-20180301200012-6075ea3c39a1 github.com/dlclark/regexp2 v1.1.7-0.20171009020623-7632a260cbaf // indirect @@ -191,7 +191,6 @@ replace ( github.com/Azure/go-autorest => github.com/Azure/go-autorest v12.2.0+incompatible github.com/Shopify/sarama => github.com/elastic/sarama v1.19.1-0.20200629123429-0e7b69039eec github.com/cucumber/godog => github.com/cucumber/godog v0.8.1 - github.com/dgraph-io/badger/v2 => github.com/elastic/badger/v2 v2.2007.2-beats github.com/docker/docker => github.com/docker/engine v0.0.0-20191113042239-ea84732a7725 github.com/docker/go-plugins-helpers => github.com/elastic/go-plugins-helpers v0.0.0-20200207104224-bdf17607b79f github.com/dop251/goja => github.com/andrewkroh/goja v0.0.0-20190128172624-dd2ac4456e20 diff --git a/go.sum b/go.sum index 6f737d7cee2..5c01c612fe3 100644 --- a/go.sum +++ b/go.sum @@ -201,6 +201,8 @@ github.com/denisenkom/go-mssqldb v0.0.0-20200206145737-bbfc9a55622e/go.mod h1:xb github.com/devigned/tab v0.1.1/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY= github.com/devigned/tab v0.1.2-0.20190607222403-0c15cf42f9a2 h1:6+hM8KeYKV0Z9EIINNqIEDyyIRAcNc2FW+/TUYNmWyw= github.com/devigned/tab v0.1.2-0.20190607222403-0c15cf42f9a2/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY= +github.com/dgraph-io/badger/v2 v2.2007.3-0.20201012072640-f5a7e0a1c83b h1:mUDs72Rlzv6A4YN8w3Ra3hU9x/plOQPcQjZYL/1f5SM= +github.com/dgraph-io/badger/v2 v2.2007.3-0.20201012072640-f5a7e0a1c83b/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE= github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de h1:t0UHb5vdojIDUqktM6+xJAfScFBsVpXZmqC9dsgJmeA= github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= @@ -239,8 +241,6 @@ github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/eclipse/paho.mqtt.golang v1.2.1-0.20200121105743-0d940dd29fd2 h1:DW6WrARxK5J+o8uAKCiACi5wy9EK1UzrsCpGBPsKHAA= github.com/eclipse/paho.mqtt.golang v1.2.1-0.20200121105743-0d940dd29fd2/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7joQ8SYLhZwfeOo6Ts= -github.com/elastic/badger/v2 v2.2007.2-beats h1:/rV4bM6fdYvPQhFf2bHHivIb0H4nX8Or7nkWbQ/Q6Ko= -github.com/elastic/badger/v2 v2.2007.2-beats/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE= github.com/elastic/dhcp v0.0.0-20200227161230-57ec251c7eb3 h1:lnDkqiRFKm0rxdljqrj3lotWinO9+jFmeDXIC4gvIQs= github.com/elastic/dhcp v0.0.0-20200227161230-57ec251c7eb3/go.mod h1:aPqzac6AYkipvp4hufTyMj5PDIphF3+At8zr7r51xjY= github.com/elastic/ecs v1.6.0 h1:8NmgfnsjmKXh9hVsK3H2tZtfUptepNc3msJOAynhtmc= From 3f57f0ead23180dd721858bb40f2c63accb9007a Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Wed, 14 Oct 2020 14:52:02 +0100 Subject: [PATCH 15/29] disable TestReceiveEventsAndMetadata/TestSocketCleanup/TestReceiveNewEventsConcurrently in Windows (#21750) --- filebeat/Jenkinsfile.yml | 12 +++++++++++- filebeat/inputsource/unix/server_test.go | 12 ++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/filebeat/Jenkinsfile.yml b/filebeat/Jenkinsfile.yml index 6b5a23b7fb2..ffe2cec98b4 100644 --- a/filebeat/Jenkinsfile.yml +++ b/filebeat/Jenkinsfile.yml @@ -33,4 +33,14 @@ stages: mage: "mage build unitTest" platforms: ## override default labels in this specific stage. - "windows-2019" - #- "windows-2016" https://github.com/elastic/beats/issues/19641 + windows-2016: + mage: "mage build unitTest" + platforms: ## override default labels in this specific stage. + - "windows-2016" + when: ## Override the top-level when. + comments: + - "/test filebeat for windows-2016" + labels: + - "windows-2016" + branches: true ## for all the branches + tags: true ## for all the tags diff --git a/filebeat/inputsource/unix/server_test.go b/filebeat/inputsource/unix/server_test.go index a9043d14a8e..fc9545100d5 100644 --- a/filebeat/inputsource/unix/server_test.go +++ b/filebeat/inputsource/unix/server_test.go @@ -60,6 +60,10 @@ func TestErrorOnEmptyLineDelimiter(t *testing.T) { } func TestReceiveEventsAndMetadata(t *testing.T) { + if runtime.GOOS == "windows" { + t.Skip("test is only supported on non-windows. See https://github.com/elastic/beats/issues/19641") + return + } expectedMessages := generateMessages(5, 100) largeMessages := generateMessages(10, 4096) extraLargeMessages := generateMessages(2, 65*1024) @@ -255,6 +259,10 @@ func TestSocketOwnershipAndMode(t *testing.T) { } func TestSocketCleanup(t *testing.T) { + if runtime.GOOS == "windows" { + t.Skip("test is only supported on non-windows. See https://github.com/elastic/beats/issues/21757") + return + } path := filepath.Join(os.TempDir(), "test.sock") mockStaleSocket, err := net.Listen("unix", path) require.NoError(t, err) @@ -298,6 +306,10 @@ func TestSocketCleanupRefusal(t *testing.T) { } func TestReceiveNewEventsConcurrently(t *testing.T) { + if runtime.GOOS == "windows" { + t.Skip("test is only supported on non-windows. See https://github.com/elastic/beats/issues/21757") + return + } workers := 4 eventsCount := 100 path := filepath.Join(os.TempDir(), "test.sock") From 4a9b08ae2c67dd9d9631f76e88cf55af54aa3587 Mon Sep 17 00:00:00 2001 From: Alex K <8418476+fearful-symmetry@users.noreply.github.com> Date: Wed, 14 Oct 2020 07:49:01 -0700 Subject: [PATCH 16/29] Fix non-windows fields on system/filesystem (#21758) * fix windows fields on system/filesystem * add changelog * fix tests --- CHANGELOG.next.asciidoc | 1 + metricbeat/module/system/filesystem/helper.go | 4 ++-- metricbeat/module/system/test_system.py | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 8ff5fbee069..0344f6a90d0 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -371,6 +371,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Add a switch to the driver definition on SQL module to use pretty names {pull}17378[17378] - Fix retrieving resources by ID for the azure module. {pull}21711[21711] {issue}21707[21707] - Use timestamp from CloudWatch API when creating events. {pull}21498[21498] +- Report the correct windows events for system/filesystem {pull}21758[21758] *Packetbeat* diff --git a/metricbeat/module/system/filesystem/helper.go b/metricbeat/module/system/filesystem/helper.go index 4d53ddf2a79..9238df79f59 100644 --- a/metricbeat/module/system/filesystem/helper.go +++ b/metricbeat/module/system/filesystem/helper.go @@ -151,14 +151,14 @@ func GetFilesystemEvent(fsStat *FSStat) common.MapStr { "mount_point": fsStat.Mount, "total": fsStat.Total, "available": fsStat.Avail, - "files": fsStat.Files, + "free": fsStat.Free, "used": common.MapStr{ "pct": fsStat.UsedPercent, "bytes": fsStat.Used, }, } if runtime.GOOS != "windows" { - evt.Put("free", fsStat.Free) + evt.Put("files", fsStat.Files) evt.Put("free_files", fsStat.FreeFiles) } return evt diff --git a/metricbeat/module/system/test_system.py b/metricbeat/module/system/test_system.py index 0cfb820c18a..2e1b9e579d9 100644 --- a/metricbeat/module/system/test_system.py +++ b/metricbeat/module/system/test_system.py @@ -47,7 +47,7 @@ "free_files", "mount_point", "total", "used.bytes", "used.pct"] -SYSTEM_FILESYSTEM_FIELDS_WINDOWS = ["available", "device_name", "type", "files", +SYSTEM_FILESYSTEM_FIELDS_WINDOWS = ["available", "device_name", "type", "free", "mount_point", "total", "used.bytes", "used.pct"] From db3b99dd0eade882af21dd8090847bcb458cac3f Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Wed, 14 Oct 2020 16:08:40 +0100 Subject: [PATCH 17/29] [CI] Support Windows-2012 in pipeline 2.0 (#21338) --- Jenkinsfile | 3 ++- auditbeat/Jenkinsfile.yml | 11 +++++++++++ heartbeat/Jenkinsfile.yml | 12 ++++++++++++ metricbeat/Jenkinsfile.yml | 11 +++++++++++ packetbeat/Jenkinsfile.yml | 11 +++++++++++ winlogbeat/Jenkinsfile.yml | 11 +++++++++++ x-pack/auditbeat/Jenkinsfile.yml | 11 +++++++++++ x-pack/elastic-agent/Jenkinsfile.yml | 11 +++++++++++ x-pack/filebeat/Jenkinsfile.yml | 11 +++++++++++ x-pack/functionbeat/Jenkinsfile.yml | 11 +++++++++++ x-pack/metricbeat/Jenkinsfile.yml | 11 +++++++++++ x-pack/packetbeat/Jenkinsfile.yml | 11 +++++++++++ x-pack/winlogbeat/Jenkinsfile.yml | 11 +++++++++++ 13 files changed, 135 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 30564270125..8f05b4522cd 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -234,9 +234,10 @@ def withBeatsEnv(Map args = [:], Closure body) { artifacts = '**/build/TEST*.out' } else { def chocoPath = 'C:\\ProgramData\\chocolatey\\bin' + def mingw64Path = 'C:\\tools\\mingw64\\bin' def chocoPython3Path = 'C:\\Python38;C:\\Python38\\Scripts' goRoot = "${env.USERPROFILE}\\.gvm\\versions\\go${GO_VERSION}.windows.amd64" - path = "${env.WORKSPACE}\\bin;${goRoot}\\bin;${chocoPath};${chocoPython3Path};${env.PATH}" + path = "${env.WORKSPACE}\\bin;${goRoot}\\bin;${chocoPath};${chocoPython3Path};${env.PATH};${mingw64Path}" magefile = "${env.WORKSPACE}\\.magefile" testResults = "**\\build\\TEST*.xml" artifacts = "**\\build\\TEST*.out" diff --git a/auditbeat/Jenkinsfile.yml b/auditbeat/Jenkinsfile.yml index 6f5374224d4..33d708e2635 100644 --- a/auditbeat/Jenkinsfile.yml +++ b/auditbeat/Jenkinsfile.yml @@ -45,3 +45,14 @@ stages: - "windows-2016" branches: true ## for all the branches tags: true ## for all the tags + windows-2012: + mage: "mage build unitTest" + platforms: ## override default labels in this specific stage. + - "windows-2012-r2" + when: ## Override the top-level when. + comments: + - "/test auditbeat for windows-2012" + labels: + - "windows-2012" + branches: true ## for all the branches + tags: true ## for all the tags diff --git a/heartbeat/Jenkinsfile.yml b/heartbeat/Jenkinsfile.yml index c465138791b..8d8b00a865d 100644 --- a/heartbeat/Jenkinsfile.yml +++ b/heartbeat/Jenkinsfile.yml @@ -43,3 +43,15 @@ stages: - "windows-2016" branches: true ## for all the branches tags: true ## for all the tags + windows-2012: + mage: "mage build unitTest" + platforms: ## override default labels in this specific stage. + - "windows-2012-r2" + when: ## Override the top-level when. + comments: + - "/test heartbeat for windows-2012" + labels: + - "windows-2012" + branches: true ## for all the branches + tags: true ## for all the tags + diff --git a/metricbeat/Jenkinsfile.yml b/metricbeat/Jenkinsfile.yml index 9860919d006..bdd45090837 100644 --- a/metricbeat/Jenkinsfile.yml +++ b/metricbeat/Jenkinsfile.yml @@ -51,3 +51,14 @@ stages: - "windows-2016" branches: true ## for all the branches tags: true ## for all the tags + windows-2012: + mage: "mage build unitTest" + platforms: ## override default labels in this specific stage. + - "windows-2012-r2" + when: ## Override the top-level when. + comments: + - "/test metricbeat for windows-2012" + labels: + - "windows-2012" + branches: true ## for all the branches + tags: true ## for all the tags diff --git a/packetbeat/Jenkinsfile.yml b/packetbeat/Jenkinsfile.yml index f755f322477..9fbe272b382 100644 --- a/packetbeat/Jenkinsfile.yml +++ b/packetbeat/Jenkinsfile.yml @@ -43,3 +43,14 @@ stages: - "windows-2016" branches: true ## for all the branches tags: true ## for all the tags + windows-2012: + mage: "mage build unitTest" + platforms: ## override default labels in this specific stage. + - "windows-2012-r2" + when: ## Override the top-level when. + comments: + - "/test packetbeat for windows-2012" + labels: + - "windows-2012" + branches: true ## for all the branches + tags: true ## for all the tags diff --git a/winlogbeat/Jenkinsfile.yml b/winlogbeat/Jenkinsfile.yml index 82ce7912d3b..94b36b0e647 100644 --- a/winlogbeat/Jenkinsfile.yml +++ b/winlogbeat/Jenkinsfile.yml @@ -30,3 +30,14 @@ stages: - "windows-2016" branches: true ## for all the branches tags: true ## for all the tags + windows-2012: + mage: "mage build unitTest" + platforms: ## override default labels in this specific stage. + - "windows-2012-r2" + when: ## Override the top-level when. + comments: + - "/test winlogbeat for windows-2012" + labels: + - "windows-2012" + branches: true ## for all the branches + tags: true ## for all the tags diff --git a/x-pack/auditbeat/Jenkinsfile.yml b/x-pack/auditbeat/Jenkinsfile.yml index 969aa0a8e08..5e0e2223dfa 100644 --- a/x-pack/auditbeat/Jenkinsfile.yml +++ b/x-pack/auditbeat/Jenkinsfile.yml @@ -44,3 +44,14 @@ stages: - "windows-2016" branches: true ## for all the branches tags: true ## for all the tags + windows-2012: + mage: "mage build unitTest" + platforms: ## override default labels in this specific stage. + - "windows-2012-r2" + when: ## Override the top-level when. + comments: + - "/test auditbeat for windows-2012" + labels: + - "windows-2012" + branches: true ## for all the branches + tags: true ## for all the tags diff --git a/x-pack/elastic-agent/Jenkinsfile.yml b/x-pack/elastic-agent/Jenkinsfile.yml index 04a6b227721..a36472d123b 100644 --- a/x-pack/elastic-agent/Jenkinsfile.yml +++ b/x-pack/elastic-agent/Jenkinsfile.yml @@ -43,3 +43,14 @@ stages: - "windows-2016" branches: true ## for all the branches tags: true ## for all the tags + windows-2012: + mage: "mage build unitTest" + platforms: ## override default labels in this specific stage. + - "windows-2012-r2" + when: ## Override the top-level when. + comments: + - "/test x-pack/elastic-agent for windows-2012" + labels: + - "windows-2012" + branches: true ## for all the branches + tags: true ## for all the tags diff --git a/x-pack/filebeat/Jenkinsfile.yml b/x-pack/filebeat/Jenkinsfile.yml index b2db448f532..4b17c13b6ac 100644 --- a/x-pack/filebeat/Jenkinsfile.yml +++ b/x-pack/filebeat/Jenkinsfile.yml @@ -44,3 +44,14 @@ stages: - "windows-2016" branches: true ## for all the branches tags: true ## for all the tags + windows-2012: + mage: "mage build unitTest" + platforms: ## override default labels in this specific stage. + - "windows-2012-r2" + when: ## Override the top-level when. + comments: + - "/test x-pack/filebeat for windows-2012" + labels: + - "windows-2012" + branches: true ## for all the branches + tags: true ## for all the tags diff --git a/x-pack/functionbeat/Jenkinsfile.yml b/x-pack/functionbeat/Jenkinsfile.yml index a8d42ce5fb9..29f2ecf8b5a 100644 --- a/x-pack/functionbeat/Jenkinsfile.yml +++ b/x-pack/functionbeat/Jenkinsfile.yml @@ -43,3 +43,14 @@ stages: - "windows-2016" branches: true ## for all the branches tags: true ## for all the tags + windows-2012: + mage: "mage build unitTest" + platforms: ## override default labels in this specific stage. + - "windows-2012-r2" + when: ## Override the top-level when. + comments: + - "/test x-pack/functionbeat for windows-2012" + labels: + - "windows-2012" + branches: true ## for all the branches + tags: true ## for all the tags diff --git a/x-pack/metricbeat/Jenkinsfile.yml b/x-pack/metricbeat/Jenkinsfile.yml index d02dc5e16aa..60a593c488d 100644 --- a/x-pack/metricbeat/Jenkinsfile.yml +++ b/x-pack/metricbeat/Jenkinsfile.yml @@ -46,3 +46,14 @@ stages: - "windows-2016" branches: true ## for all the branches tags: true ## for all the tags + windows-2012: + mage: "mage build unitTest" + platforms: ## override default labels in this specific stage. + - "windows-2012-r2" + when: ## Override the top-level when. + comments: + - "/test x-pack/metricbeat for windows-2012" + labels: + - "windows-2012" + branches: true ## for all the branches + tags: true ## for all the tags diff --git a/x-pack/packetbeat/Jenkinsfile.yml b/x-pack/packetbeat/Jenkinsfile.yml index fd30546f70a..e3fa9ad0324 100644 --- a/x-pack/packetbeat/Jenkinsfile.yml +++ b/x-pack/packetbeat/Jenkinsfile.yml @@ -29,3 +29,14 @@ stages: - "windows-2016" branches: true ## for all the branches tags: true ## for all the tags + windows-2012: + mage: "mage build unitTest" + platforms: ## override default labels in this specific stage. + - "windows-2012-r2" + when: ## Override the top-level when. + comments: + - "/test x-pack/winlogbeat for windows-2012" + labels: + - "windows-2012" + branches: true ## for all the branches + tags: true ## for all the tags diff --git a/x-pack/winlogbeat/Jenkinsfile.yml b/x-pack/winlogbeat/Jenkinsfile.yml index 788d4a35369..371f0aa6f48 100644 --- a/x-pack/winlogbeat/Jenkinsfile.yml +++ b/x-pack/winlogbeat/Jenkinsfile.yml @@ -29,3 +29,14 @@ stages: - "windows-2016" branches: true ## for all the branches tags: true ## for all the tags + windows-2012: + mage: "mage build unitTest" + platforms: ## override default labels in this specific stage. + - "windows-2012-r2" + when: ## Override the top-level when. + comments: + - "/test x-pack/winlogbeat for windows-2012" + labels: + - "windows-2012" + branches: true ## for all the branches + tags: true ## for all the tags From e38d417446bd595fb199a52dd81f1fad1134925d Mon Sep 17 00:00:00 2001 From: Blake Rouse Date: Wed, 14 Oct 2020 11:09:21 -0400 Subject: [PATCH 18/29] [Elastic Agent] Remove the service installer scripts from packaging (#21694) * Remove the service installer scripts from packaging. * Add changelog. --- dev-tools/packaging/packages.yml | 6 ------ .../install-service-elastic-agent.ps1.tmpl | 19 ------------------- x-pack/elastic-agent/CHANGELOG.next.asciidoc | 1 + 3 files changed, 1 insertion(+), 25 deletions(-) delete mode 100644 dev-tools/packaging/templates/windows/install-service-elastic-agent.ps1.tmpl diff --git a/dev-tools/packaging/packages.yml b/dev-tools/packaging/packages.yml index dbfbc9f4b7a..aedcd81eb7f 100644 --- a/dev-tools/packaging/packages.yml +++ b/dev-tools/packaging/packages.yml @@ -284,12 +284,6 @@ shared: <<: *common files: <<: *agent_binary_files - install-service-{{.BeatName}}.ps1: - template: '{{ elastic_beats_dir }}/dev-tools/packaging/templates/windows/install-service-elastic-agent.ps1.tmpl' - mode: 0755 - uninstall-service-{{.BeatName}}.ps1: - template: '{{ elastic_beats_dir }}/dev-tools/packaging/templates/windows/uninstall-service.ps1.tmpl' - mode: 0755 'data/{{.BeatName}}-{{ commit_short }}/downloads/filebeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.zip': source: '{{.AgentDropPath}}/filebeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.zip' mode: 0644 diff --git a/dev-tools/packaging/templates/windows/install-service-elastic-agent.ps1.tmpl b/dev-tools/packaging/templates/windows/install-service-elastic-agent.ps1.tmpl deleted file mode 100644 index fe037e3b425..00000000000 --- a/dev-tools/packaging/templates/windows/install-service-elastic-agent.ps1.tmpl +++ /dev/null @@ -1,19 +0,0 @@ -$ErrorActionPreference = "Stop" - -# Delete and stop the service if it already exists. -if (Get-Service {{.BeatName}} -ErrorAction SilentlyContinue) { - $service = Get-WmiObject -Class Win32_Service -Filter "name='{{.BeatName}}'" - $service.StopService() - Start-Sleep -s 1 - $service.delete() -} - -$workdir = Split-Path $MyInvocation.MyCommand.Path - -# Create the new service. -New-Service -name {{.BeatName}} ` - -displayName {{.BeatName | title}} ` - -binaryPathName "`"$workdir\{{.BeatName}}.exe`" --path.home `"$workdir`" --path.data `"$workdir\data`" run" - -# Start the new service. -Start-Service -name {{.BeatName}} diff --git a/x-pack/elastic-agent/CHANGELOG.next.asciidoc b/x-pack/elastic-agent/CHANGELOG.next.asciidoc index 96f036dd15d..c2a723d552a 100644 --- a/x-pack/elastic-agent/CHANGELOG.next.asciidoc +++ b/x-pack/elastic-agent/CHANGELOG.next.asciidoc @@ -36,3 +36,4 @@ - Add `elastic.agent.id` and `elastic.agent.version` to published events from filebeat and metricbeat {pull}21543[21543] - Add `upgrade` subcommand to perform upgrade of installed Elastic Agent {pull}21425[21425] - Update `fleet.yml` and Kibana hosts when a policy change updates the Kibana hosts {pull}21599[21599] +- Removed `install-service.ps1` and `uninstall-service.ps1` from Windows .zip packaging {pull}21694[21694] From f28d14da067fc59d877e27e8afcc6d76dfdd5f0a Mon Sep 17 00:00:00 2001 From: Steffen Siering Date: Wed, 14 Oct 2020 17:37:59 +0200 Subject: [PATCH 19/29] Fix stress test package list (#21719) --- libbeat/scripts/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libbeat/scripts/Makefile b/libbeat/scripts/Makefile index b0c48d7c9fd..3bdf4774158 100755 --- a/libbeat/scripts/Makefile +++ b/libbeat/scripts/Makefile @@ -41,7 +41,7 @@ export PATH := ./bin:$(PATH) GOFILES = $(shell find . -type f -name '*.go' 2>/dev/null) GOFILES_NOVENDOR = $(shell find . -type f -name '*.go' -not -path "*/vendor/*" 2>/dev/null) GOFILES_ALL = $(GOFILES) $(shell find $(ES_BEATS) -type f -name '*.go' 2>/dev/null) -GOPACKAGES_STRESSTESTS=$(shell find . -name '*.go' 2>/dev/null | xargs awk 'FNR>1 {nextfile} /\+build.*stresstest/ {print FILENAME; nextfile}' | xargs dirname | uniq) +GOPACKAGES_STRESSTESTS=$(shell find . -name '*.go' 2>/dev/null | xargs grep -l '\+build.*stresstest' | xargs -n1 dirname | uniq) SHELL=bash ES_HOST?=elasticsearch ES_PORT?=9200 From de88c5515fa2d1ea2dd348bf3578a51154040128 Mon Sep 17 00:00:00 2001 From: kaiyan-sheng Date: Wed, 14 Oct 2020 10:20:35 -0600 Subject: [PATCH 20/29] Change cloud.provider from googlecloud to gcp (#21775) --- CHANGELOG.next.asciidoc | 1 + .../googlecloud/metrics/_meta/data.json | 21 +++++++++++++------ .../timeseries_metadata_collector.go | 2 +- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 0344f6a90d0..8da665c7d2b 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -97,6 +97,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Fix ECS compliance of user.id field in system/users metricset {pull}19019[19019] - Rename googlecloud stackdriver metricset to metrics. {pull}19718[19718] - Remove "invalid zero" metrics on Windows and Darwin, don't report linux-only memory and diskio metrics when running under agent. {pull}21457[21457] +- Change cloud.provider from googlecloud to gcp. {pull}21775[21775] - API address and shard ID are required settings in the Cloud Foundry module. {pull}21759[21759] *Packetbeat* diff --git a/x-pack/metricbeat/module/googlecloud/metrics/_meta/data.json b/x-pack/metricbeat/module/googlecloud/metrics/_meta/data.json index c14017dd7df..43fb0505dc3 100644 --- a/x-pack/metricbeat/module/googlecloud/metrics/_meta/data.json +++ b/x-pack/metricbeat/module/googlecloud/metrics/_meta/data.json @@ -2,15 +2,20 @@ "@timestamp": "2017-10-12T08:05:34.853Z", "cloud": { "account": { - "id": "elastic-apm" + "id": "elastic-observability", + "name": "elastic-observability" }, "instance": { - "id": "8867356942891823986", - "name": "apm-ui-dev" + "id": "2029454349697438698", + "name": "nchaulet-loadtest-elasticsearch" }, - "provider": "googlecloud" + "machine": { + "type": "n1-standard-8" + }, + "provider": "gcp" }, - "cloud.availability_zone": "europe-west4-a", + "cloud.availability_zone": "us-central1-a", + "cloud.region": "us-central1", "event": { "dataset": "googlecloud.metrics", "duration": 115000, @@ -21,11 +26,15 @@ "metrics": { "instance": { "uptime": { - "value": 60 + "value": 60.00000000093132 } } } }, + "host": { + "id": "2029454349697438698", + "name": "nchaulet-loadtest-elasticsearch" + }, "metricset": { "name": "metrics", "period": 10000 diff --git a/x-pack/metricbeat/module/googlecloud/timeseries_metadata_collector.go b/x-pack/metricbeat/module/googlecloud/timeseries_metadata_collector.go index d309d78714b..75441e53853 100644 --- a/x-pack/metricbeat/module/googlecloud/timeseries_metadata_collector.go +++ b/x-pack/metricbeat/module/googlecloud/timeseries_metadata_collector.go @@ -58,7 +58,7 @@ func (s *StackdriverTimeSeriesMetadataCollector) Metadata(ctx context.Context, i ECSCloudAccountID: accountID, ECSCloudAccountName: accountID, }, - ECSCloudProvider: "googlecloud", + ECSCloudProvider: "gcp", }, } From 116d7670b9bfe73477a5c0c8883ae7dabd31a1d2 Mon Sep 17 00:00:00 2001 From: Blake Rouse Date: Wed, 14 Oct 2020 13:03:44 -0400 Subject: [PATCH 21/29] [Elastic Agent] Update path from policy change for Kibana connection. (#21804) * Update path from policy change for kibana connection. * Add changelog. --- x-pack/elastic-agent/CHANGELOG.next.asciidoc | 1 + .../pkg/agent/application/handler_action_policy_change.go | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/x-pack/elastic-agent/CHANGELOG.next.asciidoc b/x-pack/elastic-agent/CHANGELOG.next.asciidoc index c2a723d552a..51081c2c7a7 100644 --- a/x-pack/elastic-agent/CHANGELOG.next.asciidoc +++ b/x-pack/elastic-agent/CHANGELOG.next.asciidoc @@ -36,4 +36,5 @@ - Add `elastic.agent.id` and `elastic.agent.version` to published events from filebeat and metricbeat {pull}21543[21543] - Add `upgrade` subcommand to perform upgrade of installed Elastic Agent {pull}21425[21425] - Update `fleet.yml` and Kibana hosts when a policy change updates the Kibana hosts {pull}21599[21599] +- Update `fleet.kibana.path` from a POLICY_CHANGE {pull}21804[21804] - Removed `install-service.ps1` and `uninstall-service.ps1` from Windows .zip packaging {pull}21694[21694] diff --git a/x-pack/elastic-agent/pkg/agent/application/handler_action_policy_change.go b/x-pack/elastic-agent/pkg/agent/application/handler_action_policy_change.go index 8821700ee74..30a163a7b5e 100644 --- a/x-pack/elastic-agent/pkg/agent/application/handler_action_policy_change.go +++ b/x-pack/elastic-agent/pkg/agent/application/handler_action_policy_change.go @@ -73,14 +73,17 @@ func (h *handlerPolicyChange) handleKibanaHosts(c *config.Config) (err error) { // only set protocol/hosts as that is all Fleet currently sends prevProtocol := h.config.Fleet.Kibana.Protocol + prevPath := h.config.Fleet.Kibana.Path prevHosts := h.config.Fleet.Kibana.Hosts h.config.Fleet.Kibana.Protocol = cfg.Fleet.Kibana.Protocol + h.config.Fleet.Kibana.Path = cfg.Fleet.Kibana.Path h.config.Fleet.Kibana.Hosts = cfg.Fleet.Kibana.Hosts // rollback on failure defer func() { if err != nil { h.config.Fleet.Kibana.Protocol = prevProtocol + h.config.Fleet.Kibana.Path = prevPath h.config.Fleet.Kibana.Hosts = prevHosts } }() @@ -113,6 +116,9 @@ func kibanaEqual(k1 *kibana.Config, k2 *kibana.Config) bool { if k1.Protocol != k2.Protocol { return false } + if k1.Path != k2.Path { + return false + } sort.Strings(k1.Hosts) sort.Strings(k2.Hosts) From 34da9c906352d4d8717b42245b5a66cebe5aa693 Mon Sep 17 00:00:00 2001 From: Blake Rouse Date: Wed, 14 Oct 2020 13:45:16 -0400 Subject: [PATCH 22/29] [Elastic Agent] Don't perform install until after enroll (#21772) * Flip install and enroll. * Update order. * Always perform uninstall of service. * Fix issue with no enrolling. * Fix enrollment no. * Add changelog. --- x-pack/elastic-agent/CHANGELOG.next.asciidoc | 1 + x-pack/elastic-agent/pkg/agent/cmd/enroll.go | 4 +- x-pack/elastic-agent/pkg/agent/cmd/install.go | 116 +++++++++++------- .../elastic-agent/pkg/agent/cmd/uninstall.go | 2 +- .../pkg/agent/install/uninstall.go | 10 +- 5 files changed, 74 insertions(+), 59 deletions(-) diff --git a/x-pack/elastic-agent/CHANGELOG.next.asciidoc b/x-pack/elastic-agent/CHANGELOG.next.asciidoc index 51081c2c7a7..4803b1ba4d2 100644 --- a/x-pack/elastic-agent/CHANGELOG.next.asciidoc +++ b/x-pack/elastic-agent/CHANGELOG.next.asciidoc @@ -36,5 +36,6 @@ - Add `elastic.agent.id` and `elastic.agent.version` to published events from filebeat and metricbeat {pull}21543[21543] - Add `upgrade` subcommand to perform upgrade of installed Elastic Agent {pull}21425[21425] - Update `fleet.yml` and Kibana hosts when a policy change updates the Kibana hosts {pull}21599[21599] +- Update `install` command to perform enroll before starting Elastic Agent {pull}21772[21772] - Update `fleet.kibana.path` from a POLICY_CHANGE {pull}21804[21804] - Removed `install-service.ps1` and `uninstall-service.ps1` from Windows .zip packaging {pull}21694[21694] diff --git a/x-pack/elastic-agent/pkg/agent/cmd/enroll.go b/x-pack/elastic-agent/pkg/agent/cmd/enroll.go index a92766b9c07..2ae011db291 100644 --- a/x-pack/elastic-agent/pkg/agent/cmd/enroll.go +++ b/x-pack/elastic-agent/pkg/agent/cmd/enroll.go @@ -36,7 +36,7 @@ func newEnrollCommandWithArgs(flags *globalFlags, _ []string, streams *cli.IOStr Args: cobra.ExactArgs(2), Run: func(c *cobra.Command, args []string) { if err := enroll(streams, c, flags, args); err != nil { - fmt.Fprintf(streams.Err, "%v\n", err) + fmt.Fprintf(streams.Err, "Error: %v\n", err) os.Exit(1) } }, @@ -193,7 +193,7 @@ func enroll(streams *cli.IOStreams, cmd *cobra.Command, flags *globalFlags, args // skip restarting noRestart, _ := cmd.Flags().GetBool("no-restart") - if noRestart { + if noRestart || fromInstall { return nil } diff --git a/x-pack/elastic-agent/pkg/agent/cmd/install.go b/x-pack/elastic-agent/pkg/agent/cmd/install.go index 177f79912c9..583bd2fc5b4 100644 --- a/x-pack/elastic-agent/pkg/agent/cmd/install.go +++ b/x-pack/elastic-agent/pkg/agent/cmd/install.go @@ -9,6 +9,9 @@ import ( "os" "os/exec" + "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/agent/application" + "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/agent/application/paths" + "github.com/spf13/cobra" c "github.com/elastic/beats/v7/libbeat/common/cli" @@ -28,7 +31,7 @@ would like the Agent to operate. `, Run: func(c *cobra.Command, args []string) { if err := installCmd(streams, c, flags, args); err != nil { - fmt.Fprintf(streams.Err, "%v\n", err) + fmt.Fprintf(streams.Err, "Error: %v\n", err) os.Exit(1) } }, @@ -43,6 +46,7 @@ would like the Agent to operate. } func installCmd(streams *cli.IOStreams, cmd *cobra.Command, flags *globalFlags, args []string) error { + var err error if !install.HasRoot() { return fmt.Errorf("unable to perform install command, not executed with %s permissions", install.PermissionUser) } @@ -51,6 +55,16 @@ func installCmd(streams *cli.IOStreams, cmd *cobra.Command, flags *globalFlags, return fmt.Errorf("already installed at: %s", install.InstallPath) } + // check the lock to ensure that elastic-agent is not already running in this directory + locker := application.NewAppLocker(paths.Data()) + if err := locker.TryLock(); err != nil { + if err == application.ErrAppAlreadyRunning { + return fmt.Errorf("cannot perform installation as Elastic Agent is already running from this directory") + } + return err + } + locker.Unlock() + warn.PrintNotGA(streams.Out) force, _ := cmd.Flags().GetBool("force") if status == install.Broken { @@ -58,7 +72,7 @@ func installCmd(streams *cli.IOStreams, cmd *cobra.Command, flags *globalFlags, fmt.Fprintf(streams.Out, "Elastic Agent is installed but currently broken: %s\n", reason) confirm, err := c.Confirm(fmt.Sprintf("Continuing will re-install Elastic Agent over the current installation at %s. Do you want to continue?", install.InstallPath), true) if err != nil { - return fmt.Errorf("Error: problem reading prompt response") + return fmt.Errorf("problem reading prompt response") } if !confirm { return fmt.Errorf("installation was cancelled by the user") @@ -68,7 +82,7 @@ func installCmd(streams *cli.IOStreams, cmd *cobra.Command, flags *globalFlags, if !force { confirm, err := c.Confirm(fmt.Sprintf("Elastic Agent will be installed at %s and will run as a service. Do you want to continue?", install.InstallPath), true) if err != nil { - return fmt.Errorf("Error: problem reading prompt response") + return fmt.Errorf("problem reading prompt response") } if !confirm { return fmt.Errorf("installation was cancelled by the user") @@ -76,17 +90,7 @@ func installCmd(streams *cli.IOStreams, cmd *cobra.Command, flags *globalFlags, } } - err := install.Install() - if err != nil { - return fmt.Errorf("Error: %s", err) - } - err = install.StartService() - if err != nil { - fmt.Fprintf(streams.Out, "Installation of required system files was successful, but starting of the service failed.\n") - return err - } - fmt.Fprintf(streams.Out, "Installation was successful and Elastic Agent is running.\n") - + enroll := true askEnroll := true kibana, _ := cmd.Flags().GetString("kibana-url") token, _ := cmd.Flags().GetString("enrollment-token") @@ -102,53 +106,71 @@ func installCmd(streams *cli.IOStreams, cmd *cobra.Command, flags *globalFlags, return fmt.Errorf("problem reading prompt response") } if !confirm { - // not enrolling, all done (standalone mode) - return nil + // not enrolling + enroll = false } } if !askEnroll && (kibana == "" || token == "") { // force was performed without required enrollment arguments, all done (standalone mode) - return nil + enroll = false } - if kibana == "" { - kibana, err = c.ReadInput("Kibana URL you want to enroll this Agent into:") - if err != nil { - return fmt.Errorf("problem reading prompt response") - } + if enroll { if kibana == "" { - fmt.Fprintf(streams.Out, "Enrollment cancelled because no URL was provided.\n") - return nil - } - } - if token == "" { - token, err = c.ReadInput("Fleet enrollment token:") - if err != nil { - return fmt.Errorf("problem reading prompt response") + kibana, err = c.ReadInput("Kibana URL you want to enroll this Agent into:") + if err != nil { + return fmt.Errorf("problem reading prompt response") + } + if kibana == "" { + fmt.Fprintf(streams.Out, "Enrollment cancelled because no URL was provided.\n") + return nil + } } if token == "" { - fmt.Fprintf(streams.Out, "Enrollment cancelled because no enrollment token was provided.\n") - return nil + token, err = c.ReadInput("Fleet enrollment token:") + if err != nil { + return fmt.Errorf("problem reading prompt response") + } + if token == "" { + fmt.Fprintf(streams.Out, "Enrollment cancelled because no enrollment token was provided.\n") + return nil + } } } - enrollArgs := []string{"enroll", kibana, token, "--from-install"} - enrollArgs = append(enrollArgs, buildEnrollmentFlags(cmd)...) - enrollCmd := exec.Command(install.ExecutablePath(), enrollArgs...) - enrollCmd.Stdin = os.Stdin - enrollCmd.Stdout = os.Stdout - enrollCmd.Stderr = os.Stderr - err = enrollCmd.Start() + err = install.Install() if err != nil { - return fmt.Errorf("failed to execute enroll command: %s", err) + return err } - err = enrollCmd.Wait() - if err == nil { - return nil + + if enroll { + enrollArgs := []string{"enroll", kibana, token, "--from-install"} + enrollArgs = append(enrollArgs, buildEnrollmentFlags(cmd)...) + enrollCmd := exec.Command(install.ExecutablePath(), enrollArgs...) + enrollCmd.Stdin = os.Stdin + enrollCmd.Stdout = os.Stdout + enrollCmd.Stderr = os.Stderr + err = enrollCmd.Start() + if err != nil { + install.Uninstall() + return fmt.Errorf("failed to execute enroll command: %s", err) + } + err = enrollCmd.Wait() + if err != nil { + install.Uninstall() + exitErr, ok := err.(*exec.ExitError) + if ok { + return fmt.Errorf("enroll command failed with exit code: %d", exitErr.ExitCode()) + } + return fmt.Errorf("enroll command failed for unknown reason: %s", err) + } } - exitErr, ok := err.(*exec.ExitError) - if ok { - return fmt.Errorf("enroll command failed with exit code: %d", exitErr.ExitCode()) + + err = install.StartService() + if err != nil { + fmt.Fprintf(streams.Out, "Installation of required system files was successful, but starting of the service failed.\n") + return err } - return fmt.Errorf("enroll command failed for unknown reason: %s", err) + fmt.Fprintf(streams.Out, "Installation was successful and Elastic Agent is running.\n") + return nil } diff --git a/x-pack/elastic-agent/pkg/agent/cmd/uninstall.go b/x-pack/elastic-agent/pkg/agent/cmd/uninstall.go index d215a15e337..ecb42d72b77 100644 --- a/x-pack/elastic-agent/pkg/agent/cmd/uninstall.go +++ b/x-pack/elastic-agent/pkg/agent/cmd/uninstall.go @@ -28,7 +28,7 @@ Unless -f is used this command will ask confirmation before performing removal. `, Run: func(c *cobra.Command, args []string) { if err := uninstallCmd(streams, c, flags, args); err != nil { - fmt.Fprintf(streams.Err, "%v\n", err) + fmt.Fprintf(streams.Err, "Error: %v\n", err) os.Exit(1) } }, diff --git a/x-pack/elastic-agent/pkg/agent/install/uninstall.go b/x-pack/elastic-agent/pkg/agent/install/uninstall.go index 381427eb8c7..a83681cfb80 100644 --- a/x-pack/elastic-agent/pkg/agent/install/uninstall.go +++ b/x-pack/elastic-agent/pkg/agent/install/uninstall.go @@ -32,15 +32,7 @@ func Uninstall() error { } status = service.StatusStopped } - if status == service.StatusStopped { - err := svc.Uninstall() - if err != nil { - return errors.New( - err, - fmt.Sprintf("failed to uninstall service (%s)", ServiceName), - errors.M("service", ServiceName)) - } - } + _ = svc.Uninstall() // remove, if present on platform if ShellWrapperPath != "" { From 39b1db81034166991f28904278c8282a502d58e6 Mon Sep 17 00:00:00 2001 From: Andrew Cholakian Date: Wed, 14 Oct 2020 13:48:35 -0500 Subject: [PATCH 23/29] [Agent] Remove heartbeat from bundled beats in agent. (#21602) This keeps most of the changes in https://github.com/elastic/beats/pull/20488 but unbundles heartbeat since it's not ready for prime time yet. We may as well keep the work that has been done already IMHO. --- dev-tools/packaging/packages.yml | 41 -------------------- x-pack/elastic-agent/CHANGELOG.next.asciidoc | 1 - x-pack/elastic-agent/magefile.go | 2 +- 3 files changed, 1 insertion(+), 43 deletions(-) diff --git a/dev-tools/packaging/packages.yml b/dev-tools/packaging/packages.yml index aedcd81eb7f..e1eff0fdfbb 100644 --- a/dev-tools/packaging/packages.yml +++ b/dev-tools/packaging/packages.yml @@ -74,16 +74,6 @@ shared: source: '{{.AgentDropPath}}/filebeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz.asc' mode: 0644 skip_on_missing: true - /var/lib/{{.BeatName}}/data/{{.BeatName}}-{{ commit_short }}/downloads/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz: - source: '{{.AgentDropPath}}/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz' - mode: 0644 - /var/lib/{{.BeatName}}/data/{{.BeatName}}-{{ commit_short }}/downloads/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz.sha512: - source: '{{.AgentDropPath}}/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz.sha512' - mode: 0644 - /var/lib/{{.BeatName}}/data/{{.BeatName}}-{{ commit_short }}/downloads/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz.asc: - source: '{{.AgentDropPath}}/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz.asc' - mode: 0644 - skip_on_missing: true /var/lib/{{.BeatName}}/data/{{.BeatName}}-{{ commit_short }}/downloads/metricbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz: source: '{{.AgentDropPath}}/metricbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz' mode: 0644 @@ -165,17 +155,6 @@ shared: source: '{{.AgentDropPath}}/filebeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz.asc' mode: 0644 skip_on_missing: true - /etc/{{.BeatName}}/data/{{.BeatName}}-{{ commit_short }}/downloads/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz: - source: '{{.AgentDropPath}}/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz' - mode: 0644 - /etc/{{.BeatName}}/data/{{.BeatName}}-{{ commit_short }}/downloads/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz.sha512: - source: '{{.AgentDropPath}}/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz.sha512' - mode: 0644 - skip_on_missing: true - /etc/{{.BeatName}}/data/{{.BeatName}}-{{ commit_short }}/downloads/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz.asc: - source: '{{.AgentDropPath}}/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz.asc' - mode: 0644 - skip_on_missing: true /etc/{{.BeatName}}/data/{{.BeatName}}-{{ commit_short }}/downloads/metricbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz: source: '{{.AgentDropPath}}/metricbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz' mode: 0644 @@ -246,16 +225,6 @@ shared: source: '{{.AgentDropPath}}/filebeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz.asc' mode: 0644 skip_on_missing: true - 'data/{{.BeatName}}-{{ commit_short }}/downloads/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz': - source: '{{.AgentDropPath}}/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz' - mode: 0644 - 'data/{{.BeatName}}-{{ commit_short }}/downloads/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz.sha512': - source: '{{.AgentDropPath}}/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz.sha512' - mode: 0644 - 'data/{{.BeatName}}-{{ commit_short }}/downloads/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz.asc': - source: '{{.AgentDropPath}}/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz.asc' - mode: 0644 - skip_on_missing: true 'data/{{.BeatName}}-{{ commit_short }}/downloads/metricbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz': source: '{{.AgentDropPath}}/metricbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.tar.gz' mode: 0644 @@ -294,16 +263,6 @@ shared: source: '{{.AgentDropPath}}/filebeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.zip.asc' mode: 0644 skip_on_missing: true - 'data/{{.BeatName}}-{{ commit_short }}/downloads/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.zip': - source: '{{.AgentDropPath}}/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.zip' - mode: 0644 - 'data/{{.BeatName}}-{{ commit_short }}/downloads/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.zip.sha512': - source: '{{.AgentDropPath}}/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.zip.sha512' - mode: 0644 - 'data/{{.BeatName}}-{{ commit_short }}/downloads/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.zip.asc': - source: '{{.AgentDropPath}}/heartbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.zip.asc' - mode: 0644 - skip_on_missing: true 'data/{{.BeatName}}-{{ commit_short }}/downloads/metricbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.zip': source: '{{.AgentDropPath}}/metricbeat-{{ beat_version }}{{if .Snapshot}}-SNAPSHOT{{end}}-{{.GOOS}}-{{.AgentArchName}}.zip' mode: 0644 diff --git a/x-pack/elastic-agent/CHANGELOG.next.asciidoc b/x-pack/elastic-agent/CHANGELOG.next.asciidoc index 4803b1ba4d2..deae2522773 100644 --- a/x-pack/elastic-agent/CHANGELOG.next.asciidoc +++ b/x-pack/elastic-agent/CHANGELOG.next.asciidoc @@ -23,7 +23,6 @@ - Improved version CLI {pull}20359[20359] - Enroll CLI now restarts running daemon {pull}20359[20359] - Add restart CLI cmd {pull}20359[20359] -- Add new `synthetics/*` inputs to run Heartbeat {pull}20387[20387] - Users of the Docker image can now pass `FLEET_ENROLL_INSECURE=1` to include the `--insecure` flag with the `elastic-agent enroll` command {issue}20312[20312] {pull}20713[20713] - Add `docker` composable dynamic provider. {pull}20842[20842] - Add support for dynamic inputs with providers and `{{variable|"default"}}` substitution. {pull}20839[20839] diff --git a/x-pack/elastic-agent/magefile.go b/x-pack/elastic-agent/magefile.go index 4fa067f8f8b..a1aaba840fb 100644 --- a/x-pack/elastic-agent/magefile.go +++ b/x-pack/elastic-agent/magefile.go @@ -572,7 +572,7 @@ func packageAgent(requiredPackages []string, packagingFn func()) { defer os.RemoveAll(dropPath) defer os.Unsetenv(agentDropPath) - packedBeats := []string{"filebeat", "heartbeat", "metricbeat"} + packedBeats := []string{"filebeat", "metricbeat"} for _, b := range packedBeats { pwd, err := filepath.Abs(filepath.Join("..", b)) From 99b4172b3b6b506de32152412647b7ed3e38389f Mon Sep 17 00:00:00 2001 From: kaiyan-sheng Date: Wed, 14 Oct 2020 13:30:15 -0600 Subject: [PATCH 24/29] Move s3_daily_storage and s3_request metricsets to use cloudwatch input (#21703) --- CHANGELOG.next.asciidoc | 1 + .../modules/aws/s3_daily_storage.asciidoc | 1 + .../docs/modules/aws/s3_request.asciidoc | 1 + x-pack/metricbeat/include/list.go | 2 - x-pack/metricbeat/module/aws/module.yml | 2 + .../module/aws/mtest/integration.go | 1 + .../aws/s3_daily_storage/_meta/data.json | 27 +-- .../module/aws/s3_daily_storage/data.go | 21 -- .../module/aws/s3_daily_storage/manifest.yml | 22 ++ .../aws/s3_daily_storage/s3_daily_storage.go | 219 ----------------- .../s3_daily_storage_integration_test.go | 18 +- .../s3_daily_storage/s3_daily_storage_test.go | 21 ++ .../module/aws/s3_request/_meta/data.json | 58 ++--- .../metricbeat/module/aws/s3_request/data.go | 41 ---- .../module/aws/s3_request/manifest.yml | 64 +++++ .../module/aws/s3_request/s3_request.go | 221 ------------------ .../s3_request/s3_request_integration_test.go | 49 ++-- .../module/aws/s3_request/s3_request_test.go | 21 ++ 18 files changed, 209 insertions(+), 581 deletions(-) delete mode 100644 x-pack/metricbeat/module/aws/s3_daily_storage/data.go create mode 100644 x-pack/metricbeat/module/aws/s3_daily_storage/manifest.yml delete mode 100644 x-pack/metricbeat/module/aws/s3_daily_storage/s3_daily_storage.go create mode 100644 x-pack/metricbeat/module/aws/s3_daily_storage/s3_daily_storage_test.go delete mode 100644 x-pack/metricbeat/module/aws/s3_request/data.go create mode 100644 x-pack/metricbeat/module/aws/s3_request/manifest.yml delete mode 100644 x-pack/metricbeat/module/aws/s3_request/s3_request.go create mode 100644 x-pack/metricbeat/module/aws/s3_request/s3_request_test.go diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 8da665c7d2b..28e66a63034 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -756,6 +756,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Move Prometheus query & remote_write to GA. {pull}21507[21507] - Expand unsupported option from namespace to metrics in the azure module. {pull}21486[21486] - Map cloud data filed `cloud.account.id` to azure subscription. {pull}21483[21483] {issue}21381[21381] +- Move s3_daily_storage and s3_request metricsets to use cloudwatch input. {pull}21703[21703] *Packetbeat* diff --git a/metricbeat/docs/modules/aws/s3_daily_storage.asciidoc b/metricbeat/docs/modules/aws/s3_daily_storage.asciidoc index 251fe923231..7fd8a635a3b 100644 --- a/metricbeat/docs/modules/aws/s3_daily_storage.asciidoc +++ b/metricbeat/docs/modules/aws/s3_daily_storage.asciidoc @@ -8,6 +8,7 @@ This file is generated! See scripts/mage/docs_collector.go include::../../../../x-pack/metricbeat/module/aws/s3_daily_storage/_meta/docs.asciidoc[] +This is a default metricset. If the host module is unconfigured, this metricset is enabled by default. ==== Fields diff --git a/metricbeat/docs/modules/aws/s3_request.asciidoc b/metricbeat/docs/modules/aws/s3_request.asciidoc index 53bef698894..e8d26703b17 100644 --- a/metricbeat/docs/modules/aws/s3_request.asciidoc +++ b/metricbeat/docs/modules/aws/s3_request.asciidoc @@ -8,6 +8,7 @@ This file is generated! See scripts/mage/docs_collector.go include::../../../../x-pack/metricbeat/module/aws/s3_request/_meta/docs.asciidoc[] +This is a default metricset. If the host module is unconfigured, this metricset is enabled by default. ==== Fields diff --git a/x-pack/metricbeat/include/list.go b/x-pack/metricbeat/include/list.go index 053385e2e79..e27c7f9a624 100644 --- a/x-pack/metricbeat/include/list.go +++ b/x-pack/metricbeat/include/list.go @@ -16,8 +16,6 @@ import ( _ "github.com/elastic/beats/v7/x-pack/metricbeat/module/aws/cloudwatch" _ "github.com/elastic/beats/v7/x-pack/metricbeat/module/aws/ec2" _ "github.com/elastic/beats/v7/x-pack/metricbeat/module/aws/rds" - _ "github.com/elastic/beats/v7/x-pack/metricbeat/module/aws/s3_daily_storage" - _ "github.com/elastic/beats/v7/x-pack/metricbeat/module/aws/s3_request" _ "github.com/elastic/beats/v7/x-pack/metricbeat/module/aws/sqs" _ "github.com/elastic/beats/v7/x-pack/metricbeat/module/azure" _ "github.com/elastic/beats/v7/x-pack/metricbeat/module/azure/app_insights" diff --git a/x-pack/metricbeat/module/aws/module.yml b/x-pack/metricbeat/module/aws/module.yml index 0be20d1d484..c6129426e8b 100644 --- a/x-pack/metricbeat/module/aws/module.yml +++ b/x-pack/metricbeat/module/aws/module.yml @@ -4,6 +4,8 @@ metricsets: - ebs - usage - sns + - s3_daily_storage + - s3_request - lambda - dynamodb - vpn diff --git a/x-pack/metricbeat/module/aws/mtest/integration.go b/x-pack/metricbeat/module/aws/mtest/integration.go index f99d34bb05f..fba6b9fe3b2 100644 --- a/x-pack/metricbeat/module/aws/mtest/integration.go +++ b/x-pack/metricbeat/module/aws/mtest/integration.go @@ -39,6 +39,7 @@ func GetConfigForTest(t *testing.T, metricSetName string, period string) map[str "access_key_id": accessKeyID, "secret_access_key": secretAccessKey, "default_region": defaultRegion, + "latency": "5m", // You can specify which region to run test on by using regions variable // "regions": []string{"us-east-1"}, } diff --git a/x-pack/metricbeat/module/aws/s3_daily_storage/_meta/data.json b/x-pack/metricbeat/module/aws/s3_daily_storage/_meta/data.json index 722318a2981..4285889e5d4 100644 --- a/x-pack/metricbeat/module/aws/s3_daily_storage/_meta/data.json +++ b/x-pack/metricbeat/module/aws/s3_daily_storage/_meta/data.json @@ -1,27 +1,28 @@ { "@timestamp": "2017-10-12T08:05:34.853Z", "aws": { - "s3": { - "bucket": { - "name": "test-s3-ks-2" - } + "cloudwatch": { + "namespace": "AWS/S3" + }, + "dimensions": { + "BucketName": "filebeat-aws-elb-test", + "StorageType": "AllStorageTypes" }, - "s3_daily_storage": { - "bucket": { - "size": { - "bytes": 207372 + "s3": { + "metrics": { + "NumberOfObjects": { + "avg": 57828 } - }, - "number_of_objects": 128 + } } }, "cloud": { "account": { - "id": "627959692251", - "name": "elastic-test" + "id": "428152502467", + "name": "elastic-beats" }, "provider": "aws", - "region": "ap-southeast-1" + "region": "eu-central-1" }, "event": { "dataset": "aws.s3_daily_storage", diff --git a/x-pack/metricbeat/module/aws/s3_daily_storage/data.go b/x-pack/metricbeat/module/aws/s3_daily_storage/data.go deleted file mode 100644 index 95b5b3cf53d..00000000000 --- a/x-pack/metricbeat/module/aws/s3_daily_storage/data.go +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one -// or more contributor license agreements. Licensed under the Elastic License; -// you may not use this file except in compliance with the Elastic License. - -package s3_daily_storage - -import ( - s "github.com/elastic/beats/v7/libbeat/common/schema" - c "github.com/elastic/beats/v7/libbeat/common/schema/mapstrstr" -) - -var ( - schemaMetricSetFields = s.Schema{ - "bucket": s.Object{ - "size": s.Object{ - "bytes": c.Float("BucketSizeBytes"), - }, - }, - "number_of_objects": c.Float("NumberOfObjects"), - } -) diff --git a/x-pack/metricbeat/module/aws/s3_daily_storage/manifest.yml b/x-pack/metricbeat/module/aws/s3_daily_storage/manifest.yml new file mode 100644 index 00000000000..83ed42545c0 --- /dev/null +++ b/x-pack/metricbeat/module/aws/s3_daily_storage/manifest.yml @@ -0,0 +1,22 @@ +default: true +input: + module: aws + metricset: cloudwatch + defaults: + metrics: + - namespace: AWS/S3 + statistic: ["Average"] + name: + - BucketSizeBytes + - NumberOfObjects + +processors: + - rename: + ignore_missing: true + fields: + - from: "aws.s3.metrics.NumberOfObjects.avg" + to: "aws.s3_daily_storage.number_of_objects" + - from: "aws.s3.metrics.BucketSizeBytes.avg" + to: "aws.s3_daily_storage.bucket.size.bytes" + - from: "aws.dimensions.BucketName" + to: "aws.s3.bucket.name" diff --git a/x-pack/metricbeat/module/aws/s3_daily_storage/s3_daily_storage.go b/x-pack/metricbeat/module/aws/s3_daily_storage/s3_daily_storage.go deleted file mode 100644 index d5efa36fb03..00000000000 --- a/x-pack/metricbeat/module/aws/s3_daily_storage/s3_daily_storage.go +++ /dev/null @@ -1,219 +0,0 @@ -// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one -// or more contributor license agreements. Licensed under the Elastic License; -// you may not use this file except in compliance with the Elastic License. - -package s3_daily_storage - -import ( - "fmt" - "strconv" - "strings" - "time" - - "github.com/aws/aws-sdk-go-v2/service/cloudwatch" - "github.com/pkg/errors" - - "github.com/elastic/beats/v7/metricbeat/mb" - awscommon "github.com/elastic/beats/v7/x-pack/libbeat/common/aws" - "github.com/elastic/beats/v7/x-pack/metricbeat/module/aws" -) - -var metricsetName = "s3_daily_storage" - -// init registers the MetricSet with the central registry as soon as the program -// starts. The New function will be called later to instantiate an instance of -// the MetricSet for each host defined in the module's configuration. After the -// MetricSet has been created then Fetch will begin to be called periodically. -func init() { - mb.Registry.MustAddMetricSet(aws.ModuleName, metricsetName, New) -} - -// MetricSet holds any configuration or state information. It must implement -// the mb.MetricSet interface. And this is best achieved by embedding -// mb.BaseMetricSet because it implements all of the required mb.MetricSet -// interface methods except for Fetch. -type MetricSet struct { - *aws.MetricSet -} - -// New creates a new instance of the MetricSet. New is responsible for unpacking -// any MetricSet specific configuration options if there are any. -func New(base mb.BaseMetricSet) (mb.MetricSet, error) { - moduleConfig := aws.Config{} - if err := base.Module().UnpackConfig(&moduleConfig); err != nil { - return nil, err - } - - metricSet, err := aws.NewMetricSet(base) - if err != nil { - return nil, errors.Wrap(err, "error creating aws metricset") - } - - // Check if period is set to be multiple of 86400s - remainder := int(metricSet.Period.Seconds()) % 86400 - if remainder != 0 { - err := errors.New("period needs to be set to 86400s (or a multiple of 86400s). " + - "To avoid data missing or extra costs, please make sure period is set correctly " + - "in config.yml") - base.Logger().Info(err) - } - - return &MetricSet{ - MetricSet: metricSet, - }, nil -} - -// Fetch methods implements the data gathering and data conversion to the right -// format. It publishes the event which is then forwarded to the output. In case -// of an error set the Error field of mb.Event or simply call report.Error(). -func (m *MetricSet) Fetch(report mb.ReporterV2) error { - namespace := "AWS/S3" - // Get startTime and endTime - startTime, endTime := aws.GetStartTimeEndTime(m.Period, m.Latency) - m.Logger().Debugf("startTime = %s, endTime = %s", startTime, endTime) - - // GetMetricData for AWS S3 from Cloudwatch - for _, regionName := range m.MetricSet.RegionsList { - awsConfig := m.MetricSet.AwsConfig.Copy() - awsConfig.Region = regionName - - svcCloudwatch := cloudwatch.New(awscommon.EnrichAWSConfigWithEndpoint( - m.Endpoint, "monitoring", regionName, awsConfig)) - - listMetricsOutputs, err := aws.GetListMetricsOutput(namespace, regionName, svcCloudwatch) - if err != nil { - err = errors.Wrap(err, "GetListMetricsOutput failed, skipping region "+regionName) - m.Logger().Error(err.Error()) - report.Error(err) - continue - } - - if listMetricsOutputs == nil || len(listMetricsOutputs) == 0 { - continue - } - - metricDataQueries := constructMetricQueries(listMetricsOutputs, m.Period) - // Use metricDataQueries to make GetMetricData API calls - metricDataOutputs, err := aws.GetMetricDataResults(metricDataQueries, svcCloudwatch, startTime, endTime) - if err != nil { - err = errors.Wrap(err, "GetMetricDataResults failed, skipping region "+regionName) - m.Logger().Error(err) - report.Error(err) - continue - } - - // Create Cloudwatch Events for s3_daily_storage - bucketNames := getBucketNames(listMetricsOutputs) - for _, bucketName := range bucketNames { - event, err := createCloudWatchEvents(metricDataOutputs, regionName, bucketName, m.AccountName, m.AccountID) - if err != nil { - err = errors.Wrap(err, "createCloudWatchEvents failed") - m.Logger().Error(err) - event.Error = err - report.Event(event) - continue - } - - if reported := report.Event(event); !reported { - m.Logger().Debug("Fetch interrupted, failed to emit event") - return nil - } - } - } - - return nil -} - -func getBucketNames(listMetricsOutputs []cloudwatch.Metric) (bucketNames []string) { - for _, output := range listMetricsOutputs { - for _, dim := range output.Dimensions { - if *dim.Name == "BucketName" { - if exists, _ := aws.StringInSlice(*dim.Value, bucketNames); exists { - continue - } - bucketNames = append(bucketNames, *dim.Value) - } - } - } - return -} - -func constructMetricQueries(listMetricsOutputs []cloudwatch.Metric, period time.Duration) []cloudwatch.MetricDataQuery { - var metricDataQueries []cloudwatch.MetricDataQuery - metricDataQueryEmpty := cloudwatch.MetricDataQuery{} - metricNames := []string{"NumberOfObjects", "BucketSizeBytes"} - for i, listMetric := range listMetricsOutputs { - if exists, _ := aws.StringInSlice(*listMetric.MetricName, metricNames); !exists { - continue - } - - metricDataQuery := createMetricDataQuery(listMetric, period, i) - if metricDataQuery == metricDataQueryEmpty { - continue - } - metricDataQueries = append(metricDataQueries, metricDataQuery) - } - return metricDataQueries -} - -func createMetricDataQuery(metric cloudwatch.Metric, period time.Duration, index int) (metricDataQuery cloudwatch.MetricDataQuery) { - statistic := "Average" - periodInSec := int64(period.Seconds()) - id := "s3d" + strconv.Itoa(index) - metricDims := metric.Dimensions - bucketName := "" - storageType := "" - for _, dim := range metricDims { - if *dim.Name == "BucketName" { - bucketName = *dim.Value - } else if *dim.Name == "StorageType" { - storageType = *dim.Value - } - } - metricName := *metric.MetricName - label := bucketName + " " + storageType + " " + metricName - - metricDataQuery = cloudwatch.MetricDataQuery{ - Id: &id, - MetricStat: &cloudwatch.MetricStat{ - Period: &periodInSec, - Stat: &statistic, - Metric: &metric, - }, - Label: &label, - } - return -} - -func createCloudWatchEvents(outputs []cloudwatch.MetricDataResult, regionName string, bucketName string, accountName string, accountID string) (event mb.Event, err error) { - // AWS s3_daily_storage metrics - mapOfMetricSetFieldResults := make(map[string]interface{}) - - // Find a timestamp for all metrics in output - timestamp := aws.FindTimestamp(outputs) - if !timestamp.IsZero() { - for _, output := range outputs { - if len(output.Values) == 0 { - continue - } - exists, timestampIdx := aws.CheckTimestampInArray(timestamp, output.Timestamps) - if exists { - labels := strings.Split(*output.Label, " ") - if labels[0] == bucketName && len(output.Values) > timestampIdx { - mapOfMetricSetFieldResults[labels[2]] = fmt.Sprint(output.Values[timestampIdx]) - } - } - } - } - - resultMetricSetFields, err := aws.EventMapping(mapOfMetricSetFieldResults, schemaMetricSetFields) - if err != nil { - err = errors.Wrap(err, "Error trying to apply schema schemaMetricSetFields in AWS s3_daily_storage metricbeat module.") - return - } - - event = aws.InitEvent(regionName, accountName, accountID, timestamp) - event.MetricSetFields = resultMetricSetFields - event.RootFields.Put("aws.s3.bucket.name", bucketName) - return -} diff --git a/x-pack/metricbeat/module/aws/s3_daily_storage/s3_daily_storage_integration_test.go b/x-pack/metricbeat/module/aws/s3_daily_storage/s3_daily_storage_integration_test.go index 592416a56a8..4042f332b8e 100644 --- a/x-pack/metricbeat/module/aws/s3_daily_storage/s3_daily_storage_integration_test.go +++ b/x-pack/metricbeat/module/aws/s3_daily_storage/s3_daily_storage_integration_test.go @@ -28,22 +28,18 @@ func TestFetch(t *testing.T) { assert.NotEmpty(t, events) for _, event := range events { - // RootField - mtest.CheckEventField("service.name", "string", event, t) mtest.CheckEventField("cloud.region", "string", event, t) - - // MetricSetField - mtest.CheckEventField("bucket.name", "string", event, t) - mtest.CheckEventField("bucket.size.bytes", "float", event, t) - mtest.CheckEventField("number_of_objects", "float", event, t) + mtest.CheckEventField("aws.dimensions.BucketName", "string", event, t) + mtest.CheckEventField("aws.dimensions.StorageType", "string", event, t) + mtest.CheckEventField("aws.s3.metrics.BucketSizeBytes.avg", "float", event, t) + mtest.CheckEventField("aws.s3.metrics.NumberOfObjects.avg", "float", event, t) + break } } func TestData(t *testing.T) { config := mtest.GetConfigForTest(t, "s3_daily_storage", "86400s") - metricSet := mbtest.NewReportingMetricSetV2Error(t, config) - if err := mbtest.WriteEventsReporterV2Error(metricSet, t, "/"); err != nil { - t.Fatal("write", err) - } + metricSet := mbtest.NewFetcher(t, config) + metricSet.WriteEvents(t, "/") } diff --git a/x-pack/metricbeat/module/aws/s3_daily_storage/s3_daily_storage_test.go b/x-pack/metricbeat/module/aws/s3_daily_storage/s3_daily_storage_test.go new file mode 100644 index 00000000000..16008223a92 --- /dev/null +++ b/x-pack/metricbeat/module/aws/s3_daily_storage/s3_daily_storage_test.go @@ -0,0 +1,21 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package s3_daily_storage + +import ( + "os" + + "github.com/elastic/beats/v7/metricbeat/mb" + + // Register input module and metricset + _ "github.com/elastic/beats/v7/x-pack/metricbeat/module/aws" + _ "github.com/elastic/beats/v7/x-pack/metricbeat/module/aws/cloudwatch" +) + +func init() { + // To be moved to some kind of helper + os.Setenv("BEAT_STRICT_PERMS", "false") + mb.Registry.SetSecondarySource(mb.NewLightModulesSource("../../../module")) +} diff --git a/x-pack/metricbeat/module/aws/s3_request/_meta/data.json b/x-pack/metricbeat/module/aws/s3_request/_meta/data.json index d8dfc488a83..8bdda96ef8d 100644 --- a/x-pack/metricbeat/module/aws/s3_request/_meta/data.json +++ b/x-pack/metricbeat/module/aws/s3_request/_meta/data.json @@ -1,40 +1,46 @@ { "@timestamp": "2017-10-12T08:05:34.853Z", "aws": { - "s3": { - "bucket": { - "name": "test-s3-ks-2" - } + "cloudwatch": { + "namespace": "AWS/S3" }, - "s3_request": { - "downloaded": { - "bytes": 534 - }, - "errors": { - "4xx": 0, - "5xx": 0 - }, - "latency": { - "first_byte.ms": 214, - "total_request.ms": 533 - }, - "requests": { - "list": 2, - "put": 10, - "total": 12 - }, - "uploaded": { - "bytes": 13572 + "dimensions": { + "BucketName": "test-ks-1", + "FilterId": "EntireBucket" + }, + "s3": { + "metrics": { + "4xxErrors": { + "avg": 0 + }, + "5xxErrors": { + "avg": 0 + }, + "AllRequests": { + "avg": 1 + }, + "BytesUploaded": { + "avg": 684 + }, + "FirstByteLatency": { + "avg": 21.791666666666668 + }, + "PutRequests": { + "avg": 1 + }, + "TotalRequestLatency": { + "avg": 35.916666666666664 + } } } }, "cloud": { "account": { - "id": "627959692251", - "name": "elastic-test" + "id": "428152502467", + "name": "elastic-beats" }, "provider": "aws", - "region": "ap-southeast-1" + "region": "us-east-1" }, "event": { "dataset": "aws.s3_request", diff --git a/x-pack/metricbeat/module/aws/s3_request/data.go b/x-pack/metricbeat/module/aws/s3_request/data.go deleted file mode 100644 index 5c4c2bfa1a4..00000000000 --- a/x-pack/metricbeat/module/aws/s3_request/data.go +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one -// or more contributor license agreements. Licensed under the Elastic License; -// you may not use this file except in compliance with the Elastic License. - -package s3_request - -import ( - s "github.com/elastic/beats/v7/libbeat/common/schema" - c "github.com/elastic/beats/v7/libbeat/common/schema/mapstrstr" -) - -var ( - schemaMetricSetFields = s.Schema{ - "requests": s.Object{ - "total": c.Int("AllRequests"), - "get": c.Int("GetRequests"), - "put": c.Int("PutRequests"), - "delete": c.Int("DeleteRequests"), - "head": c.Int("HeadRequests"), - "post": c.Int("PostRequests"), - "select": c.Int("SelectRequests"), - "select_scanned.bytes": c.Float("SelectScannedBytes"), - "select_returned.bytes": c.Float("SelectReturnedBytes"), - "list": c.Int("ListRequests"), - }, - "downloaded": s.Object{ - "bytes": c.Float("BytesDownloaded"), - }, - "uploaded": s.Object{ - "bytes": c.Float("BytesUploaded"), - }, - "errors": s.Object{ - "4xx": c.Int("4xxErrors"), - "5xx": c.Int("5xxErrors"), - }, - "latency": s.Object{ - "first_byte.ms": c.Float("FirstByteLatency"), - "total_request.ms": c.Float("TotalRequestLatency"), - }, - } -) diff --git a/x-pack/metricbeat/module/aws/s3_request/manifest.yml b/x-pack/metricbeat/module/aws/s3_request/manifest.yml new file mode 100644 index 00000000000..6a401fed08f --- /dev/null +++ b/x-pack/metricbeat/module/aws/s3_request/manifest.yml @@ -0,0 +1,64 @@ +default: true +input: + module: aws + metricset: cloudwatch + defaults: + metrics: + - namespace: AWS/S3 + statistic: ["Average"] + name: + - AllRequests + - GetRequests + - PutRequests + - DeleteRequests + - HeadRequests + - PostRequests + - SelectRequests + - SelectScannedBytes + - SelectReturnedBytes + - ListRequests + - BytesDownloaded + - BytesUploaded + - 4xxErrors + - 5xxErrors + - FirstByteLatency + - TotalRequestLatency + +processors: + - rename: + ignore_missing: true + fields: + - from: "aws.s3.metrics.AllRequests.avg" + to: "aws.s3_request.requests.total" + - from: "aws.s3.metrics.GetRequests.avg" + to: "aws.s3_request.requests.get" + - from: "aws.s3.metrics.PutRequests.avg" + to: "aws.s3_request.requests.put" + - from: "aws.s3.metrics.DeleteRequests.avg" + to: "aws.s3_request.requests.delete" + - from: "aws.s3.metrics.HeadRequests.avg" + to: "aws.s3_request.requests.head" + - from: "aws.s3.metrics.PostRequests.avg" + to: "aws.s3_request.requests.post" + - from: "aws.s3.metrics.SelectRequests.avg" + to: "aws.s3_request.requests.select" + - from: "aws.s3.metrics.SelectScannedBytes.avg" + to: "aws.s3_request.requests.select_scanned.bytes" + - from: "aws.s3.metrics.SelectReturnedBytes.avg" + to: "aws.s3_request.requests.select_returned.bytes" + - from: "aws.s3.metrics.ListRequests.avg" + to: "aws.s3_request.requests.list" + - from: "aws.s3.metrics.BytesDownloaded.avg" + to: "aws.s3_request.downloaded.bytes" + - from: "aws.s3.metrics.BytesUploaded.avg" + to: "aws.s3_request.uploaded.bytes" + - from: "aws.s3.metrics.4xxErrors.avg" + to: "aws.s3_request.errors.4xx" + - from: "aws.s3.metrics.5xxErrors.avg" + to: "aws.s3_request.errors.5xx" + - from: "aws.s3.metrics.FirstByteLatency.avg" + to: "aws.s3_request.latency.first_byte.ms" + - from: "aws.s3.metrics.TotalRequestLatency.avg" + to: "aws.s3_request.latency.total_request.ms" + - from: "aws.dimensions.BucketName" + to: "aws.s3.bucket.name" diff --git a/x-pack/metricbeat/module/aws/s3_request/s3_request.go b/x-pack/metricbeat/module/aws/s3_request/s3_request.go deleted file mode 100644 index 00b82827bbf..00000000000 --- a/x-pack/metricbeat/module/aws/s3_request/s3_request.go +++ /dev/null @@ -1,221 +0,0 @@ -// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one -// or more contributor license agreements. Licensed under the Elastic License; -// you may not use this file except in compliance with the Elastic License. - -package s3_request - -import ( - "fmt" - "strconv" - "strings" - "time" - - "github.com/aws/aws-sdk-go-v2/service/cloudwatch" - "github.com/pkg/errors" - - "github.com/elastic/beats/v7/metricbeat/mb" - awscommon "github.com/elastic/beats/v7/x-pack/libbeat/common/aws" - "github.com/elastic/beats/v7/x-pack/metricbeat/module/aws" -) - -var metricsetName = "s3_request" - -// init registers the MetricSet with the central registry as soon as the program -// starts. The New function will be called later to instantiate an instance of -// the MetricSet for each host defined in the module's configuration. After the -// MetricSet has been created then Fetch will begin to be called periodically. -func init() { - mb.Registry.MustAddMetricSet(aws.ModuleName, metricsetName, New) -} - -// MetricSet holds any configuration or state information. It must implement -// the mb.MetricSet interface. And this is best achieved by embedding -// mb.BaseMetricSet because it implements all of the required mb.MetricSet -// interface methods except for Fetch. -type MetricSet struct { - *aws.MetricSet -} - -// New creates a new instance of the MetricSet. New is responsible for unpacking -// any MetricSet specific configuration options if there are any. -func New(base mb.BaseMetricSet) (mb.MetricSet, error) { - moduleConfig := aws.Config{} - if err := base.Module().UnpackConfig(&moduleConfig); err != nil { - return nil, err - } - - metricSet, err := aws.NewMetricSet(base) - if err != nil { - return nil, errors.Wrap(err, "error creating aws metricset") - } - - // Check if period is set to be multiple of 60s - remainder := int(metricSet.Period.Seconds()) % 60 - if remainder != 0 { - err := errors.New("period needs to be set to 60s (or a multiple of 60s). " + - "To avoid data missing or extra costs, please make sure period is set correctly " + - "in config.yml") - base.Logger().Info(err) - } - - return &MetricSet{ - MetricSet: metricSet, - }, nil -} - -// Fetch methods implements the data gathering and data conversion to the right -// format. It publishes the event which is then forwarded to the output. In case -// of an error set the Error field of mb.Event or simply call report.Error(). -func (m *MetricSet) Fetch(report mb.ReporterV2) error { - namespace := "AWS/S3" - // Get startTime and endTime - startTime, endTime := aws.GetStartTimeEndTime(m.Period, m.Latency) - m.Logger().Debugf("startTime = %s, endTime = %s", startTime, endTime) - - // GetMetricData for AWS S3 from Cloudwatch - for _, regionName := range m.MetricSet.RegionsList { - awsConfig := m.MetricSet.AwsConfig.Copy() - awsConfig.Region = regionName - - svcCloudwatch := cloudwatch.New(awscommon.EnrichAWSConfigWithEndpoint( - m.Endpoint, "monitoring", regionName, awsConfig)) - - listMetricsOutputs, err := aws.GetListMetricsOutput(namespace, regionName, svcCloudwatch) - if err != nil { - m.Logger().Error(err.Error()) - report.Error(err) - continue - } - - if listMetricsOutputs == nil || len(listMetricsOutputs) == 0 { - continue - } - - metricDataQueries := constructMetricQueries(listMetricsOutputs, m.Period) - // This happens when S3 cloudwatch request metrics are not enabled. - if len(metricDataQueries) == 0 { - continue - } - // Use metricDataQueries to make GetMetricData API calls - metricDataOutputs, err := aws.GetMetricDataResults(metricDataQueries, svcCloudwatch, startTime, endTime) - if err != nil { - err = errors.Wrap(err, "GetMetricDataResults failed, skipping region "+regionName) - m.Logger().Error(err.Error()) - report.Error(err) - continue - } - - // Create Cloudwatch Events for s3_request - bucketNames := getBucketNames(listMetricsOutputs) - for _, bucketName := range bucketNames { - event, err := createS3RequestEvents(metricDataOutputs, regionName, bucketName, m.AccountName, m.AccountID) - if err != nil { - m.Logger().Error(err.Error()) - event.Error = err - report.Event(event) - continue - } - - if reported := report.Event(event); !reported { - m.Logger().Debug("Fetch interrupted, failed to emit event") - return nil - } - } - } - - return nil -} - -func getBucketNames(listMetricsOutputs []cloudwatch.Metric) (bucketNames []string) { - for _, output := range listMetricsOutputs { - for _, dim := range output.Dimensions { - if *dim.Name == "BucketName" { - if exists, _ := aws.StringInSlice(*dim.Value, bucketNames); exists { - continue - } - bucketNames = append(bucketNames, *dim.Value) - } - } - } - return -} - -func createMetricDataQuery(metric cloudwatch.Metric, period time.Duration, index int) (metricDataQuery cloudwatch.MetricDataQuery) { - statistic := "Sum" - periodInSec := int64(period.Seconds()) - id := "s3r" + strconv.Itoa(index) - metricDims := metric.Dimensions - bucketName := "" - filterID := "" - for _, dim := range metricDims { - if *dim.Name == "BucketName" { - bucketName = *dim.Value - } else if *dim.Name == "FilterId" { - filterID = *dim.Value - } - } - metricName := *metric.MetricName - label := bucketName + " " + filterID + " " + metricName - metricDataQuery = cloudwatch.MetricDataQuery{ - Id: &id, - MetricStat: &cloudwatch.MetricStat{ - Period: &periodInSec, - Stat: &statistic, - Metric: &metric, - }, - Label: &label, - } - return -} - -func constructMetricQueries(listMetricsOutputs []cloudwatch.Metric, period time.Duration) []cloudwatch.MetricDataQuery { - var metricDataQueries []cloudwatch.MetricDataQuery - metricDataQueryEmpty := cloudwatch.MetricDataQuery{} - dailyMetricNames := []string{"NumberOfObjects", "BucketSizeBytes"} - for i, listMetric := range listMetricsOutputs { - if exists, _ := aws.StringInSlice(*listMetric.MetricName, dailyMetricNames); exists { - continue - } - - metricDataQuery := createMetricDataQuery(listMetric, period, i) - if metricDataQuery == metricDataQueryEmpty { - continue - } - metricDataQueries = append(metricDataQueries, metricDataQuery) - } - return metricDataQueries -} - -// CreateS3Events creates s3_request and s3_daily_storage events from Cloudwatch metric data. -func createS3RequestEvents(outputs []cloudwatch.MetricDataResult, regionName string, bucketName string, accountName string, accountID string) (event mb.Event, err error) { - // AWS s3_request metrics - mapOfMetricSetFieldResults := make(map[string]interface{}) - - // Find a timestamp for all metrics in output - timestamp := aws.FindTimestamp(outputs) - if !timestamp.IsZero() { - for _, output := range outputs { - if len(output.Values) == 0 { - continue - } - exists, timestampIdx := aws.CheckTimestampInArray(timestamp, output.Timestamps) - if exists { - labels := strings.Split(*output.Label, " ") - if labels[0] == bucketName && len(output.Values) > timestampIdx { - mapOfMetricSetFieldResults[labels[2]] = fmt.Sprint(output.Values[timestampIdx]) - } - } - } - } - - resultMetricSetFields, err := aws.EventMapping(mapOfMetricSetFieldResults, schemaMetricSetFields) - if err != nil { - err = errors.Wrap(err, "Error trying to apply schema schemaMetricSetFields in AWS s3_request metricbeat module.") - return - } - - event = aws.InitEvent(regionName, accountName, accountID, timestamp) - event.MetricSetFields = resultMetricSetFields - event.RootFields.Put("aws.s3.bucket.name", bucketName) - return -} diff --git a/x-pack/metricbeat/module/aws/s3_request/s3_request_integration_test.go b/x-pack/metricbeat/module/aws/s3_request/s3_request_integration_test.go index eeae8439f1f..8103acd13a4 100644 --- a/x-pack/metricbeat/module/aws/s3_request/s3_request_integration_test.go +++ b/x-pack/metricbeat/module/aws/s3_request/s3_request_integration_test.go @@ -17,7 +17,7 @@ import ( ) func TestFetch(t *testing.T) { - config := mtest.GetConfigForTest(t, "s3_request", "86400s") + config := mtest.GetConfigForTest(t, "s3_request", "60s") metricSet := mbtest.NewReportingMetricSetV2Error(t, config) events, errs := mbtest.ReportingFetchV2Error(metricSet) @@ -28,36 +28,31 @@ func TestFetch(t *testing.T) { assert.NotEmpty(t, events) for _, event := range events { - // RootField - mtest.CheckEventField("service.name", "string", event, t) mtest.CheckEventField("cloud.region", "string", event, t) - - // MetricSetField - mtest.CheckEventField("bucket.name", "string", event, t) - mtest.CheckEventField("requests.total", "int", event, t) - mtest.CheckEventField("requests.get", "int", event, t) - mtest.CheckEventField("requests.put", "int", event, t) - mtest.CheckEventField("requests.delete", "int", event, t) - mtest.CheckEventField("requests.head", "int", event, t) - mtest.CheckEventField("requests.post", "int", event, t) - mtest.CheckEventField("select.requests", "int", event, t) - mtest.CheckEventField("select_scanned.bytes", "float", event, t) - mtest.CheckEventField("select_returned.bytes", "float", event, t) - mtest.CheckEventField("requests.list", "int", event, t) - mtest.CheckEventField("downloaded.bytes", "float", event, t) - mtest.CheckEventField("uploaded.bytes", "float", event, t) - mtest.CheckEventField("errors.4xx", "int", event, t) - mtest.CheckEventField("errors.5xx", "int", event, t) - mtest.CheckEventField("latency.first_byte.ms", "float", event, t) - mtest.CheckEventField("latency.total_request.ms", "float", event, t) + mtest.CheckEventField("aws.dimensions.BucketName", "string", event, t) + mtest.CheckEventField("aws.dimensions.StorageType", "string", event, t) + mtest.CheckEventField("s3.metrics.AllRequests.avg", "int", event, t) + mtest.CheckEventField("s3.metrics.GetRequests.avg", "int", event, t) + mtest.CheckEventField("s3.metrics.PutRequests.avg", "int", event, t) + mtest.CheckEventField("s3.metrics.DeleteRequests.avg", "int", event, t) + mtest.CheckEventField("s3.metrics.HeadRequests.avg", "int", event, t) + mtest.CheckEventField("s3.metrics.PostRequests.avg", "int", event, t) + mtest.CheckEventField("s3.metrics.SelectRequests.avg", "int", event, t) + mtest.CheckEventField("s3.metrics.SelectScannedBytes.avg", "float", event, t) + mtest.CheckEventField("s3.metrics.SelectReturnedBytes.avg", "float", event, t) + mtest.CheckEventField("s3.metrics.ListRequests.avg", "int", event, t) + mtest.CheckEventField("s3.metrics.BytesDownloaded.avg", "float", event, t) + mtest.CheckEventField("s3.metrics.BytesUploaded.avg", "float", event, t) + mtest.CheckEventField("s3.metrics.4xxErrors.avg", "int", event, t) + mtest.CheckEventField("s3.metrics.5xxErrors.avg", "int", event, t) + mtest.CheckEventField("s3.metrics.FirstByteLatency.avg", "float", event, t) + mtest.CheckEventField("s3.metrics.TotalRequestLatency.avg", "float", event, t) } } func TestData(t *testing.T) { - config := mtest.GetConfigForTest(t, "s3_request", "86400s") + config := mtest.GetConfigForTest(t, "s3_request", "60s") - metricSet := mbtest.NewReportingMetricSetV2Error(t, config) - if err := mbtest.WriteEventsReporterV2Error(metricSet, t, "/"); err != nil { - t.Fatal("write", err) - } + metricSet := mbtest.NewFetcher(t, config) + metricSet.WriteEvents(t, "/") } diff --git a/x-pack/metricbeat/module/aws/s3_request/s3_request_test.go b/x-pack/metricbeat/module/aws/s3_request/s3_request_test.go new file mode 100644 index 00000000000..41098399024 --- /dev/null +++ b/x-pack/metricbeat/module/aws/s3_request/s3_request_test.go @@ -0,0 +1,21 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package s3_request + +import ( + "os" + + "github.com/elastic/beats/v7/metricbeat/mb" + + // Register input module and metricset + _ "github.com/elastic/beats/v7/x-pack/metricbeat/module/aws" + _ "github.com/elastic/beats/v7/x-pack/metricbeat/module/aws/cloudwatch" +) + +func init() { + // To be moved to some kind of helper + os.Setenv("BEAT_STRICT_PERMS", "false") + mb.Registry.SetSecondarySource(mb.NewLightModulesSource("../../../module")) +} From ace440f4736e6d969595ad1010b197d051e8fe77 Mon Sep 17 00:00:00 2001 From: DeDe Morton Date: Wed, 14 Oct 2020 16:33:58 -0700 Subject: [PATCH 25/29] Update endpoint-related terminology in Elastic Agent docs (#21458) --- x-pack/elastic-agent/docs/install-elastic-agent.asciidoc | 2 +- x-pack/elastic-agent/docs/tab-widgets/run.asciidoc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/elastic-agent/docs/install-elastic-agent.asciidoc b/x-pack/elastic-agent/docs/install-elastic-agent.asciidoc index d8dfd49d5c4..69a04b01f9e 100644 --- a/x-pack/elastic-agent/docs/install-elastic-agent.asciidoc +++ b/x-pack/elastic-agent/docs/install-elastic-agent.asciidoc @@ -94,7 +94,7 @@ rm /Library/Launchdaemons/co.elastic.agent.plist . <>. + Unenrolling the agent should stop {agent} and any other programs started by -the agent, such as Elastic {endpoint-sec} and data shippers. +the agent, such as {elastic-sec} and data shippers. . If necessary, manually kill the `elastic-agent` process and any other processes started by the agent. diff --git a/x-pack/elastic-agent/docs/tab-widgets/run.asciidoc b/x-pack/elastic-agent/docs/tab-widgets/run.asciidoc index 569ea013236..727b2371cf4 100644 --- a/x-pack/elastic-agent/docs/tab-widgets/run.asciidoc +++ b/x-pack/elastic-agent/docs/tab-widgets/run.asciidoc @@ -92,7 +92,7 @@ cd 'C:\Program Files\Elastic-Agent' .\install-service-elastic-agent.ps1 <1> <2> ---- <1> You must run {agent} under the SYSTEM account if you plan -to use the {elastic-endpoint} integration. +to use the {elastic-endpoint-integration} integration. <2> If script execution is disabled on your system, set the execution policy for the current session to allow the script to run. For example: `PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-elastic-agent.ps1`. From 471df0bf0f0d241743953dc8efe1ea74ece04a09 Mon Sep 17 00:00:00 2001 From: Marc Guasch Date: Thu, 15 Oct 2020 09:53:23 +0200 Subject: [PATCH 26/29] [Filebeat][httpjson] Fix date_cursor validation (#21756) * Fix date_cursor validation * Only check for parse errors --- x-pack/filebeat/input/httpjson/config.go | 9 +++++++-- x-pack/filebeat/input/httpjson/config_test.go | 2 -- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/x-pack/filebeat/input/httpjson/config.go b/x-pack/filebeat/input/httpjson/config.go index ee1445b8a3d..6384811aaa4 100644 --- a/x-pack/filebeat/input/httpjson/config.go +++ b/x-pack/filebeat/input/httpjson/config.go @@ -125,10 +125,15 @@ func (dc *dateCursorConfig) Validate() error { if dc.DateFormat == "" { return nil } - now := time.Now().Format(dc.DateFormat) - if _, err := time.Parse(dc.DateFormat, now); err != nil { + + const knownTimestamp = 1602601228 // 2020-10-13T15:00:28+00:00 RFC3339 + knownDate := time.Unix(knownTimestamp, 0).UTC() + + dateStr := knownDate.Format(dc.DateFormat) + if _, err := time.Parse(dc.DateFormat, dateStr); err != nil { return errors.New("invalid configuration: date_format is not a valid date layout") } + return nil } diff --git a/x-pack/filebeat/input/httpjson/config_test.go b/x-pack/filebeat/input/httpjson/config_test.go index 1986ee7abe9..85c7c64848d 100644 --- a/x-pack/filebeat/input/httpjson/config_test.go +++ b/x-pack/filebeat/input/httpjson/config_test.go @@ -362,7 +362,6 @@ func TestConfigOauth2Validation(t *testing.T) { "url": "localhost", }, }, - /* Flaky test: https://github.com/elastic/beats/issues/21748 { name: "date_cursor.date_format will fail if invalid", expectedErr: "invalid configuration: date_format is not a valid date layout accessing 'date_cursor'", @@ -371,7 +370,6 @@ func TestConfigOauth2Validation(t *testing.T) { "url": "localhost", }, }, - */ { name: "date_cursor must work with a valid date_format", input: map[string]interface{}{ From fc10f069a30f5b54fd0b9aaaed6c56f93ee56e0e Mon Sep 17 00:00:00 2001 From: Chris Mark Date: Thu, 15 Oct 2020 10:54:12 +0300 Subject: [PATCH 27/29] Add proxy metricset (#21751) --- CHANGELOG.next.asciidoc | 1 + .../docs/images/metricbeat-istio-overview.png | Bin 187983 -> 198266 bytes .../docs/images/metricbeat-istio-traffic.png | Bin 0 -> 267742 bytes metricbeat/docs/modules/istio.asciidoc | 36 +- metricbeat/docs/modules/istio/istiod.asciidoc | 18 + metricbeat/docs/modules/istio/proxy.asciidoc | 18 + metricbeat/docs/modules_list.asciidoc | 4 +- x-pack/metricbeat/metricbeat.reference.yml | 7 + .../module/istio/_meta/config.reference.yml | 7 + .../metricbeat/module/istio/_meta/config.yml | 7 + .../module/istio/_meta/docs.asciidoc | 21 +- .../dashboard/Metricbeat-istio-overview.json | 3486 +++++++++-------- .../7/dashboard/Metricbeat-istio-traffic.json | 1274 ++++++ x-pack/metricbeat/module/istio/fields.go | 2 +- .../_meta/{docs.ascoodoc => docs.asciidoc} | 0 .../module/istio/istiod/_meta/fields.yml | 5 +- x-pack/metricbeat/module/istio/module.yml | 1 + .../module/istio/proxy/_meta/docs.asciidoc | 33 + .../module/istio/proxy/_meta/fields.yml | 4 + .../istio/proxy/_meta/testdata/config.yml | 5 + .../proxy/_meta/testdata/proxy.v1.7.1.plain | 1146 ++++++ .../testdata/proxy.v1.7.1.plain-expected.json | 1365 +++++++ .../module/istio/proxy/manifest.yml | 11 + .../module/istio/proxy/proxy_test.go | 32 + .../metricbeat/modules.d/istio.yml.disabled | 7 + 25 files changed, 5767 insertions(+), 1723 deletions(-) create mode 100644 metricbeat/docs/images/metricbeat-istio-traffic.png create mode 100644 metricbeat/docs/modules/istio/istiod.asciidoc create mode 100644 metricbeat/docs/modules/istio/proxy.asciidoc create mode 100644 x-pack/metricbeat/module/istio/_meta/kibana/7/dashboard/Metricbeat-istio-traffic.json rename x-pack/metricbeat/module/istio/istiod/_meta/{docs.ascoodoc => docs.asciidoc} (100%) create mode 100644 x-pack/metricbeat/module/istio/proxy/_meta/docs.asciidoc create mode 100644 x-pack/metricbeat/module/istio/proxy/_meta/fields.yml create mode 100644 x-pack/metricbeat/module/istio/proxy/_meta/testdata/config.yml create mode 100644 x-pack/metricbeat/module/istio/proxy/_meta/testdata/proxy.v1.7.1.plain create mode 100644 x-pack/metricbeat/module/istio/proxy/_meta/testdata/proxy.v1.7.1.plain-expected.json create mode 100644 x-pack/metricbeat/module/istio/proxy/manifest.yml create mode 100644 x-pack/metricbeat/module/istio/proxy/proxy_test.go diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 28e66a63034..37a3366318f 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -464,6 +464,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Add istiod metricset. {pull}21519[21519] - Release `add_cloudfoundry_metadata` as GA. {pull}21525[21525] - Add support for OpenStack SSL metadata APIs in `add_cloud_metadata`. {pull}21590[21590] +- Add proxy metricset for istio module. {pull}21751[21751] *Auditbeat* diff --git a/metricbeat/docs/images/metricbeat-istio-overview.png b/metricbeat/docs/images/metricbeat-istio-overview.png index 139fe9260d49bd0d0034ad292987f67be37468ce..87151a70e73bf31750e55719311edee41c81afc0 100644 GIT binary patch literal 198266 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�$y|mL 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�)!0&tU;~T5q=NGJC@b*1d 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 diff --git a/metricbeat/docs/images/metricbeat-istio-traffic.png b/metricbeat/docs/images/metricbeat-istio-traffic.png new file mode 100644 index 0000000000000000000000000000000000000000..ff706b4c66bcd887759bb4e7d84c02e03b515136 GIT binary patch literal 267742 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%0AIu)EvjEUP?a@}8={C|cdilQk zEoW8hi=MOykI1!I|v#!UMrF^U#aF=!Uk(qs#;H&{&DQ=@^RSW-hBn6_# zlmQUFLcHVxw%@wF!h~g@LTg{Thop46XB1ggc)Kq+Iu7kqqOR%9j$L2$wV9-XVVP7y zWaC9J9K><$n{Y+SymxesPfgTxB62gPLe`8MbQkXlFU>O|UX?=5mm`3svJ8yz;XXI( zgl!dX^7{=B*WTpj;9Pvu&AJ*J+Y9EBRO$_GSk>Bm7{o#jbOmJ&sF3mX`cbgczYQHr zo<=Eh)I{4MXYvq!>}eXekRcDSrjy2!=@WTSv?o3VTWC1x2xz4@6Oyg%FoTw)CsZKO z>Q7enm@F^~?U(Wdv)a>n=<^TMD$RE}u~U?__R0c^0~%m$>WYef6lnKh#|`)rIZQj6 z7-iquP6))C6}pv{^Tl7|k)dAo*3p@LzYc!KTTz-a-Qg;pTzx;OVAGjp)Q&UOMOaV6 zL1Y%*%wWka$m-dQy~~dRP(@wcFr>wkIl$g@Ly=Pb1_(*Ky+3`y7fHFrad}#+4Eb%t z>t_H#0A936`Cy)O#Z~S0N;zSF)hI2aQB{Go)~Q40v06|hb-vw!)UxZGRpjFRl@d0; z6})T3?6D_k3`vAm=<%z}#zTdf?KdEh?}8|1|1D-PM$mySlTw3K{cT9?w}5Ag#6femuX8H-;mX#+M{a$O`zU z+{S>X!0QtGx6ZHck`yTcIIZ_qgQOYZU{&p#9ZsI)pG_+ZuYhIVpp)5D!OEfSFWx0=q5r=jH!iW%x%Kf|(3B-CwX2=YMti@7VW6 zE=idpqJLcGfBuU8>i%>DHot#NC;L}z|KEu#|6jMRLlI2=e%$hZ0K!FOfP(SH6f?zt z<81vdNRg8R*$hSrM8)`j_q>TfKgv+4p2Yv^Y;kemabN3K77zcm92_t*{FmtjHhs+Z zZLjlt_b_8dlopL%hkuA4Lyfp$f9xtG3V{}$&^DOBep2^`tm61z9UFkOBzvPTRMmRh zvc)}+n11abrgK1FmU#U23;l^r>q+hm+U_^yyucuanu7B3a_4HG#fa;C#^&kI7Pp(L z?yMv?8ih=$5CC^mVPR#(@bNR2Y55q9_3ymE&ylci_RJ$^d&C}^1cCZo8M$e5!eHhf zd_uu|L|)*M)&Q{9dpsym7NypAz1c zPiTcH$nYsi|gZ+u1XM zH?q?Fm->KTvp8W;VMzp?O&uMyqV-ZlX{6Es#IlQU|^ir_&)4)_e`}-`O>o<<}lQ;-=&lSa{#2S z2Q@#%MrbhSC;`Sk)FaUfi|^0XpALI%KRdP99L}&FQ&cwgo&(Z1D%k_Gsgk$%fXO|2 zwc5+rI0}`$!#A%IvbM2V1)g(4;w=?MKm-{b7NpEL4a?>3-2E=AbRNK*R{=06Z2s={ zTrEUZPL6cm4O(!E3wI9~qu{cL-p5(n%tiwQ#UiUp}zx;82qvrP(EZGCGNgi$7y{N&n?(P

F=kDt-jm4(EUc@xFY~8?V2t(d5R>w;~6@- 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 HuE+lYfNQ8X literal 0 HcmV?d00001 diff --git a/metricbeat/docs/modules/istio.asciidoc b/metricbeat/docs/modules/istio.asciidoc index bfda2a9588d..c80e2d84c09 100644 --- a/metricbeat/docs/modules/istio.asciidoc +++ b/metricbeat/docs/modules/istio.asciidoc @@ -11,9 +11,12 @@ beta[] This is the Istio module. This module is compatible with versions before `1.5` of Istio where microservices architecture is used. If using versions priot to `1.5` then `mesh`, `mixer`, `pilot`, `galley`, `citadel` metricsets should be used. -wehre the Istio module collects metrics from the +where the Istio module collects metrics from the Istio https://istio.io/v1.4/docs/tasks/observability/metrics/querying-metrics/#about-the-prometheus-add-on[prometheus exporters endpoints]. -For versions after `1.5`, `istiod` metricset can be used which collects metrics directly from Istio Daemon. + +For versions after `1.5`, `istiod` and `proxy` metricsets can be used. + +`istiod` collects metrics directly from Istio Daemon while `proxy` collects from each of the proxy sidecars. The default metricsets are `mesh`, `mixer`, `pilot`, `galley`, `citadel`. @@ -21,16 +24,24 @@ The default metricsets are `mesh`, `mixer`, `pilot`, `galley`, `citadel`. === Compatibility The Istio module is tested with Istio `1.4` for `mesh`, `mixer`, `pilot`, `galley`, `citadel`. -The Istio module is tested with Istio `1.7` for `istiod`. +The Istio module is tested with Istio `1.7` for `istiod` and `proxy`. [float] === Dashboard -The Istio module includes a predefined dashboard with overview information about Istio Daemon. -This dashboard is only compatible with versions of Istio after `1.5` which should be monitored with `istiod` metricset. +The Istio module includes predefined dashboards: + +1. overview information about Istio Daemon. + +2. Traffic information collected from istio-proxies. + +These dashboards are only compatible with versions of Istio after `1.5` which should be monitored with `istiod` +and `proxy` metricsets. image::./images/metricbeat-istio-overview.png[] +image::./images/metricbeat-istio-traffic.png[] + [float] === Example configuration @@ -82,6 +93,13 @@ metricbeat.modules: period: 10s # use istiod.istio-system:15014, when deploying Metricbeat in a kubernetes cluster as Pod or Daemonset hosts: ['localhost:15014'] + +# Istio proxy to monitor Envoy sidecars for versions after 1.5 of Istio. +- module: istio + metricsets: ['proxy'] + period: 10s + # it's recommended to deploy this metricset with autodiscovery, see metricset's docs for more info + hosts: ['localhost:15090'] ---- [float] @@ -93,19 +111,27 @@ The following metricsets are available: * <> +* <> + * <> * <> * <> +* <> + include::istio/citadel.asciidoc[] include::istio/galley.asciidoc[] +include::istio/istiod.asciidoc[] + include::istio/mesh.asciidoc[] include::istio/mixer.asciidoc[] include::istio/pilot.asciidoc[] +include::istio/proxy.asciidoc[] + diff --git a/metricbeat/docs/modules/istio/istiod.asciidoc b/metricbeat/docs/modules/istio/istiod.asciidoc new file mode 100644 index 00000000000..c13ab7e5244 --- /dev/null +++ b/metricbeat/docs/modules/istio/istiod.asciidoc @@ -0,0 +1,18 @@ +//// +This file is generated! See scripts/mage/docs_collector.go +//// + +[[metricbeat-metricset-istio-istiod]] +[role="xpack"] +=== Istio istiod metricset + +beta[] + +include::../../../../x-pack/metricbeat/module/istio/istiod/_meta/docs.asciidoc[] + + +==== Fields + +For a description of each field in the metricset, see the +<> section. + diff --git a/metricbeat/docs/modules/istio/proxy.asciidoc b/metricbeat/docs/modules/istio/proxy.asciidoc new file mode 100644 index 00000000000..71f5fd2b891 --- /dev/null +++ b/metricbeat/docs/modules/istio/proxy.asciidoc @@ -0,0 +1,18 @@ +//// +This file is generated! See scripts/mage/docs_collector.go +//// + +[[metricbeat-metricset-istio-proxy]] +[role="xpack"] +=== Istio proxy metricset + +beta[] + +include::../../../../x-pack/metricbeat/module/istio/proxy/_meta/docs.asciidoc[] + + +==== Fields + +For a description of each field in the metricset, see the +<> section. + diff --git a/metricbeat/docs/modules_list.asciidoc b/metricbeat/docs/modules_list.asciidoc index 1bc81071e76..530958eb8f3 100644 --- a/metricbeat/docs/modules_list.asciidoc +++ b/metricbeat/docs/modules_list.asciidoc @@ -133,11 +133,13 @@ This file is generated! See scripts/mage/docs_collector.go |<> beta[] |<> beta[] |<> beta[] |image:./images/icon-yes.png[Prebuilt dashboards are available] | -.5+| .5+| |<> beta[] +.7+| .7+| |<> beta[] |<> beta[] +|<> beta[] |<> beta[] |<> beta[] |<> beta[] +|<> beta[] |<> |image:./images/icon-no.png[No prebuilt dashboards] | .1+| .1+| |<> |<> |image:./images/icon-yes.png[Prebuilt dashboards are available] | diff --git a/x-pack/metricbeat/metricbeat.reference.yml b/x-pack/metricbeat/metricbeat.reference.yml index 41552410a38..ef7f167940e 100644 --- a/x-pack/metricbeat/metricbeat.reference.yml +++ b/x-pack/metricbeat/metricbeat.reference.yml @@ -701,6 +701,13 @@ metricbeat.modules: # use istiod.istio-system:15014, when deploying Metricbeat in a kubernetes cluster as Pod or Daemonset hosts: ['localhost:15014'] +# Istio proxy to monitor Envoy sidecars for versions after 1.5 of Istio. +- module: istio + metricsets: ['proxy'] + period: 10s + # it's recommended to deploy this metricset with autodiscovery, see metricset's docs for more info + hosts: ['localhost:15090'] + #------------------------------- Jolokia Module ------------------------------- - module: jolokia #metricsets: ["jmx"] diff --git a/x-pack/metricbeat/module/istio/_meta/config.reference.yml b/x-pack/metricbeat/module/istio/_meta/config.reference.yml index 146728fdfcd..7efe2adea30 100644 --- a/x-pack/metricbeat/module/istio/_meta/config.reference.yml +++ b/x-pack/metricbeat/module/istio/_meta/config.reference.yml @@ -39,3 +39,10 @@ period: 10s # use istiod.istio-system:15014, when deploying Metricbeat in a kubernetes cluster as Pod or Daemonset hosts: ['localhost:15014'] + +# Istio proxy to monitor Envoy sidecars for versions after 1.5 of Istio. +- module: istio + metricsets: ['proxy'] + period: 10s + # it's recommended to deploy this metricset with autodiscovery, see metricset's docs for more info + hosts: ['localhost:15090'] diff --git a/x-pack/metricbeat/module/istio/_meta/config.yml b/x-pack/metricbeat/module/istio/_meta/config.yml index 146728fdfcd..7efe2adea30 100644 --- a/x-pack/metricbeat/module/istio/_meta/config.yml +++ b/x-pack/metricbeat/module/istio/_meta/config.yml @@ -39,3 +39,10 @@ period: 10s # use istiod.istio-system:15014, when deploying Metricbeat in a kubernetes cluster as Pod or Daemonset hosts: ['localhost:15014'] + +# Istio proxy to monitor Envoy sidecars for versions after 1.5 of Istio. +- module: istio + metricsets: ['proxy'] + period: 10s + # it's recommended to deploy this metricset with autodiscovery, see metricset's docs for more info + hosts: ['localhost:15090'] diff --git a/x-pack/metricbeat/module/istio/_meta/docs.asciidoc b/x-pack/metricbeat/module/istio/_meta/docs.asciidoc index cfba8ec7ce8..f3b1825a9b1 100644 --- a/x-pack/metricbeat/module/istio/_meta/docs.asciidoc +++ b/x-pack/metricbeat/module/istio/_meta/docs.asciidoc @@ -1,9 +1,12 @@ This is the Istio module. This module is compatible with versions before `1.5` of Istio where microservices architecture is used. If using versions priot to `1.5` then `mesh`, `mixer`, `pilot`, `galley`, `citadel` metricsets should be used. -wehre the Istio module collects metrics from the +where the Istio module collects metrics from the Istio https://istio.io/v1.4/docs/tasks/observability/metrics/querying-metrics/#about-the-prometheus-add-on[prometheus exporters endpoints]. -For versions after `1.5`, `istiod` metricset can be used which collects metrics directly from Istio Daemon. + +For versions after `1.5`, `istiod` and `proxy` metricsets can be used. + +`istiod` collects metrics directly from Istio Daemon while `proxy` collects from each of the proxy sidecars. The default metricsets are `mesh`, `mixer`, `pilot`, `galley`, `citadel`. @@ -11,12 +14,20 @@ The default metricsets are `mesh`, `mixer`, `pilot`, `galley`, `citadel`. === Compatibility The Istio module is tested with Istio `1.4` for `mesh`, `mixer`, `pilot`, `galley`, `citadel`. -The Istio module is tested with Istio `1.7` for `istiod`. +The Istio module is tested with Istio `1.7` for `istiod` and `proxy`. [float] === Dashboard -The Istio module includes a predefined dashboard with overview information about Istio Daemon. -This dashboard is only compatible with versions of Istio after `1.5` which should be monitored with `istiod` metricset. +The Istio module includes predefined dashboards: + +1. overview information about Istio Daemon. + +2. Traffic information collected from istio-proxies. + +These dashboards are only compatible with versions of Istio after `1.5` which should be monitored with `istiod` +and `proxy` metricsets. image::./images/metricbeat-istio-overview.png[] + +image::./images/metricbeat-istio-traffic.png[] diff --git a/x-pack/metricbeat/module/istio/_meta/kibana/7/dashboard/Metricbeat-istio-overview.json b/x-pack/metricbeat/module/istio/_meta/kibana/7/dashboard/Metricbeat-istio-overview.json index 72b995c2382..ce73d05972b 100644 --- a/x-pack/metricbeat/module/istio/_meta/kibana/7/dashboard/Metricbeat-istio-overview.json +++ b/x-pack/metricbeat/module/istio/_meta/kibana/7/dashboard/Metricbeat-istio-overview.json @@ -1,1762 +1,1828 @@ { - "objects": [ - { - "attributes": { - "description": "Overview of the Istiod Service status", - "hits": 0, - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "optionsJSON": { - "hidePanelTitles": false, - "useMargins": true - }, - "panelsJSON": [ - { - "embeddableConfig": { - "title": "Pilot Proxy Queue Time" - }, - "gridData": { - "h": 9, - "i": "cd1bbc4f-95de-4156-a3ef-c091cf6402c0", - "w": 12, - "x": 0, - "y": 0 - }, - "panelIndex": "cd1bbc4f-95de-4156-a3ef-c091cf6402c0", - "panelRefName": "panel_0", - "title": "Pilot Proxy Queue Time", - "version": "7.8.0" - }, - { - "embeddableConfig": { - "title": "Pilot xds Push Time" - }, - "gridData": { - "h": 9, - "i": "06af11e6-e026-48db-a06b-b34b402b535b", - "w": 12, - "x": 12, - "y": 0 - }, - "panelIndex": "06af11e6-e026-48db-a06b-b34b402b535b", - "panelRefName": "panel_1", - "title": "Pilot xds Push Time", - "version": "7.8.0" - }, - { - "embeddableConfig": { - "title": "Pilot xds Pushes" - }, - "gridData": { - "h": 9, - "i": "d9a49bf0-f88b-4d4f-a1e2-74fbd482f77c", - "w": 11, - "x": 24, - "y": 0 - }, - "panelIndex": "d9a49bf0-f88b-4d4f-a1e2-74fbd482f77c", - "panelRefName": "panel_2", - "title": "Pilot xds Pushes", - "version": "7.8.0" - }, - { - "embeddableConfig": { - "title": "Pilot Inbound Updates" - }, - "gridData": { - "h": 9, - "i": "a8e47ef0-03db-419f-890f-0880d674682c", - "w": 13, - "x": 35, - "y": 0 - }, - "panelIndex": "a8e47ef0-03db-419f-890f-0880d674682c", - "panelRefName": "panel_3", - "title": "Pilot Inbound Updates", - "version": "7.8.0" - }, - { - "embeddableConfig": { - "title": "Citadel Cert Issuane" - }, - "gridData": { - "h": 9, - "i": "e708abfa-5a95-483c-9bb2-4470ee913f3c", - "w": 12, - "x": 0, - "y": 9 - }, - "panelIndex": "e708abfa-5a95-483c-9bb2-4470ee913f3c", - "panelRefName": "panel_4", - "title": "Citadel Cert Issuane", - "version": "7.8.0" - }, - { - "embeddableConfig": { - "title": "Galley Validation Failed" - }, - "gridData": { - "h": 9, - "i": "724f0f9e-2186-4ddd-859c-edb2649b8c0f", - "w": 12, - "x": 12, - "y": 9 - }, - "panelIndex": "724f0f9e-2186-4ddd-859c-edb2649b8c0f", - "panelRefName": "panel_5", - "title": "Galley Validation Failed", - "version": "7.8.0" - }, - { - "embeddableConfig": { - "title": "Pods witout IP", - "vis": null - }, - "gridData": { - "h": 9, - "i": "32eaa989-a4f9-4d31-97cb-684f31488aa8", - "w": 8, - "x": 24, - "y": 9 - }, - "panelIndex": "32eaa989-a4f9-4d31-97cb-684f31488aa8", - "panelRefName": "panel_6", - "title": "Pods witout IP", - "version": "7.8.0" - }, - { - "embeddableConfig": { - "title": "Pilot Virtual Services", - "vis": null - }, - "gridData": { - "h": 9, - "i": "6a8463fe-b7cb-4cd8-bf01-f7ca6a185178", - "w": 8, - "x": 32, - "y": 9 - }, - "panelIndex": "6a8463fe-b7cb-4cd8-bf01-f7ca6a185178", - "panelRefName": "panel_7", - "title": "Pilot Virtual Services", - "version": "7.8.0" - }, - { - "embeddableConfig": { - "title": "Pilot Services", - "vis": null - }, - "gridData": { - "h": 9, - "i": "51ecc2f8-3c3f-4a80-b4b6-b52db10e68ad", - "w": 8, - "x": 40, - "y": 9 - }, - "panelIndex": "51ecc2f8-3c3f-4a80-b4b6-b52db10e68ad", - "panelRefName": "panel_8", - "title": "Pilot Services", - "version": "7.8.0" - }, - { - "embeddableConfig": { - "title": "Pilot Conflict Inbound Listener", - "vis": null - }, - "gridData": { - "h": 9, - "i": "0a63d980-8d93-4ce1-b5a1-ab77e589ceec", - "w": 9, - "x": 0, - "y": 18 - }, - "panelIndex": "0a63d980-8d93-4ce1-b5a1-ab77e589ceec", - "panelRefName": "panel_9", - "title": "Pilot Conflict Inbound Listener", - "version": "7.8.0" - }, - { - "embeddableConfig": { - "title": "Pilot eds instances", - "vis": null - }, - "gridData": { - "h": 9, - "i": "9fbfca4c-37b5-4a1a-924e-49fc9ef2294c", - "w": 10, - "x": 9, - "y": 18 - }, - "panelIndex": "9fbfca4c-37b5-4a1a-924e-49fc9ef2294c", - "panelRefName": "panel_10", - "title": "Pilot eds instances", - "version": "7.8.0" - }, - { - "embeddableConfig": { - "title": "Pilot xds endpoints" - }, - "gridData": { - "h": 9, - "i": "d6b2845f-9582-4863-853e-ab753f3d763e", - "w": 14, - "x": 19, - "y": 18 - }, - "panelIndex": "d6b2845f-9582-4863-853e-ab753f3d763e", - "panelRefName": "panel_11", - "title": "Pilot xds endpoints", - "version": "7.8.0" - }, - { - "embeddableConfig": { - "title": "Pilot xds expired" - }, - "gridData": { - "h": 9, - "i": "3d0dec37-26c3-490b-a45f-48b6d1baa160", - "w": 15, - "x": 33, - "y": 18 - }, - "panelIndex": "3d0dec37-26c3-490b-a45f-48b6d1baa160", - "panelRefName": "panel_12", - "title": "Pilot xds expired", - "version": "7.8.0" - } - ], - "timeRestore": false, - "title": "[Metricbeat Istio] Overview", - "version": 1 + "objects": [ + { + "attributes": { + "description": "Overview of the Istiod Service status", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "title": "" }, - "id": "d899d3f0-0883-11eb-a3fd-1b45ec532bb3", - "migrationVersion": { - "dashboard": "7.3.0" + "gridData": { + "h": 3, + "i": "3ab7d813-a0b5-48b8-9c10-5ac962a4177c", + "w": 12, + "x": 0, + "y": 0 }, - "references": [ - { - "id": "dd1392f0-07d8-11eb-a3fd-1b45ec532bb3", - "name": "panel_0", - "type": "visualization" - }, - { - "id": "b5b3abb0-087c-11eb-a3fd-1b45ec532bb3", - "name": "panel_1", - "type": "visualization" - }, - { - "id": "f858c200-087e-11eb-a3fd-1b45ec532bb3", - "name": "panel_2", - "type": "visualization" - }, - { - "id": "aa997510-087d-11eb-a3fd-1b45ec532bb3", - "name": "panel_3", - "type": "visualization" - }, - { - "id": "506c8490-087f-11eb-a3fd-1b45ec532bb3", - "name": "panel_4", - "type": "visualization" - }, - { - "id": "98b01f00-087f-11eb-a3fd-1b45ec532bb3", - "name": "panel_5", - "type": "visualization" - }, - { - "id": "4275f710-0882-11eb-a3fd-1b45ec532bb3", - "name": "panel_6", - "type": "visualization" - }, - { - "id": "96bfe060-0882-11eb-a3fd-1b45ec532bb3", - "name": "panel_7", - "type": "visualization" - }, - { - "id": "6cfbe3f0-0882-11eb-a3fd-1b45ec532bb3", - "name": "panel_8", - "type": "visualization" - }, - { - "id": "d62a1e60-0881-11eb-a3fd-1b45ec532bb3", - "name": "panel_9", - "type": "visualization" - }, - { - "id": "12cdcce0-0882-11eb-a3fd-1b45ec532bb3", - "name": "panel_10", - "type": "visualization" - }, - { - "id": "e5f3e870-0882-11eb-a3fd-1b45ec532bb3", - "name": "panel_11", - "type": "visualization" - }, - { - "id": "0ed17c80-0883-11eb-a3fd-1b45ec532bb3", - "name": "panel_12", - "type": "visualization" - } - ], - "type": "dashboard", - "updated_at": "2020-10-07T10:23:52.518Z", - "version": "WzQ0OTIsMV0=" - }, - { - "attributes": { - "description": "Time in seconds, a proxy is in the push queue before being dequeued.", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "Pilot Proxy Queue Time [Metricbeat Istio]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [], - "params": { - "axis_formatter": "number", - "axis_min": 0, - "axis_position": "left", - "axis_scale": "normal", - "default_index_pattern": "metricbeat-*", - "default_timefield": "@timestamp", - "filter": { - "language": "kuery", - "query": "" - }, - "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", - "index_pattern": "metricbeat-*", - "interval": "auto", - "isModelInvalid": false, - "series": [ - { - "axis_position": "right", - "chart_type": "line", - "color": "#6092C0", - "fill": 0, - "formatter": "number", - "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", - "label": "queue_time", - "line_width": 2, - "metrics": [ - { - "field": "prometheus.pilot_proxy_queue_time.histogram.values", - "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", - "percentiles": [ - { - "id": "88c0d000-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "25" - }, - { - "id": "03ef6580-0887-11eb-876a-9d8e5e94d2f5", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "50" - }, - { - "id": "071fe4f0-0887-11eb-876a-9d8e5e94d2f5", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "75" - }, - { - "id": "0b7164c0-0887-11eb-876a-9d8e5e94d2f5", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "90" - }, - { - "id": "0f611580-0887-11eb-876a-9d8e5e94d2f5", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "95" - }, - { - "id": "136f98e0-0887-11eb-876a-9d8e5e94d2f5", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "99" - } - ], - "type": "percentile" - } - ], - "point_size": 0, - "separate_axis": 0, - "split_mode": "everything", - "stacked": "none", - "type": "timeseries", - "value_template": "{{value}}" - } - ], - "show_grid": 1, - "show_legend": 1, - "time_field": "@timestamp", - "type": "timeseries" - }, - "title": "Pilot Proxy Queue Time [Metricbeat Istio]", - "type": "metrics" - } + "panelIndex": "3ab7d813-a0b5-48b8-9c10-5ac962a4177c", + "panelRefName": "panel_0", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "title": "Pilot xds Push Time" }, - "id": "dd1392f0-07d8-11eb-a3fd-1b45ec532bb3", - "migrationVersion": { - "visualization": "7.8.0" + "gridData": { + "h": 9, + "i": "06af11e6-e026-48db-a06b-b34b402b535b", + "w": 12, + "x": 12, + "y": 0 }, - "references": [], - "type": "visualization", - "updated_at": "2020-10-07T10:23:11.367Z", - "version": "WzQ0ODMsMV0=" - }, - { - "attributes": { - "description": "Total time in seconds Pilot takes to push lds, rds, cds and eds.", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "Pilot xds Push Time [Metricbeat Istio]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [], - "params": { - "axis_formatter": "number", - "axis_min": 0, - "axis_position": "left", - "axis_scale": "normal", - "default_index_pattern": "metricbeat-*", - "default_timefield": "@timestamp", - "filter": { - "language": "kuery", - "query": "" - }, - "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", - "index_pattern": "metricbeat-*", - "interval": "auto", - "isModelInvalid": false, - "series": [ - { - "axis_position": "right", - "chart_type": "line", - "color": "#6092C0", - "fill": 0, - "filter": { - "language": "kuery", - "query": "prometheus.labels.type: \"rds\" OR prometheus.labels.type: \"lds\" OR prometheus.labels.type: \"cds\" OR prometheus.labels.type: \"eds\"" - }, - "formatter": "s,s,", - "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", - "label": "pilot_xds_push_time", - "line_width": 2, - "metrics": [ - { - "field": "prometheus.pilot_xds_push_time.histogram.values", - "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", - "percentiles": [ - { - "id": "88c0d000-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "25" - }, - { - "id": "95c750d0-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "50" - }, - { - "id": "9c5ec900-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "75" - }, - { - "id": "9f8e3700-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "95" - }, - { - "id": "a3581040-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "99" - } - ], - "type": "percentile" - } - ], - "point_size": 0, - "separate_axis": 0, - "split_mode": "terms", - "stacked": "none", - "terms_field": "prometheus.labels.type", - "terms_size": "20", - "type": "timeseries", - "value_template": "{{value}}" - } - ], - "show_grid": 1, - "show_legend": 1, - "time_field": "@timestamp", - "type": "timeseries" - }, - "title": "Pilot xds Push Time [Metricbeat Istio]", - "type": "metrics" - } + "panelIndex": "06af11e6-e026-48db-a06b-b34b402b535b", + "panelRefName": "panel_1", + "title": "Pilot xds Push Time", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "title": "Pilot xds Pushes" }, - "id": "b5b3abb0-087c-11eb-a3fd-1b45ec532bb3", - "migrationVersion": { - "visualization": "7.8.0" + "gridData": { + "h": 9, + "i": "d9a49bf0-f88b-4d4f-a1e2-74fbd482f77c", + "w": 11, + "x": 24, + "y": 0 }, - "references": [], - "type": "visualization", - "updated_at": "2020-10-07T10:23:48.176Z", - "version": "WzQ0ODgsMV0=" - }, - { - "attributes": { - "description": "Pilot build and send errors for lds, rds, cds and eds.", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "Pilot xds Pushes [Metricbeat Istio]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [], - "params": { - "axis_formatter": "number", - "axis_min": 0, - "axis_position": "left", - "axis_scale": "normal", - "default_index_pattern": "metricbeat-*", - "default_timefield": "@timestamp", - "filter": { - "language": "kuery", - "query": "" - }, - "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", - "index_pattern": "metricbeat-*", - "interval": "auto", - "isModelInvalid": false, - "series": [ - { - "axis_position": "right", - "chart_type": "line", - "color": "#6092C0", - "fill": 0, - "filter": { - "language": "kuery", - "query": "" - }, - "formatter": "number", - "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", - "label": "pilot_xds_pushes", - "line_width": 2, - "metrics": [ - { - "field": "prometheus.pilot_xds_pushes.counter", - "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", - "percentiles": [ - { - "id": "88c0d000-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "50" - }, - { - "id": "95c750d0-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "25" - }, - { - "id": "9c5ec900-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "75" - }, - { - "id": "9f8e3700-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "95" - }, - { - "id": "a3581040-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "99" - } - ], - "type": "max", - "unit": "" - } - ], - "point_size": 0, - "separate_axis": 0, - "split_mode": "terms", - "stacked": "none", - "terms_field": "prometheus.labels.type", - "terms_order_by": "7ccbe642-07d8-11eb-985d-2f490d4c2901", - "terms_size": "4", - "type": "timeseries", - "value_template": "{{value}}" - } - ], - "show_grid": 1, - "show_legend": 1, - "time_field": "@timestamp", - "type": "timeseries" - }, - "title": "Pilot xds Pushes [Metricbeat Istio]", - "type": "metrics" - } + "panelIndex": "d9a49bf0-f88b-4d4f-a1e2-74fbd482f77c", + "panelRefName": "panel_2", + "title": "Pilot xds Pushes", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "title": "Pilot Inbound Updates" }, - "id": "f858c200-087e-11eb-a3fd-1b45ec532bb3", - "migrationVersion": { - "visualization": "7.8.0" + "gridData": { + "h": 9, + "i": "a8e47ef0-03db-419f-890f-0880d674682c", + "w": 13, + "x": 35, + "y": 0 }, - "references": [], - "type": "visualization", - "updated_at": "2020-10-07T09:24:59.040Z", - "version": "WzQzOTAsMV0=" - }, - { - "attributes": { - "description": "Total number of updates received by pilot.", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "Pilot Inbound Updates [Metricbeat Istio]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [], - "params": { - "axis_formatter": "number", - "axis_min": 0, - "axis_position": "left", - "axis_scale": "normal", - "default_index_pattern": "metricbeat-*", - "default_timefield": "@timestamp", - "filter": { - "language": "kuery", - "query": "" - }, - "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", - "index_pattern": "metricbeat-*", - "interval": "auto", - "isModelInvalid": false, - "series": [ - { - "axis_position": "right", - "chart_type": "line", - "color": "#6092C0", - "fill": 0, - "filter": { - "language": "kuery", - "query": "" - }, - "formatter": "number", - "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", - "label": "pilot_inbound_updates", - "line_width": 2, - "metrics": [ - { - "field": "prometheus.pilot_inbound_updates.counter", - "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", - "percentiles": [ - { - "id": "88c0d000-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "50" - }, - { - "id": "95c750d0-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "25" - }, - { - "id": "9c5ec900-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "75" - }, - { - "id": "9f8e3700-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "95" - }, - { - "id": "a3581040-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "99" - } - ], - "type": "max", - "unit": "" - } - ], - "point_size": 0, - "separate_axis": 0, - "split_mode": "terms", - "stacked": "none", - "terms_field": "prometheus.labels.type", - "terms_order_by": "7ccbe642-07d8-11eb-985d-2f490d4c2901", - "terms_size": "10", - "type": "timeseries", - "value_template": "{{value}}" - } - ], - "show_grid": 1, - "show_legend": 1, - "time_field": "@timestamp", - "type": "timeseries" - }, - "title": "Pilot Inbound Updates [Metricbeat Istio]", - "type": "metrics" - } + "panelIndex": "a8e47ef0-03db-419f-890f-0880d674682c", + "panelRefName": "panel_3", + "title": "Pilot Inbound Updates", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "title": "Pilot Conflict Inbound Listener", + "vis": null }, - "id": "aa997510-087d-11eb-a3fd-1b45ec532bb3", - "migrationVersion": { - "visualization": "7.8.0" + "gridData": { + "h": 6, + "i": "0a63d980-8d93-4ce1-b5a1-ab77e589ceec", + "w": 12, + "x": 0, + "y": 3 }, - "references": [], - "type": "visualization", - "updated_at": "2020-10-07T09:21:43.250Z", - "version": "WzQzODcsMV0=" - }, - { - "attributes": { - "description": "The number of certificates issuances that have succeeded.", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "Citadel Cert Issuance [Metricbeat Istio]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [], - "params": { - "axis_formatter": "number", - "axis_min": 0, - "axis_position": "left", - "axis_scale": "normal", - "default_index_pattern": "metricbeat-*", - "default_timefield": "@timestamp", - "filter": { - "language": "kuery", - "query": "" - }, - "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", - "index_pattern": "metricbeat-*", - "interval": "auto", - "isModelInvalid": false, - "series": [ - { - "axis_position": "right", - "chart_type": "line", - "color": "#6092C0", - "fill": 0, - "filter": { - "language": "kuery", - "query": "" - }, - "formatter": "number", - "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", - "label": "success_cert_issuance", - "line_width": 2, - "metrics": [ - { - "field": "prometheus.citadel_server_success_cert_issuance_count.counter", - "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", - "percentiles": [ - { - "id": "88c0d000-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "50" - }, - { - "id": "95c750d0-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "25" - }, - { - "id": "9c5ec900-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "75" - }, - { - "id": "9f8e3700-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "95" - }, - { - "id": "a3581040-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "99" - } - ], - "type": "max", - "unit": "" - } - ], - "point_size": 0, - "separate_axis": 0, - "split_mode": "everything", - "stacked": "none", - "terms_field": "prometheus.labels.type", - "terms_order_by": "7ccbe642-07d8-11eb-985d-2f490d4c2901", - "terms_size": "4", - "type": "timeseries", - "value_template": "{{value}}" - } - ], - "show_grid": 1, - "show_legend": 1, - "time_field": "@timestamp", - "type": "timeseries" - }, - "title": "Citadel Cert Issuance [Metricbeat Istio]", - "type": "metrics" - } + "panelIndex": "0a63d980-8d93-4ce1-b5a1-ab77e589ceec", + "panelRefName": "panel_4", + "title": "Pilot Conflict Inbound Listener", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "title": "Pilot Proxy Queue Time" }, - "id": "506c8490-087f-11eb-a3fd-1b45ec532bb3", - "migrationVersion": { - "visualization": "7.8.0" + "gridData": { + "h": 9, + "i": "cd1bbc4f-95de-4156-a3ef-c091cf6402c0", + "w": 12, + "x": 0, + "y": 9 }, - "references": [], - "type": "visualization", - "updated_at": "2020-10-07T10:15:51.172Z", - "version": "WzQ0NzYsMV0=" - }, - { - "attributes": { - "description": "Resource validation failed.", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "Galley Validation Failed [Metricbeat Istio]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [], - "params": { - "axis_formatter": "number", - "axis_min": 0, - "axis_position": "left", - "axis_scale": "normal", - "default_index_pattern": "metricbeat-*", - "default_timefield": "@timestamp", - "filter": { - "language": "kuery", - "query": "" - }, - "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", - "index_pattern": "metricbeat-*", - "interval": "auto", - "isModelInvalid": false, - "series": [ - { - "axis_position": "right", - "chart_type": "line", - "color": "#6092C0", - "fill": 0, - "filter": { - "language": "kuery", - "query": "" - }, - "formatter": "number", - "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", - "label": "galley_validation_failed", - "line_width": 2, - "metrics": [ - { - "field": "prometheus.galley_validation_failed.counter", - "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", - "percentiles": [ - { - "id": "88c0d000-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "50" - }, - { - "id": "95c750d0-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "25" - }, - { - "id": "9c5ec900-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "75" - }, - { - "id": "9f8e3700-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "95" - }, - { - "id": "a3581040-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "99" - } - ], - "type": "max", - "unit": "" - } - ], - "point_size": 0, - "separate_axis": 0, - "split_mode": "terms", - "stacked": "none", - "terms_field": "prometheus.labels.resource", - "terms_order_by": "7ccbe642-07d8-11eb-985d-2f490d4c2901", - "terms_size": "10", - "type": "timeseries", - "value_template": "{{value}}" - } - ], - "show_grid": 1, - "show_legend": 1, - "time_field": "@timestamp", - "type": "timeseries" - }, - "title": "Galley Validation Failed [Metricbeat Istio]", - "type": "metrics" - } + "panelIndex": "cd1bbc4f-95de-4156-a3ef-c091cf6402c0", + "panelRefName": "panel_5", + "title": "Pilot Proxy Queue Time", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "title": "Galley Validation Failed" + }, + "gridData": { + "h": 9, + "i": "724f0f9e-2186-4ddd-859c-edb2649b8c0f", + "w": 12, + "x": 12, + "y": 9 + }, + "panelIndex": "724f0f9e-2186-4ddd-859c-edb2649b8c0f", + "panelRefName": "panel_6", + "title": "Galley Validation Failed", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "title": "Pods witout IP", + "vis": null + }, + "gridData": { + "h": 9, + "i": "32eaa989-a4f9-4d31-97cb-684f31488aa8", + "w": 8, + "x": 24, + "y": 9 + }, + "panelIndex": "32eaa989-a4f9-4d31-97cb-684f31488aa8", + "panelRefName": "panel_7", + "title": "Pods witout IP", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "title": "Pilot Virtual Services", + "vis": null + }, + "gridData": { + "h": 9, + "i": "6a8463fe-b7cb-4cd8-bf01-f7ca6a185178", + "w": 8, + "x": 32, + "y": 9 + }, + "panelIndex": "6a8463fe-b7cb-4cd8-bf01-f7ca6a185178", + "panelRefName": "panel_8", + "title": "Pilot Virtual Services", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "title": "Pilot Services", + "vis": null }, - "id": "98b01f00-087f-11eb-a3fd-1b45ec532bb3", - "migrationVersion": { - "visualization": "7.8.0" + "gridData": { + "h": 9, + "i": "51ecc2f8-3c3f-4a80-b4b6-b52db10e68ad", + "w": 8, + "x": 40, + "y": 9 }, - "references": [], - "type": "visualization", - "updated_at": "2020-10-07T09:30:05.212Z", - "version": "WzQzOTksMV0=" + "panelIndex": "51ecc2f8-3c3f-4a80-b4b6-b52db10e68ad", + "panelRefName": "panel_9", + "title": "Pilot Services", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "title": "Pilot eds instances", + "vis": null + }, + "gridData": { + "h": 9, + "i": "9fbfca4c-37b5-4a1a-924e-49fc9ef2294c", + "w": 10, + "x": 0, + "y": 18 + }, + "panelIndex": "9fbfca4c-37b5-4a1a-924e-49fc9ef2294c", + "panelRefName": "panel_10", + "title": "Pilot eds instances", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "title": "Citadel Cert Issuane" + }, + "gridData": { + "h": 9, + "i": "e708abfa-5a95-483c-9bb2-4470ee913f3c", + "w": 12, + "x": 10, + "y": 18 + }, + "panelIndex": "e708abfa-5a95-483c-9bb2-4470ee913f3c", + "panelRefName": "panel_11", + "title": "Citadel Cert Issuane", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "title": "Pilot xds endpoints" + }, + "gridData": { + "h": 9, + "i": "d6b2845f-9582-4863-853e-ab753f3d763e", + "w": 11, + "x": 22, + "y": 18 + }, + "panelIndex": "d6b2845f-9582-4863-853e-ab753f3d763e", + "panelRefName": "panel_12", + "title": "Pilot xds endpoints", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "title": "Pilot xds expired" + }, + "gridData": { + "h": 9, + "i": "3d0dec37-26c3-490b-a45f-48b6d1baa160", + "w": 15, + "x": 33, + "y": 18 + }, + "panelIndex": "3d0dec37-26c3-490b-a45f-48b6d1baa160", + "panelRefName": "panel_13", + "title": "Pilot xds expired", + "version": "7.9.0" + } + ], + "timeRestore": false, + "title": "[Metricbeat Istio] Overview", + "version": 1 + }, + "id": "d899d3f0-0883-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "dashboard": "7.3.0" + }, + "namespaces": [ + "default" + ], + "references": [ + { + "id": "19a8b9c0-0c7f-11eb-a3fd-1b45ec532bb3", + "name": "panel_0", + "type": "visualization" + }, + { + "id": "b5b3abb0-087c-11eb-a3fd-1b45ec532bb3", + "name": "panel_1", + "type": "visualization" + }, + { + "id": "f858c200-087e-11eb-a3fd-1b45ec532bb3", + "name": "panel_2", + "type": "visualization" + }, + { + "id": "aa997510-087d-11eb-a3fd-1b45ec532bb3", + "name": "panel_3", + "type": "visualization" + }, + { + "id": "d62a1e60-0881-11eb-a3fd-1b45ec532bb3", + "name": "panel_4", + "type": "visualization" + }, + { + "id": "dd1392f0-07d8-11eb-a3fd-1b45ec532bb3", + "name": "panel_5", + "type": "visualization" + }, + { + "id": "98b01f00-087f-11eb-a3fd-1b45ec532bb3", + "name": "panel_6", + "type": "visualization" + }, + { + "id": "4275f710-0882-11eb-a3fd-1b45ec532bb3", + "name": "panel_7", + "type": "visualization" + }, + { + "id": "96bfe060-0882-11eb-a3fd-1b45ec532bb3", + "name": "panel_8", + "type": "visualization" }, { - "attributes": { - "description": "Pods not found in the endpoint table, possibly invalid.", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } + "id": "6cfbe3f0-0882-11eb-a3fd-1b45ec532bb3", + "name": "panel_9", + "type": "visualization" + }, + { + "id": "12cdcce0-0882-11eb-a3fd-1b45ec532bb3", + "name": "panel_10", + "type": "visualization" + }, + { + "id": "506c8490-087f-11eb-a3fd-1b45ec532bb3", + "name": "panel_11", + "type": "visualization" + }, + { + "id": "e5f3e870-0882-11eb-a3fd-1b45ec532bb3", + "name": "panel_12", + "type": "visualization" + }, + { + "id": "0ed17c80-0883-11eb-a3fd-1b45ec532bb3", + "name": "panel_13", + "type": "visualization" + } + ], + "type": "dashboard", + "updated_at": "2020-10-13T13:01:42.340Z", + "version": "WzI5OCwxXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "title": "Dashboards Navigation Overview [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "fontSize": 12, + "markdown": "**Overview** | [Traffic](#/dashboard/3b88a120-0c7c-11eb-a3fd-1b45ec532bb3)\n", + "openLinksInNewTab": false + }, + "title": "Dashboards Navigation Overview [Metricbeat Istio]", + "type": "markdown" + } + }, + "id": "19a8b9c0-0c7f-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T12:53:51.050Z", + "version": "WzQ2LDFd" + }, + { + "attributes": { + "description": "Total time in seconds Pilot takes to push lds, rds, cds and eds.", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "title": "Pilot xds Push Time [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "axis_formatter": "number", + "axis_min": 0, + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "default_timefield": "@timestamp", + "filter": { + "language": "kuery", + "query": "" + }, + "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", + "index_pattern": "metricbeat-*", + "interval": "auto", + "isModelInvalid": false, + "series": [ + { + "axis_position": "right", + "chart_type": "line", + "color": "#6092C0", + "fill": 0, + "filter": { + "language": "kuery", + "query": "prometheus.labels.type: \"rds\" OR prometheus.labels.type: \"lds\" OR prometheus.labels.type: \"cds\" OR prometheus.labels.type: \"eds\"" }, - "title": "Pilot Pods without IP [Metricbeat Istio]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": { - "customLabel": "Pilot No IP pods", - "field": "prometheus.pilot_no_ip.value" - }, - "schema": "metric", - "type": "avg" - } + "formatter": "s,s,2", + "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", + "label": "pilot_xds_push_time", + "line_width": 2, + "metrics": [ + { + "field": "prometheus.pilot_xds_push_time.histogram", + "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "percentiles": [ + { + "id": "88c0d000-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "25" + }, + { + "id": "95c750d0-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "50" + }, + { + "id": "9c5ec900-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "75" + }, + { + "id": "9f8e3700-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "95" + }, + { + "id": "a3581040-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "99" + } ], - "params": { - "addLegend": true, - "addTooltip": true, - "gauge": { - "alignment": "automatic", - "backStyle": "Full", - "colorSchema": "Green to Red", - "colorsRange": [ - { - "from": 0, - "to": 50 - }, - { - "from": 50, - "to": 75 - }, - { - "from": 75, - "to": 100 - } - ], - "extendRange": true, - "gaugeColorMode": "Labels", - "gaugeStyle": "Full", - "gaugeType": "Arc", - "invertColors": false, - "labels": { - "color": "black", - "show": true - }, - "orientation": "vertical", - "percentageMode": false, - "scale": { - "color": "rgba(105,112,125,0.2)", - "labels": false, - "show": true - }, - "style": { - "bgColor": true, - "bgFill": "rgba(105,112,125,0.2)", - "bgMask": false, - "bgWidth": 0.9, - "fontSize": 60, - "mask": false, - "maskBars": 50, - "subText": "", - "width": 0.9 - }, - "type": "meter" - }, - "isDisplayWarning": false, - "type": "gauge" - }, - "title": "Pilot Pods without IP [Metricbeat Istio]", - "type": "gauge" - } - }, - "id": "4275f710-0882-11eb-a3fd-1b45ec532bb3", - "migrationVersion": { - "visualization": "7.8.0" - }, - "references": [ - { - "id": "metricbeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - } + "type": "percentile" + } + ], + "point_size": 0, + "separate_axis": 0, + "split_mode": "terms", + "stacked": "none", + "terms_field": "prometheus.labels.type", + "terms_size": "20", + "type": "timeseries", + "value_template": "{{value}}" + } ], - "type": "visualization", - "updated_at": "2020-10-07T09:48:31.873Z", - "version": "WzQ0MjcsMV0=" + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "tooltip_mode": "show_all", + "type": "timeseries" + }, + "title": "Pilot xds Push Time [Metricbeat Istio]", + "type": "metrics" + } + }, + "id": "b5b3abb0-087c-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T13:01:21.843Z", + "version": "WzI2MCwxXQ==" + }, + { + "attributes": { + "description": "Pilot build and send errors for lds, rds, cds and eds.", + "kibanaSavedObjectMeta": { + "searchSourceJSON": {} }, - { - "attributes": { - "description": "Total virtual services known to pilot.", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } + "title": "Pilot xds Pushes [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "axis_formatter": "number", + "axis_min": 0, + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "default_timefield": "@timestamp", + "filter": { + "language": "kuery", + "query": "" + }, + "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", + "index_pattern": "metricbeat-*", + "interval": "auto", + "isModelInvalid": false, + "series": [ + { + "axis_position": "right", + "chart_type": "line", + "color": "#6092C0", + "fill": 0, + "filter": { + "language": "kuery", + "query": "" }, - "title": "Pilot Virtual Services [Metricbeat Istio]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": { - "customLabel": "Pilot Virtual Services", - "field": "prometheus.pilot_virt_services.value" - }, - "schema": "metric", - "type": "avg" - } + "formatter": "number", + "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", + "label": "pilot_xds_pushes", + "line_width": 2, + "metrics": [ + { + "field": "prometheus.pilot_xds_pushes.counter", + "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "percentiles": [ + { + "id": "88c0d000-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "50" + }, + { + "id": "95c750d0-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "25" + }, + { + "id": "9c5ec900-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "75" + }, + { + "id": "9f8e3700-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "95" + }, + { + "id": "a3581040-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "99" + } ], - "params": { - "addLegend": true, - "addTooltip": true, - "gauge": { - "alignment": "automatic", - "backStyle": "Full", - "colorSchema": "Green to Red", - "colorsRange": [ - { - "from": 0, - "to": 50 - }, - { - "from": 50, - "to": 75 - }, - { - "from": 75, - "to": 100 - } - ], - "extendRange": true, - "gaugeColorMode": "Labels", - "gaugeStyle": "Full", - "gaugeType": "Arc", - "invertColors": false, - "labels": { - "color": "black", - "show": true - }, - "orientation": "vertical", - "percentageMode": false, - "scale": { - "color": "rgba(105,112,125,0.2)", - "labels": false, - "show": true - }, - "style": { - "bgColor": true, - "bgFill": "rgba(105,112,125,0.2)", - "bgMask": false, - "bgWidth": 0.9, - "fontSize": 60, - "mask": false, - "maskBars": 50, - "subText": "", - "width": 0.9 - }, - "type": "meter" - }, - "isDisplayWarning": false, - "type": "gauge" - }, - "title": "Pilot Virtual Services [Metricbeat Istio]", - "type": "gauge" - } - }, - "id": "96bfe060-0882-11eb-a3fd-1b45ec532bb3", - "migrationVersion": { - "visualization": "7.8.0" - }, - "references": [ - { - "id": "metricbeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - } + "type": "max", + "unit": "" + } + ], + "point_size": 0, + "separate_axis": 0, + "split_mode": "terms", + "stacked": "none", + "terms_field": "prometheus.labels.type", + "terms_order_by": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "terms_size": "4", + "type": "timeseries", + "value_template": "{{value}}" + } ], - "type": "visualization", - "updated_at": "2020-10-07T09:50:53.286Z", - "version": "WzQ0MzMsMV0=" + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "type": "timeseries" + }, + "title": "Pilot xds Pushes [Metricbeat Istio]", + "type": "metrics" + } + }, + "id": "f858c200-087e-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T12:53:51.050Z", + "version": "WzQ4LDFd" + }, + { + "attributes": { + "description": "Total number of updates received by pilot.", + "kibanaSavedObjectMeta": { + "searchSourceJSON": {} }, - { - "attributes": { - "description": "Total services known to pilot.", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } + "title": "Pilot Inbound Updates [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "axis_formatter": "number", + "axis_min": 0, + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "default_timefield": "@timestamp", + "filter": { + "language": "kuery", + "query": "" + }, + "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", + "index_pattern": "metricbeat-*", + "interval": "auto", + "isModelInvalid": false, + "series": [ + { + "axis_position": "right", + "chart_type": "line", + "color": "#6092C0", + "fill": 0, + "filter": { + "language": "kuery", + "query": "" }, - "title": "Pilot Services [Metricbeat Istio]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": { - "customLabel": "Pilot Services", - "field": "prometheus.pilot_services.value" - }, - "schema": "metric", - "type": "avg" - } + "formatter": "number", + "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", + "label": "pilot_inbound_updates", + "line_width": 2, + "metrics": [ + { + "field": "prometheus.pilot_inbound_updates.counter", + "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "percentiles": [ + { + "id": "88c0d000-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "50" + }, + { + "id": "95c750d0-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "25" + }, + { + "id": "9c5ec900-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "75" + }, + { + "id": "9f8e3700-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "95" + }, + { + "id": "a3581040-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "99" + } ], - "params": { - "addLegend": true, - "addTooltip": true, - "gauge": { - "alignment": "automatic", - "backStyle": "Full", - "colorSchema": "Green to Red", - "colorsRange": [ - { - "from": 0, - "to": 50 - }, - { - "from": 50, - "to": 75 - }, - { - "from": 75, - "to": 100 - } - ], - "extendRange": true, - "gaugeColorMode": "Labels", - "gaugeStyle": "Full", - "gaugeType": "Arc", - "invertColors": false, - "labels": { - "color": "black", - "show": true - }, - "orientation": "vertical", - "percentageMode": false, - "scale": { - "color": "rgba(105,112,125,0.2)", - "labels": false, - "show": true - }, - "style": { - "bgColor": true, - "bgFill": "rgba(105,112,125,0.2)", - "bgMask": false, - "bgWidth": 0.9, - "fontSize": 60, - "mask": false, - "maskBars": 50, - "subText": "", - "width": 0.9 - }, - "type": "meter" - }, - "isDisplayWarning": false, - "type": "gauge" - }, - "title": "Pilot Services [Metricbeat Istio]", - "type": "gauge" - } - }, - "id": "6cfbe3f0-0882-11eb-a3fd-1b45ec532bb3", - "migrationVersion": { - "visualization": "7.8.0" - }, - "references": [ - { - "id": "metricbeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - } + "type": "max", + "unit": "" + } + ], + "point_size": 0, + "separate_axis": 0, + "split_mode": "terms", + "stacked": "none", + "terms_field": "prometheus.labels.type", + "terms_order_by": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "terms_size": "10", + "type": "timeseries", + "value_template": "{{value}}" + } ], - "type": "visualization", - "updated_at": "2020-10-07T10:04:27.677Z", - "version": "WzQ0NTksMV0=" + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "type": "timeseries" + }, + "title": "Pilot Inbound Updates [Metricbeat Istio]", + "type": "metrics" + } + }, + "id": "aa997510-087d-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T12:53:51.050Z", + "version": "WzQ5LDFd" + }, + { + "attributes": { + "description": "Number of conflicting inbound listeners.", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", + "query": { + "language": "kuery", + "query": "" + } + } }, - { - "attributes": { - "description": "Number of conflicting inbound listeners.", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } + "title": "Pilot Conflict Inbound Listener [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": { + "customLabel": "Pilot conflict inbound listener", + "field": "prometheus.pilot_conflict_inbound_listener.value" + }, + "schema": "metric", + "type": "avg" + } + ], + "params": { + "addLegend": true, + "addTooltip": true, + "gauge": { + "alignment": "automatic", + "backStyle": "Full", + "colorSchema": "Green to Red", + "colorsRange": [ + { + "from": 0, + "to": 50 }, - "title": "Pilot Conflict Inbound Listener [Metricbeat Istio]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": { - "customLabel": "Pilot conflict inbound listener", - "field": "prometheus.pilot_conflict_inbound_listener.value" - }, - "schema": "metric", - "type": "avg" - } - ], - "params": { - "addLegend": true, - "addTooltip": true, - "gauge": { - "alignment": "automatic", - "backStyle": "Full", - "colorSchema": "Green to Red", - "colorsRange": [ - { - "from": 0, - "to": 50 - }, - { - "from": 50, - "to": 75 - }, - { - "from": 75, - "to": 100 - } - ], - "extendRange": true, - "gaugeColorMode": "Labels", - "gaugeStyle": "Full", - "gaugeType": "Arc", - "invertColors": false, - "labels": { - "color": "black", - "show": true - }, - "orientation": "vertical", - "percentageMode": false, - "scale": { - "color": "rgba(105,112,125,0.2)", - "labels": false, - "show": true - }, - "style": { - "bgColor": true, - "bgFill": "rgba(105,112,125,0.2)", - "bgMask": false, - "bgWidth": 0.9, - "fontSize": 60, - "mask": false, - "maskBars": 50, - "subText": "", - "width": 0.9 - }, - "type": "meter" - }, - "isDisplayWarning": false, - "type": "gauge" - }, - "title": "Pilot Conflict Inbound Listener [Metricbeat Istio]", - "type": "gauge" + { + "from": 50, + "to": 75 + }, + { + "from": 75, + "to": 100 } + ], + "extendRange": true, + "gaugeColorMode": "Labels", + "gaugeStyle": "Full", + "gaugeType": "Arc", + "invertColors": false, + "labels": { + "color": "black", + "show": true + }, + "orientation": "vertical", + "percentageMode": false, + "scale": { + "color": "rgba(105,112,125,0.2)", + "labels": false, + "show": true + }, + "style": { + "bgColor": true, + "bgFill": "rgba(105,112,125,0.2)", + "bgMask": false, + "bgWidth": 0.9, + "fontSize": 60, + "mask": false, + "maskBars": 50, + "subText": "", + "width": 0.9 + }, + "type": "meter" }, - "id": "d62a1e60-0881-11eb-a3fd-1b45ec532bb3", - "migrationVersion": { - "visualization": "7.8.0" + "isDisplayWarning": false, + "type": "gauge" + }, + "title": "Pilot Conflict Inbound Listener [Metricbeat Istio]", + "type": "gauge" + } + }, + "id": "d62a1e60-0881-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [ + { + "id": "metricbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + } + ], + "type": "visualization", + "updated_at": "2020-10-13T12:53:51.050Z", + "version": "WzUwLDFd" + }, + { + "attributes": { + "description": "Time in seconds, a proxy is in the push queue before being dequeued.", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "title": "Pilot Proxy Queue Time [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "axis_formatter": "number", + "axis_min": 0, + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "default_timefield": "@timestamp", + "filter": { + "language": "kuery", + "query": "" }, - "references": [ - { - "id": "metricbeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - } + "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", + "index_pattern": "metricbeat-*", + "interval": "auto", + "isModelInvalid": false, + "series": [ + { + "axis_position": "right", + "chart_type": "line", + "color": "#6092C0", + "fill": 0, + "formatter": "number", + "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", + "label": "queue_time", + "line_width": 2, + "metrics": [ + { + "field": "prometheus.pilot_proxy_queue_time.histogram", + "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "percentiles": [ + { + "id": "88c0d000-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "25" + }, + { + "id": "03ef6580-0887-11eb-876a-9d8e5e94d2f5", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "50" + }, + { + "id": "071fe4f0-0887-11eb-876a-9d8e5e94d2f5", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "75" + }, + { + "id": "0b7164c0-0887-11eb-876a-9d8e5e94d2f5", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "90" + }, + { + "id": "0f611580-0887-11eb-876a-9d8e5e94d2f5", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "95" + }, + { + "id": "136f98e0-0887-11eb-876a-9d8e5e94d2f5", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "99" + } + ], + "type": "percentile" + } + ], + "point_size": 0, + "separate_axis": 0, + "split_mode": "everything", + "stacked": "none", + "type": "timeseries", + "value_template": "{{value}}" + } ], - "type": "visualization", - "updated_at": "2020-10-07T09:45:30.182Z", - "version": "WzQ0MjAsMV0=" + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "tooltip_mode": "show_all", + "type": "timeseries" + }, + "title": "Pilot Proxy Queue Time [Metricbeat Istio]", + "type": "metrics" + } + }, + "id": "dd1392f0-07d8-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T12:59:52.108Z", + "version": "WzI0NywxXQ==" + }, + { + "attributes": { + "description": "Resource validation failed.", + "kibanaSavedObjectMeta": { + "searchSourceJSON": {} }, - { - "attributes": { - "description": "Number of clusters without instances.", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } + "title": "Galley Validation Failed [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "axis_formatter": "number", + "axis_min": 0, + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "default_timefield": "@timestamp", + "filter": { + "language": "kuery", + "query": "" + }, + "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", + "index_pattern": "metricbeat-*", + "interval": "auto", + "isModelInvalid": false, + "series": [ + { + "axis_position": "right", + "chart_type": "line", + "color": "#6092C0", + "fill": 0, + "filter": { + "language": "kuery", + "query": "" }, - "title": "Pilot eds Instances [Metricbeat Istio]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": { - "customLabel": "Pilot eds instnaces", - "field": "prometheus.pilot_eds_no_instances.value" - }, - "schema": "metric", - "type": "avg" - } + "formatter": "number", + "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", + "label": "galley_validation_failed", + "line_width": 2, + "metrics": [ + { + "field": "prometheus.galley_validation_failed.counter", + "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "percentiles": [ + { + "id": "88c0d000-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "50" + }, + { + "id": "95c750d0-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "25" + }, + { + "id": "9c5ec900-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "75" + }, + { + "id": "9f8e3700-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "95" + }, + { + "id": "a3581040-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "99" + } ], - "params": { - "addLegend": true, - "addTooltip": true, - "gauge": { - "alignment": "automatic", - "backStyle": "Full", - "colorSchema": "Green to Red", - "colorsRange": [ - { - "from": 0, - "to": 50 - }, - { - "from": 50, - "to": 75 - }, - { - "from": 75, - "to": 100 - } - ], - "extendRange": true, - "gaugeColorMode": "Labels", - "gaugeStyle": "Full", - "gaugeType": "Arc", - "invertColors": false, - "labels": { - "color": "black", - "show": true - }, - "orientation": "vertical", - "percentageMode": false, - "scale": { - "color": "rgba(105,112,125,0.2)", - "labels": false, - "show": true - }, - "style": { - "bgColor": true, - "bgFill": "rgba(105,112,125,0.2)", - "bgMask": false, - "bgWidth": 0.9, - "fontSize": 60, - "mask": false, - "maskBars": 50, - "subText": "", - "width": 0.9 - }, - "type": "meter" - }, - "isDisplayWarning": false, - "type": "gauge" - }, - "title": "Pilot eds Instances [Metricbeat Istio]", - "type": "gauge" + "type": "max", + "unit": "" + } + ], + "point_size": 0, + "separate_axis": 0, + "split_mode": "terms", + "stacked": "none", + "terms_field": "prometheus.labels.resource", + "terms_order_by": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "terms_size": "10", + "type": "timeseries", + "value_template": "{{value}}" + } + ], + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "type": "timeseries" + }, + "title": "Galley Validation Failed [Metricbeat Istio]", + "type": "metrics" + } + }, + "id": "98b01f00-087f-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T12:53:51.050Z", + "version": "WzUyLDFd" + }, + { + "attributes": { + "description": "Pods not found in the endpoint table, possibly invalid.", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", + "query": { + "language": "kuery", + "query": "" + } + } + }, + "title": "Pilot Pods without IP [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": { + "customLabel": "Pilot No IP pods", + "field": "prometheus.pilot_no_ip.value" + }, + "schema": "metric", + "type": "avg" + } + ], + "params": { + "addLegend": true, + "addTooltip": true, + "gauge": { + "alignment": "automatic", + "backStyle": "Full", + "colorSchema": "Green to Red", + "colorsRange": [ + { + "from": 0, + "to": 50 + }, + { + "from": 50, + "to": 75 + }, + { + "from": 75, + "to": 100 } + ], + "extendRange": true, + "gaugeColorMode": "Labels", + "gaugeStyle": "Full", + "gaugeType": "Arc", + "invertColors": false, + "labels": { + "color": "black", + "show": true + }, + "orientation": "vertical", + "percentageMode": false, + "scale": { + "color": "rgba(105,112,125,0.2)", + "labels": false, + "show": true + }, + "style": { + "bgColor": true, + "bgFill": "rgba(105,112,125,0.2)", + "bgMask": false, + "bgWidth": 0.9, + "fontSize": 60, + "mask": false, + "maskBars": 50, + "subText": "", + "width": 0.9 + }, + "type": "meter" }, - "id": "12cdcce0-0882-11eb-a3fd-1b45ec532bb3", - "migrationVersion": { - "visualization": "7.8.0" - }, - "references": [ + "isDisplayWarning": false, + "type": "gauge" + }, + "title": "Pilot Pods without IP [Metricbeat Istio]", + "type": "gauge" + } + }, + "id": "4275f710-0882-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [ + { + "id": "metricbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + } + ], + "type": "visualization", + "updated_at": "2020-10-13T12:53:51.050Z", + "version": "WzUzLDFd" + }, + { + "attributes": { + "description": "Total virtual services known to pilot.", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", + "query": { + "language": "kuery", + "query": "" + } + } + }, + "title": "Pilot Virtual Services [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": { + "customLabel": "Pilot Virtual Services", + "field": "prometheus.pilot_virt_services.value" + }, + "schema": "metric", + "type": "avg" + } + ], + "params": { + "addLegend": true, + "addTooltip": true, + "gauge": { + "alignment": "automatic", + "backStyle": "Full", + "colorSchema": "Green to Red", + "colorsRange": [ { - "id": "metricbeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" + "from": 0, + "to": 50 + }, + { + "from": 50, + "to": 75 + }, + { + "from": 75, + "to": 100 } - ], - "type": "visualization", - "updated_at": "2020-10-07T09:47:11.918Z", - "version": "WzQ0MjQsMV0=" - }, + ], + "extendRange": true, + "gaugeColorMode": "Labels", + "gaugeStyle": "Full", + "gaugeType": "Arc", + "invertColors": false, + "labels": { + "color": "black", + "show": true + }, + "orientation": "vertical", + "percentageMode": false, + "scale": { + "color": "rgba(105,112,125,0.2)", + "labels": false, + "show": true + }, + "style": { + "bgColor": true, + "bgFill": "rgba(105,112,125,0.2)", + "bgMask": false, + "bgWidth": 0.9, + "fontSize": 60, + "mask": false, + "maskBars": 50, + "subText": "", + "width": 0.9 + }, + "type": "meter" + }, + "isDisplayWarning": false, + "type": "gauge" + }, + "title": "Pilot Virtual Services [Metricbeat Istio]", + "type": "gauge" + } + }, + "id": "96bfe060-0882-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [ { - "attributes": { - "description": "Number of endpoints connected to this pilot using XDS.", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } + "id": "metricbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + } + ], + "type": "visualization", + "updated_at": "2020-10-13T12:53:51.050Z", + "version": "WzU0LDFd" + }, + { + "attributes": { + "description": "Total services known to pilot.", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", + "query": { + "language": "kuery", + "query": "" + } + } + }, + "title": "Pilot Services [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": { + "customLabel": "Pilot Services", + "field": "prometheus.pilot_services.value" + }, + "schema": "metric", + "type": "avg" + } + ], + "params": { + "addLegend": true, + "addTooltip": true, + "gauge": { + "alignment": "automatic", + "backStyle": "Full", + "colorSchema": "Green to Red", + "colorsRange": [ + { + "from": 0, + "to": 50 + }, + { + "from": 50, + "to": 75 }, - "title": "Pilot XDS endpoints [Metricbeat Istio]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [], - "params": { - "axis_formatter": "number", - "axis_min": 0, - "axis_position": "left", - "axis_scale": "normal", - "default_index_pattern": "metricbeat-*", - "default_timefield": "@timestamp", - "filter": { - "language": "kuery", - "query": "" - }, - "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", - "index_pattern": "metricbeat-*", - "interval": "auto", - "isModelInvalid": false, - "series": [ - { - "axis_position": "right", - "chart_type": "line", - "color": "#6092C0", - "fill": 0, - "formatter": "number", - "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", - "label": "pilot_xds", - "line_width": 2, - "metrics": [ - { - "field": "prometheus.pilot_xds.value", - "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", - "percentiles": [ - { - "id": "88c0d000-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "50" - }, - { - "id": "95c750d0-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "25" - }, - { - "id": "9c5ec900-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "75" - }, - { - "id": "9f8e3700-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "95" - }, - { - "id": "a3581040-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "99" - } - ], - "type": "avg" - } - ], - "point_size": 0, - "separate_axis": 0, - "split_mode": "everything", - "stacked": "none", - "type": "timeseries", - "value_template": "{{value}}" - } - ], - "show_grid": 1, - "show_legend": 1, - "time_field": "@timestamp", - "type": "timeseries" - }, - "title": "Pilot XDS endpoints [Metricbeat Istio]", - "type": "metrics" + { + "from": 75, + "to": 100 } + ], + "extendRange": true, + "gaugeColorMode": "Labels", + "gaugeStyle": "Full", + "gaugeType": "Arc", + "invertColors": false, + "labels": { + "color": "black", + "show": true + }, + "orientation": "vertical", + "percentageMode": false, + "scale": { + "color": "rgba(105,112,125,0.2)", + "labels": false, + "show": true + }, + "style": { + "bgColor": true, + "bgFill": "rgba(105,112,125,0.2)", + "bgMask": false, + "bgWidth": 0.9, + "fontSize": 60, + "mask": false, + "maskBars": 50, + "subText": "", + "width": 0.9 + }, + "type": "meter" }, - "id": "e5f3e870-0882-11eb-a3fd-1b45ec532bb3", - "migrationVersion": { - "visualization": "7.8.0" - }, - "references": [], - "type": "visualization", - "updated_at": "2020-10-07T09:53:38.583Z", - "version": "WzQ0NDEsMV0=" - }, + "isDisplayWarning": false, + "type": "gauge" + }, + "title": "Pilot Services [Metricbeat Istio]", + "type": "gauge" + } + }, + "id": "6cfbe3f0-0882-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [ { - "attributes": { - "description": "Total number of XDS requests with an expired nonce.", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } + "id": "metricbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + } + ], + "type": "visualization", + "updated_at": "2020-10-13T12:53:51.050Z", + "version": "WzU1LDFd" + }, + { + "attributes": { + "description": "Number of clusters without instances.", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", + "query": { + "language": "kuery", + "query": "" + } + } + }, + "title": "Pilot eds Instances [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": { + "customLabel": "Pilot eds instnaces", + "field": "prometheus.pilot_eds_no_instances.value" + }, + "schema": "metric", + "type": "avg" + } + ], + "params": { + "addLegend": true, + "addTooltip": true, + "gauge": { + "alignment": "automatic", + "backStyle": "Full", + "colorSchema": "Green to Red", + "colorsRange": [ + { + "from": 0, + "to": 50 + }, + { + "from": 50, + "to": 75 }, - "title": "Pilot XDS expired [Metricbeat Istio]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [], - "params": { - "axis_formatter": "number", - "axis_min": 0, - "axis_position": "left", - "axis_scale": "normal", - "default_index_pattern": "metricbeat-*", - "default_timefield": "@timestamp", - "filter": { - "language": "kuery", - "query": "" - }, - "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", - "index_pattern": "metricbeat-*", - "interval": "auto", - "isModelInvalid": false, - "series": [ - { - "axis_position": "right", - "chart_type": "line", - "color": "#6092C0", - "fill": 0, - "formatter": "number", - "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", - "label": "pilot_xds_expired_nonce", - "line_width": 2, - "metrics": [ - { - "field": "prometheus.pilot_xds_expired_nonce.counter", - "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", - "percentiles": [ - { - "id": "88c0d000-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "50" - }, - { - "id": "95c750d0-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "25" - }, - { - "id": "9c5ec900-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "75" - }, - { - "id": "9f8e3700-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "95" - }, - { - "id": "a3581040-07d8-11eb-86d1-6521145f6524", - "mode": "line", - "percentile": "", - "shade": 0.2, - "value": "99" - } - ], - "type": "avg" - } - ], - "point_size": 0, - "separate_axis": 0, - "split_mode": "everything", - "stacked": "none", - "type": "timeseries", - "value_template": "{{value}}" - } - ], - "show_grid": 1, - "show_legend": 1, - "time_field": "@timestamp", - "type": "timeseries" - }, - "title": "Pilot XDS expired [Metricbeat Istio]", - "type": "metrics" + { + "from": 75, + "to": 100 } + ], + "extendRange": true, + "gaugeColorMode": "Labels", + "gaugeStyle": "Full", + "gaugeType": "Arc", + "invertColors": false, + "labels": { + "color": "black", + "show": true + }, + "orientation": "vertical", + "percentageMode": false, + "scale": { + "color": "rgba(105,112,125,0.2)", + "labels": false, + "show": true + }, + "style": { + "bgColor": true, + "bgFill": "rgba(105,112,125,0.2)", + "bgMask": false, + "bgWidth": 0.9, + "fontSize": 60, + "mask": false, + "maskBars": 50, + "subText": "", + "width": 0.9 + }, + "type": "meter" }, - "id": "0ed17c80-0883-11eb-a3fd-1b45ec532bb3", - "migrationVersion": { - "visualization": "7.8.0" + "isDisplayWarning": false, + "type": "gauge" + }, + "title": "Pilot eds Instances [Metricbeat Istio]", + "type": "gauge" + } + }, + "id": "12cdcce0-0882-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [ + { + "id": "metricbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + } + ], + "type": "visualization", + "updated_at": "2020-10-13T12:53:51.050Z", + "version": "WzU2LDFd" + }, + { + "attributes": { + "description": "The number of certificates issuances that have succeeded.", + "kibanaSavedObjectMeta": { + "searchSourceJSON": {} + }, + "title": "Citadel Cert Issuance [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "axis_formatter": "number", + "axis_min": 0, + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "default_timefield": "@timestamp", + "filter": { + "language": "kuery", + "query": "" }, - "references": [], - "type": "visualization", - "updated_at": "2020-10-07T09:54:14.728Z", - "version": "WzQ0NDMsMV0=" + "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", + "index_pattern": "metricbeat-*", + "interval": "auto", + "isModelInvalid": false, + "series": [ + { + "axis_position": "right", + "chart_type": "line", + "color": "#6092C0", + "fill": 0, + "filter": { + "language": "kuery", + "query": "" + }, + "formatter": "number", + "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", + "label": "success_cert_issuance", + "line_width": 2, + "metrics": [ + { + "field": "prometheus.citadel_server_success_cert_issuance_count.counter", + "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "percentiles": [ + { + "id": "88c0d000-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "50" + }, + { + "id": "95c750d0-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "25" + }, + { + "id": "9c5ec900-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "75" + }, + { + "id": "9f8e3700-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "95" + }, + { + "id": "a3581040-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "99" + } + ], + "type": "max", + "unit": "" + } + ], + "point_size": 0, + "separate_axis": 0, + "split_mode": "everything", + "stacked": "none", + "terms_field": "prometheus.labels.type", + "terms_order_by": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "terms_size": "4", + "type": "timeseries", + "value_template": "{{value}}" + } + ], + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "type": "timeseries" + }, + "title": "Citadel Cert Issuance [Metricbeat Istio]", + "type": "metrics" + } + }, + "id": "506c8490-087f-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T12:53:51.050Z", + "version": "WzU3LDFd" + }, + { + "attributes": { + "description": "Number of endpoints connected to this pilot using XDS.", + "kibanaSavedObjectMeta": { + "searchSourceJSON": {} + }, + "title": "Pilot XDS endpoints [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "axis_formatter": "number", + "axis_min": 0, + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "default_timefield": "@timestamp", + "filter": { + "language": "kuery", + "query": "" + }, + "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", + "index_pattern": "metricbeat-*", + "interval": "auto", + "isModelInvalid": false, + "series": [ + { + "axis_position": "right", + "chart_type": "line", + "color": "#6092C0", + "fill": 0, + "formatter": "number", + "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", + "label": "pilot_xds", + "line_width": 2, + "metrics": [ + { + "field": "prometheus.pilot_xds.value", + "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "percentiles": [ + { + "id": "88c0d000-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "50" + }, + { + "id": "95c750d0-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "25" + }, + { + "id": "9c5ec900-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "75" + }, + { + "id": "9f8e3700-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "95" + }, + { + "id": "a3581040-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "99" + } + ], + "type": "avg" + } + ], + "point_size": 0, + "separate_axis": 0, + "split_mode": "everything", + "stacked": "none", + "type": "timeseries", + "value_template": "{{value}}" + } + ], + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "type": "timeseries" + }, + "title": "Pilot XDS endpoints [Metricbeat Istio]", + "type": "metrics" + } + }, + "id": "e5f3e870-0882-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T12:53:51.050Z", + "version": "WzU4LDFd" + }, + { + "attributes": { + "description": "Total number of XDS requests with an expired nonce.", + "kibanaSavedObjectMeta": { + "searchSourceJSON": {} + }, + "title": "Pilot XDS expired [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "axis_formatter": "number", + "axis_min": 0, + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "default_timefield": "@timestamp", + "filter": { + "language": "kuery", + "query": "" + }, + "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", + "index_pattern": "metricbeat-*", + "interval": "auto", + "isModelInvalid": false, + "series": [ + { + "axis_position": "right", + "chart_type": "line", + "color": "#6092C0", + "fill": 0, + "formatter": "number", + "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", + "label": "pilot_xds_expired_nonce", + "line_width": 2, + "metrics": [ + { + "field": "prometheus.pilot_xds_expired_nonce.counter", + "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "percentiles": [ + { + "id": "88c0d000-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "50" + }, + { + "id": "95c750d0-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "25" + }, + { + "id": "9c5ec900-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "75" + }, + { + "id": "9f8e3700-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "95" + }, + { + "id": "a3581040-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "99" + } + ], + "type": "avg" + } + ], + "point_size": 0, + "separate_axis": 0, + "split_mode": "everything", + "stacked": "none", + "type": "timeseries", + "value_template": "{{value}}" + } + ], + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "type": "timeseries" + }, + "title": "Pilot XDS expired [Metricbeat Istio]", + "type": "metrics" } - ], - "version": "7.8.0" + }, + "id": "0ed17c80-0883-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T12:53:51.050Z", + "version": "WzU5LDFd" + } + ], + "version": "7.9.0" } diff --git a/x-pack/metricbeat/module/istio/_meta/kibana/7/dashboard/Metricbeat-istio-traffic.json b/x-pack/metricbeat/module/istio/_meta/kibana/7/dashboard/Metricbeat-istio-traffic.json new file mode 100644 index 00000000000..5998c84f3c3 --- /dev/null +++ b/x-pack/metricbeat/module/istio/_meta/kibana/7/dashboard/Metricbeat-istio-traffic.json @@ -0,0 +1,1274 @@ +{ + "objects": [ + { + "attributes": { + "description": "Istio traffic statistics based on metrics collected from istio proxies", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "title": "" + }, + "gridData": { + "h": 3, + "i": "fbc3815e-eb3a-46dd-b37a-a61b741b754e", + "w": 10, + "x": 0, + "y": 0 + }, + "panelIndex": "fbc3815e-eb3a-46dd-b37a-a61b741b754e", + "panelRefName": "panel_0", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "hidePanelTitles": false, + "title": "Number of requests per source" + }, + "gridData": { + "h": 11, + "i": "1f88dc8b-1c21-40e0-8507-b468643d5507", + "w": 15, + "x": 10, + "y": 0 + }, + "panelIndex": "1f88dc8b-1c21-40e0-8507-b468643d5507", + "panelRefName": "panel_1", + "title": "Number of requests per source", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "hidePanelTitles": false, + "title": "Number of requests per destination" + }, + "gridData": { + "h": 11, + "i": "7c7c491b-c55c-4892-a73e-3bfb5af9a610", + "w": 23, + "x": 25, + "y": 0 + }, + "panelIndex": "7c7c491b-c55c-4892-a73e-3bfb5af9a610", + "panelRefName": "panel_2", + "title": "Number of requests per destination", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "title": "Destination Apps" + }, + "gridData": { + "h": 8, + "i": "c87dc307-71f1-4642-8d2a-60066f5ab114", + "w": 10, + "x": 0, + "y": 3 + }, + "panelIndex": "c87dc307-71f1-4642-8d2a-60066f5ab114", + "panelRefName": "panel_3", + "title": "Destination Apps", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "hidePanelTitles": false, + "title": "Duration of requests per destination" + }, + "gridData": { + "h": 10, + "i": "894e458b-c822-4df1-ae43-aa99d73bfedc", + "w": 12, + "x": 12, + "y": 11 + }, + "panelIndex": "894e458b-c822-4df1-ae43-aa99d73bfedc", + "panelRefName": "panel_4", + "title": "Duration of requests per destination", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "hidePanelTitles": false, + "title": "Size of requests per source" + }, + "gridData": { + "h": 10, + "i": "28d6f60d-1b2c-4688-9cbc-5ebf3d587469", + "w": 12, + "x": 24, + "y": 11 + }, + "panelIndex": "28d6f60d-1b2c-4688-9cbc-5ebf3d587469", + "panelRefName": "panel_5", + "title": "Size of requests per source", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "hidePanelTitles": false, + "title": "Size of requests per destination" + }, + "gridData": { + "h": 10, + "i": "1b1f0dcb-613d-4b71-a8a9-e30f79734ede", + "w": 12, + "x": 36, + "y": 11 + }, + "panelIndex": "1b1f0dcb-613d-4b71-a8a9-e30f79734ede", + "panelRefName": "panel_6", + "title": "Size of requests per destination", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "hidePanelTitles": false, + "title": "Duration of requests per source" + }, + "gridData": { + "h": 10, + "i": "ae905bb4-456f-4122-8f5c-44a9ced608f1", + "w": 12, + "x": 0, + "y": 11 + }, + "panelIndex": "ae905bb4-456f-4122-8f5c-44a9ced608f1", + "panelRefName": "panel_7", + "title": "Duration of requests per source", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "hidePanelTitles": false, + "title": "Size of response per source" + }, + "gridData": { + "h": 10, + "i": "3f4222fc-a243-4141-8787-1dd41d9f1661", + "w": 17, + "x": 12, + "y": 21 + }, + "panelIndex": "3f4222fc-a243-4141-8787-1dd41d9f1661", + "panelRefName": "panel_8", + "title": "Size of response per source", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "hidePanelTitles": false, + "title": "Size of response per destination" + }, + "gridData": { + "h": 10, + "i": "4c498b69-296c-4e30-8a35-1510566ea5ef", + "w": 19, + "x": 29, + "y": 21 + }, + "panelIndex": "4c498b69-296c-4e30-8a35-1510566ea5ef", + "panelRefName": "panel_9", + "title": "Size of response per destination", + "version": "7.9.0" + }, + { + "embeddableConfig": { + "hidePanelTitles": false, + "title": "Response Codes" + }, + "gridData": { + "h": 10, + "i": "2a128040-ef73-40a2-8b52-62c8180bcad7", + "w": 12, + "x": 0, + "y": 21 + }, + "panelIndex": "2a128040-ef73-40a2-8b52-62c8180bcad7", + "panelRefName": "panel_10", + "title": "Response Codes", + "version": "7.9.0" + } + ], + "timeRestore": false, + "title": "[Metricbeat Istio] Traffic", + "version": 1 + }, + "id": "3b88a120-0c7c-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "dashboard": "7.3.0" + }, + "namespaces": [ + "default" + ], + "references": [ + { + "id": "96c4a5c0-0c7c-11eb-a3fd-1b45ec532bb3", + "name": "panel_0", + "type": "visualization" + }, + { + "id": "e14e3560-0c78-11eb-a3fd-1b45ec532bb3", + "name": "panel_1", + "type": "visualization" + }, + { + "id": "c7468af0-0c78-11eb-a3fd-1b45ec532bb3", + "name": "panel_2", + "type": "visualization" + }, + { + "id": "1d076a90-0c7e-11eb-a3fd-1b45ec532bb3", + "name": "panel_3", + "type": "visualization" + }, + { + "id": "3ae9b3f0-0c7a-11eb-a3fd-1b45ec532bb3", + "name": "panel_4", + "type": "visualization" + }, + { + "id": "60dacbe0-0c79-11eb-a3fd-1b45ec532bb3", + "name": "panel_5", + "type": "visualization" + }, + { + "id": "78375380-0c79-11eb-a3fd-1b45ec532bb3", + "name": "panel_6", + "type": "visualization" + }, + { + "id": "5fd462f0-0c7a-11eb-a3fd-1b45ec532bb3", + "name": "panel_7", + "type": "visualization" + }, + { + "id": "b4235550-0c7a-11eb-a3fd-1b45ec532bb3", + "name": "panel_8", + "type": "visualization" + }, + { + "id": "8d818070-0c7a-11eb-a3fd-1b45ec532bb3", + "name": "panel_9", + "type": "visualization" + }, + { + "id": "09404610-0c7b-11eb-a3fd-1b45ec532bb3", + "name": "panel_10", + "type": "visualization" + } + ], + "type": "dashboard", + "updated_at": "2020-10-13T13:18:36.737Z", + "version": "WzUxNSwxXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "title": "Dashboards Navigation Overview Traffic [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "fontSize": 12, + "markdown": "[Overview](#/dashboard/d899d3f0-0883-11eb-a3fd-1b45ec532bb3) | **Traffic**", + "openLinksInNewTab": false + }, + "title": "Dashboards Navigation Overview Traffic [Metricbeat Istio]", + "type": "markdown" + } + }, + "id": "96c4a5c0-0c7c-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T12:53:51.894Z", + "version": "WzYxLDFd" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": {} + }, + "title": "Number of requests per source [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "axis_formatter": "number", + "axis_min": 0, + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "default_timefield": "@timestamp", + "filter": { + "language": "kuery", + "query": "" + }, + "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", + "index_pattern": "metricbeat-*", + "interval": "auto", + "isModelInvalid": false, + "series": [ + { + "axis_position": "right", + "chart_type": "line", + "color": "#6092C0", + "fill": 0, + "formatter": "number", + "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", + "label": "Number of requests", + "line_width": 2, + "metrics": [ + { + "field": "prometheus.istio_requests_total.rate", + "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "percentiles": [ + { + "id": "88c0d000-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "50" + }, + { + "id": "95c750d0-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "25" + }, + { + "id": "9c5ec900-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "75" + }, + { + "id": "9f8e3700-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "95" + }, + { + "id": "a3581040-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "99" + } + ], + "type": "max" + } + ], + "point_size": 0, + "separate_axis": 0, + "split_mode": "terms", + "stacked": "none", + "terms_field": "prometheus.labels.source_app", + "type": "timeseries", + "value_template": "{{value}}" + } + ], + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "type": "timeseries" + }, + "title": "Number of requests per source [Metricbeat Istio]", + "type": "metrics" + } + }, + "id": "e14e3560-0c78-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T12:53:51.894Z", + "version": "WzYyLDFd" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": {} + }, + "title": "Number of requests per destination [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "axis_formatter": "number", + "axis_min": 0, + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "default_timefield": "@timestamp", + "filter": { + "language": "kuery", + "query": "" + }, + "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", + "index_pattern": "metricbeat-*", + "interval": "auto", + "isModelInvalid": false, + "series": [ + { + "axis_position": "right", + "chart_type": "line", + "color": "#6092C0", + "fill": 0, + "formatter": "number", + "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", + "label": "Number of requests", + "line_width": 2, + "metrics": [ + { + "field": "prometheus.istio_requests_total.rate", + "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "percentiles": [ + { + "id": "88c0d000-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "50" + }, + { + "id": "95c750d0-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "25" + }, + { + "id": "9c5ec900-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "75" + }, + { + "id": "9f8e3700-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "95" + }, + { + "id": "a3581040-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "99" + } + ], + "type": "max" + } + ], + "point_size": 0, + "separate_axis": 0, + "split_mode": "terms", + "stacked": "none", + "terms_field": "prometheus.labels.destination_app", + "type": "timeseries", + "value_template": "{{value}}" + } + ], + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "type": "timeseries" + }, + "title": "Number of requests per destination [Metricbeat Istio]", + "type": "metrics" + } + }, + "id": "c7468af0-0c78-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T12:53:51.894Z", + "version": "WzYzLDFd" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", + "query": { + "language": "kuery", + "query": "" + } + } + }, + "title": "Destination Apps [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [ + { + "enabled": true, + "id": "1", + "params": { + "customLabel": "some" + }, + "schema": "metric", + "type": "count" + }, + { + "enabled": true, + "id": "2", + "params": { + "field": "prometheus.labels.destination_app", + "missingBucket": false, + "missingBucketLabel": "Missing", + "order": "desc", + "orderBy": "1", + "otherBucket": false, + "otherBucketLabel": "Other", + "size": 25 + }, + "schema": "segment", + "type": "terms" + } + ], + "params": { + "maxFontSize": 49, + "minFontSize": 13, + "orientation": "single", + "scale": "linear", + "showLabel": false + }, + "title": "Destination Apps [Metricbeat Istio]", + "type": "tagcloud" + } + }, + "id": "1d076a90-0c7e-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [ + { + "id": "metricbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + } + ], + "type": "visualization", + "updated_at": "2020-10-13T12:53:51.894Z", + "version": "WzY0LDFd" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "title": "Duration of requests per destination [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "axis_formatter": "number", + "axis_min": 0, + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "default_timefield": "@timestamp", + "filter": { + "language": "kuery", + "query": "" + }, + "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", + "index_pattern": "metricbeat-*", + "interval": "auto", + "isModelInvalid": false, + "series": [ + { + "axis_position": "right", + "chart_type": "line", + "color": "#6092C0", + "fill": 0, + "formatter": "ms,s,2", + "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", + "label": "Duration of Requests", + "line_width": 2, + "metrics": [ + { + "field": "prometheus.istio_request_duration_milliseconds.histogram", + "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "percentiles": [ + { + "id": "257a4bc0-0c79-11eb-a187-45e4454f723b", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "99" + } + ], + "type": "percentile" + } + ], + "point_size": 0, + "separate_axis": 0, + "split_mode": "terms", + "stacked": "none", + "terms_field": "prometheus.labels.destination_app", + "terms_size": "100", + "type": "timeseries", + "value_template": "{{value}}" + } + ], + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "tooltip_mode": "show_all", + "type": "timeseries" + }, + "title": "Duration of requests per destination [Metricbeat Istio]", + "type": "metrics" + } + }, + "id": "3ae9b3f0-0c7a-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T13:04:46.542Z", + "version": "WzM0MiwxXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "title": "Size of requests per source [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "axis_formatter": "number", + "axis_min": 0, + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "default_timefield": "@timestamp", + "filter": { + "language": "kuery", + "query": "" + }, + "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", + "index_pattern": "metricbeat-*", + "interval": "auto", + "isModelInvalid": false, + "series": [ + { + "axis_position": "right", + "chart_type": "line", + "color": "#6092C0", + "fill": 0, + "formatter": "bytes", + "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", + "label": "Size of Requests", + "line_width": 2, + "metrics": [ + { + "field": "prometheus.istio_request_bytes.histogram", + "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "percentiles": [ + { + "id": "257a4bc0-0c79-11eb-a187-45e4454f723b", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "99" + } + ], + "type": "percentile", + "values": [ + "99" + ] + } + ], + "point_size": 0, + "separate_axis": 0, + "split_mode": "terms", + "stacked": "none", + "terms_field": "prometheus.labels.source_app", + "terms_size": "100", + "type": "timeseries", + "value_template": "{{value}}" + } + ], + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "tooltip_mode": "show_all", + "type": "timeseries" + }, + "title": "Size of requests per source [Metricbeat Istio]", + "type": "metrics" + } + }, + "id": "60dacbe0-0c79-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T13:15:39.548Z", + "version": "WzQ4NywxXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "title": "Size of requests per destination [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "axis_formatter": "number", + "axis_min": 0, + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "default_timefield": "@timestamp", + "filter": { + "language": "kuery", + "query": "" + }, + "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", + "index_pattern": "metricbeat-*", + "interval": "auto", + "isModelInvalid": false, + "series": [ + { + "axis_position": "right", + "chart_type": "line", + "color": "#6092C0", + "fill": 0, + "formatter": "bytes", + "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", + "label": "Size of Requests", + "line_width": 2, + "metrics": [ + { + "field": "prometheus.istio_request_bytes.histogram", + "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "percentiles": [ + { + "id": "257a4bc0-0c79-11eb-a187-45e4454f723b", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "99" + } + ], + "type": "percentile", + "values": [ + "99" + ] + } + ], + "point_size": 0, + "separate_axis": 0, + "split_mode": "terms", + "stacked": "none", + "terms_field": "prometheus.labels.destination_app", + "terms_size": "100", + "type": "timeseries", + "value_template": "{{value}}" + } + ], + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "tooltip_mode": "show_all", + "type": "timeseries" + }, + "title": "Size of requests per destination [Metricbeat Istio]", + "type": "metrics" + } + }, + "id": "78375380-0c79-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T13:15:47.103Z", + "version": "WzQ5MCwxXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "title": "Duration of requests per source [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "axis_formatter": "number", + "axis_min": 0, + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "default_timefield": "@timestamp", + "filter": { + "language": "kuery", + "query": "" + }, + "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", + "index_pattern": "metricbeat-*", + "interval": "auto", + "isModelInvalid": false, + "series": [ + { + "axis_position": "right", + "chart_type": "line", + "color": "#6092C0", + "fill": 0, + "formatter": "ms,s,2", + "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", + "label": "Duration of Requests", + "line_width": 2, + "metrics": [ + { + "field": "prometheus.istio_request_duration_milliseconds.histogram", + "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "percentiles": [ + { + "id": "257a4bc0-0c79-11eb-a187-45e4454f723b", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "99" + } + ], + "type": "percentile" + } + ], + "point_size": 0, + "separate_axis": 0, + "split_mode": "terms", + "stacked": "none", + "terms_field": "prometheus.labels.source_app", + "terms_size": "100", + "type": "timeseries", + "value_template": "{{value}}" + } + ], + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "tooltip_mode": "show_all", + "type": "timeseries" + }, + "title": "Duration of requests per source [Metricbeat Istio]", + "type": "metrics" + } + }, + "id": "5fd462f0-0c7a-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T13:03:54.986Z", + "version": "WzMyNywxXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "title": "Size of response per source [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "axis_formatter": "number", + "axis_min": 0, + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "default_timefield": "@timestamp", + "filter": { + "language": "kuery", + "query": "" + }, + "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", + "index_pattern": "metricbeat-*", + "interval": "auto", + "isModelInvalid": false, + "series": [ + { + "axis_position": "right", + "chart_type": "line", + "color": "#6092C0", + "fill": 0, + "formatter": "bytes", + "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", + "label": "Size of Responses", + "line_width": 2, + "metrics": [ + { + "field": "prometheus.istio_response_bytes.histogram", + "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "percentiles": [ + { + "id": "257a4bc0-0c79-11eb-a187-45e4454f723b", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "99" + } + ], + "type": "percentile_rank", + "values": [ + "99" + ] + } + ], + "point_size": 0, + "separate_axis": 0, + "split_mode": "terms", + "stacked": "none", + "terms_field": "prometheus.labels.source_app", + "terms_size": "100", + "type": "timeseries", + "value_template": "{{value}}" + } + ], + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "tooltip_mode": "show_all", + "type": "timeseries" + }, + "title": "Size of response per source [Metricbeat Istio]", + "type": "metrics" + } + }, + "id": "b4235550-0c7a-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T13:13:05.112Z", + "version": "WzQ0NSwxXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "title": "Size of response per destination [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "axis_formatter": "number", + "axis_min": 0, + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "default_timefield": "@timestamp", + "filter": { + "language": "kuery", + "query": "" + }, + "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", + "index_pattern": "metricbeat-*", + "interval": "auto", + "isModelInvalid": false, + "series": [ + { + "axis_position": "right", + "chart_type": "line", + "color": "#6092C0", + "fill": 0, + "formatter": "bytes", + "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", + "label": "Size of Responses", + "line_width": 2, + "metrics": [ + { + "field": "prometheus.istio_response_bytes.histogram", + "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "percentiles": [ + { + "id": "257a4bc0-0c79-11eb-a187-45e4454f723b", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "99" + } + ], + "type": "percentile", + "values": [ + "99" + ] + } + ], + "point_size": 0, + "separate_axis": 0, + "split_mode": "terms", + "stacked": "none", + "terms_field": "prometheus.labels.destination_app", + "terms_size": "100", + "type": "timeseries", + "value_template": "{{value}}" + } + ], + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "tooltip_mode": "show_all", + "type": "timeseries" + }, + "title": "Size of response per destination [Metricbeat Istio]", + "type": "metrics" + } + }, + "id": "8d818070-0c7a-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T13:16:05.893Z", + "version": "WzQ5NywxXQ==" + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": {} + }, + "title": "Response Codes [Metricbeat Istio]", + "uiStateJSON": {}, + "version": 1, + "visState": { + "aggs": [], + "params": { + "axis_formatter": "number", + "axis_min": 0, + "axis_position": "left", + "axis_scale": "normal", + "default_index_pattern": "metricbeat-*", + "default_timefield": "@timestamp", + "filter": { + "language": "kuery", + "query": "" + }, + "id": "7ccbe640-07d8-11eb-985d-2f490d4c2901", + "index_pattern": "metricbeat-*", + "interval": "auto", + "isModelInvalid": false, + "series": [ + { + "axis_position": "right", + "chart_type": "line", + "color": "#6092C0", + "fill": 0, + "formatter": "number", + "id": "7ccbe641-07d8-11eb-985d-2f490d4c2901", + "label": "Response Codes", + "line_width": 2, + "metrics": [ + { + "field": "prometheus.istio_response_bytes.histogram.values", + "id": "7ccbe642-07d8-11eb-985d-2f490d4c2901", + "percentiles": [ + { + "id": "88c0d000-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "25" + }, + { + "id": "95c750d0-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "50" + }, + { + "id": "9c5ec900-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "75" + }, + { + "id": "a3581040-07d8-11eb-86d1-6521145f6524", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "95" + }, + { + "id": "257a4bc0-0c79-11eb-a187-45e4454f723b", + "mode": "line", + "percentile": "", + "shade": 0.2, + "value": "99" + } + ], + "type": "count" + } + ], + "point_size": 0, + "separate_axis": 0, + "split_mode": "terms", + "stacked": "none", + "terms_field": "prometheus.labels.response_code", + "terms_size": "100", + "type": "timeseries", + "value_template": "{{value}}" + } + ], + "show_grid": 1, + "show_legend": 1, + "time_field": "@timestamp", + "type": "timeseries" + }, + "title": "Response Codes [Metricbeat Istio]", + "type": "metrics" + } + }, + "id": "09404610-0c7b-11eb-a3fd-1b45ec532bb3", + "migrationVersion": { + "visualization": "7.8.0" + }, + "namespaces": [ + "default" + ], + "references": [], + "type": "visualization", + "updated_at": "2020-10-13T12:53:51.894Z", + "version": "WzcxLDFd" + } + ], + "version": "7.9.0" +} diff --git a/x-pack/metricbeat/module/istio/fields.go b/x-pack/metricbeat/module/istio/fields.go index ccd41e55fe8..49ad72ab697 100644 --- a/x-pack/metricbeat/module/istio/fields.go +++ b/x-pack/metricbeat/module/istio/fields.go @@ -19,5 +19,5 @@ func init() { // AssetIstio returns asset data. // This is the base64 encoded gzipped contents of module/istio. func AssetIstio() string { - return "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" + return "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" } diff --git a/x-pack/metricbeat/module/istio/istiod/_meta/docs.ascoodoc b/x-pack/metricbeat/module/istio/istiod/_meta/docs.asciidoc similarity index 100% rename from x-pack/metricbeat/module/istio/istiod/_meta/docs.ascoodoc rename to x-pack/metricbeat/module/istio/istiod/_meta/docs.asciidoc diff --git a/x-pack/metricbeat/module/istio/istiod/_meta/fields.yml b/x-pack/metricbeat/module/istio/istiod/_meta/fields.yml index 8033a27f5ac..dee384f91b1 100644 --- a/x-pack/metricbeat/module/istio/istiod/_meta/fields.yml +++ b/x-pack/metricbeat/module/istio/istiod/_meta/fields.yml @@ -1 +1,4 @@ -- release: beta +- name: istiod + type: group + release: beta + fields: diff --git a/x-pack/metricbeat/module/istio/module.yml b/x-pack/metricbeat/module/istio/module.yml index de29503fca5..027290884dd 100644 --- a/x-pack/metricbeat/module/istio/module.yml +++ b/x-pack/metricbeat/module/istio/module.yml @@ -1,3 +1,4 @@ name: istio metricsets: - istiod +- proxy diff --git a/x-pack/metricbeat/module/istio/proxy/_meta/docs.asciidoc b/x-pack/metricbeat/module/istio/proxy/_meta/docs.asciidoc new file mode 100644 index 00000000000..4f7aa03a9ef --- /dev/null +++ b/x-pack/metricbeat/module/istio/proxy/_meta/docs.asciidoc @@ -0,0 +1,33 @@ +This is the proxy metricset of the module istio. +This metricset collects metrics from the Envoy proxy's Prometheus exporter for Istio versions higher than 1.5 + +Tested with Istio 1.7 + +[float] +=== Deployment + +Istio-proxy is a sidecar container that is being injected into every Pod that is +being deployed on a Kubernetes cluster which's traffic is managed by Istio. +Because of this reason, in oder to collect metrics from this sidecars we need +to automatically identify these sidecar containers and start monitoring them +using their IP and the predifined port (15090). This can be achieved easily by +defining the proper autodiscover provider that will automatically identifies +all these sidecar containers and will start `proxy` metricset for each one of +them. Here is an example configuration that can be used for that purpose: + + +["source", "yaml"] +-------------------------------------------- +metricbeat.autodiscover: + providers: + - type: kubernetes + include_annotations: ["prometheus.io.scrape"] + templates: + - condition: + contains: + kubernetes.annotations.prometheus.io/path: "/stats/prometheus" + config: + - module: istio + metricsets: ["proxy"] + hosts: "${data.host}:15090" +-------------------------------------------- diff --git a/x-pack/metricbeat/module/istio/proxy/_meta/fields.yml b/x-pack/metricbeat/module/istio/proxy/_meta/fields.yml new file mode 100644 index 00000000000..1c1fa1b036d --- /dev/null +++ b/x-pack/metricbeat/module/istio/proxy/_meta/fields.yml @@ -0,0 +1,4 @@ +- name: proxy + type: group + release: beta + fields: diff --git a/x-pack/metricbeat/module/istio/proxy/_meta/testdata/config.yml b/x-pack/metricbeat/module/istio/proxy/_meta/testdata/config.yml new file mode 100644 index 00000000000..a22f2cf7133 --- /dev/null +++ b/x-pack/metricbeat/module/istio/proxy/_meta/testdata/config.yml @@ -0,0 +1,5 @@ +type: http +url: "/stats/prometheus" +suffix: plain +remove_fields_from_comparison: ["prometheus.labels.instance"] +omit_documented_fields_check: ["prometheus.labels.*"] diff --git a/x-pack/metricbeat/module/istio/proxy/_meta/testdata/proxy.v1.7.1.plain b/x-pack/metricbeat/module/istio/proxy/_meta/testdata/proxy.v1.7.1.plain new file mode 100644 index 00000000000..c5a3fb5335d --- /dev/null +++ b/x-pack/metricbeat/module/istio/proxy/_meta/testdata/proxy.v1.7.1.plain @@ -0,0 +1,1146 @@ +# TYPE istio_requests_total counter +istio_requests_total{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 6 +istio_requests_total{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 5 +istio_requests_total{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 2 +istio_requests_total{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1"} 6 +istio_requests_total{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1"} 3 +istio_requests_total{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2"} 2 +istio_requests_total{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3"} 1 + +# TYPE envoy_cluster_assignment_stale counter +envoy_cluster_assignment_stale{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_assignment_timeout_received counter +envoy_cluster_assignment_timeout_received{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_bind_errors counter +envoy_cluster_bind_errors{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_client_ssl_socket_factory_downstream_context_secrets_not_ready counter +envoy_cluster_client_ssl_socket_factory_downstream_context_secrets_not_ready{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_client_ssl_socket_factory_ssl_context_update_by_sds counter +envoy_cluster_client_ssl_socket_factory_ssl_context_update_by_sds{cluster_name="xds-grpc"} 1 + +# TYPE envoy_cluster_client_ssl_socket_factory_upstream_context_secrets_not_ready counter +envoy_cluster_client_ssl_socket_factory_upstream_context_secrets_not_ready{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_default_total_match_count counter +envoy_cluster_default_total_match_count{cluster_name="xds-grpc"} 473 + +# TYPE envoy_cluster_http2_dropped_headers_with_underscores counter +envoy_cluster_http2_dropped_headers_with_underscores{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_http2_header_overflow counter +envoy_cluster_http2_header_overflow{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_http2_headers_cb_no_stream counter +envoy_cluster_http2_headers_cb_no_stream{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_http2_inbound_empty_frames_flood counter +envoy_cluster_http2_inbound_empty_frames_flood{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_http2_inbound_priority_frames_flood counter +envoy_cluster_http2_inbound_priority_frames_flood{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_http2_inbound_window_update_frames_flood counter +envoy_cluster_http2_inbound_window_update_frames_flood{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_http2_outbound_control_flood counter +envoy_cluster_http2_outbound_control_flood{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_http2_outbound_flood counter +envoy_cluster_http2_outbound_flood{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_http2_requests_rejected_with_underscores_in_headers counter +envoy_cluster_http2_requests_rejected_with_underscores_in_headers{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_http2_rx_messaging_error counter +envoy_cluster_http2_rx_messaging_error{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_http2_rx_reset counter +envoy_cluster_http2_rx_reset{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_http2_too_many_header_frames counter +envoy_cluster_http2_too_many_header_frames{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_http2_trailers counter +envoy_cluster_http2_trailers{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_http2_tx_flush_timeout counter +envoy_cluster_http2_tx_flush_timeout{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_http2_tx_reset counter +envoy_cluster_http2_tx_reset{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_internal_upstream_rq counter +envoy_cluster_internal_upstream_rq{response_code_class="2xx",cluster_name="xds-grpc"} 8 +envoy_cluster_internal_upstream_rq{response_code_class="5xx",cluster_name="xds-grpc"} 4 + +# TYPE envoy_cluster_internal_upstream_rq_200 counter +envoy_cluster_internal_upstream_rq_200{cluster_name="xds-grpc"} 8 + +# TYPE envoy_cluster_internal_upstream_rq_503 counter +envoy_cluster_internal_upstream_rq_503{cluster_name="xds-grpc"} 4 + +# TYPE envoy_cluster_internal_upstream_rq_completed counter +envoy_cluster_internal_upstream_rq_completed{cluster_name="xds-grpc"} 12 + +# TYPE envoy_cluster_lb_healthy_panic counter +envoy_cluster_lb_healthy_panic{cluster_name="xds-grpc"} 4 + +# TYPE envoy_cluster_lb_local_cluster_not_ok counter +envoy_cluster_lb_local_cluster_not_ok{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_lb_recalculate_zone_structures counter +envoy_cluster_lb_recalculate_zone_structures{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_lb_subsets_created counter +envoy_cluster_lb_subsets_created{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_lb_subsets_fallback counter +envoy_cluster_lb_subsets_fallback{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_lb_subsets_fallback_panic counter +envoy_cluster_lb_subsets_fallback_panic{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_lb_subsets_removed counter +envoy_cluster_lb_subsets_removed{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_lb_subsets_selected counter +envoy_cluster_lb_subsets_selected{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_lb_zone_cluster_too_small counter +envoy_cluster_lb_zone_cluster_too_small{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_lb_zone_no_capacity_left counter +envoy_cluster_lb_zone_no_capacity_left{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_lb_zone_number_differs counter +envoy_cluster_lb_zone_number_differs{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_lb_zone_routing_all_directly counter +envoy_cluster_lb_zone_routing_all_directly{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_lb_zone_routing_cross_zone counter +envoy_cluster_lb_zone_routing_cross_zone{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_lb_zone_routing_sampled counter +envoy_cluster_lb_zone_routing_sampled{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_membership_change counter +envoy_cluster_membership_change{cluster_name="xds-grpc"} 1 + +# TYPE envoy_cluster_original_dst_host_invalid counter +envoy_cluster_original_dst_host_invalid{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_retry_or_shadow_abandoned counter +envoy_cluster_retry_or_shadow_abandoned{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_ssl_ciphers_ECDHE_RSA_AES128_GCM_SHA256 counter +envoy_cluster_ssl_ciphers_ECDHE_RSA_AES128_GCM_SHA256{cluster_name="xds-grpc"} 8 + +# TYPE envoy_cluster_ssl_connection_error counter +envoy_cluster_ssl_connection_error{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_ssl_curves_X25519 counter +envoy_cluster_ssl_curves_X25519{cluster_name="xds-grpc"} 8 + +# TYPE envoy_cluster_ssl_fail_verify_cert_hash counter +envoy_cluster_ssl_fail_verify_cert_hash{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_ssl_fail_verify_error counter +envoy_cluster_ssl_fail_verify_error{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_ssl_fail_verify_no_cert counter +envoy_cluster_ssl_fail_verify_no_cert{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_ssl_fail_verify_san counter +envoy_cluster_ssl_fail_verify_san{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_ssl_handshake counter +envoy_cluster_ssl_handshake{cluster_name="xds-grpc"} 8 + +# TYPE envoy_cluster_ssl_no_certificate counter +envoy_cluster_ssl_no_certificate{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_ssl_session_reused counter +envoy_cluster_ssl_session_reused{cluster_name="xds-grpc"} 5 + +# TYPE envoy_cluster_ssl_sigalgs_rsa_pss_rsae_sha256 counter +envoy_cluster_ssl_sigalgs_rsa_pss_rsae_sha256{cluster_name="xds-grpc"} 8 + +# TYPE envoy_cluster_ssl_versions_TLSv1_2 counter +envoy_cluster_ssl_versions_TLSv1_2{cluster_name="xds-grpc"} 8 + +# TYPE envoy_cluster_update_attempt counter +envoy_cluster_update_attempt{cluster_name="xds-grpc"} 473 + +# TYPE envoy_cluster_update_empty counter +envoy_cluster_update_empty{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_update_failure counter +envoy_cluster_update_failure{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_update_no_rebuild counter +envoy_cluster_update_no_rebuild{cluster_name="xds-grpc"} 472 + +# TYPE envoy_cluster_update_success counter +envoy_cluster_update_success{cluster_name="xds-grpc"} 473 + +# TYPE envoy_cluster_upstream_cx_close_notify counter +envoy_cluster_upstream_cx_close_notify{cluster_name="xds-grpc"} 7 + +# TYPE envoy_cluster_upstream_cx_connect_attempts_exceeded counter +envoy_cluster_upstream_cx_connect_attempts_exceeded{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_cx_connect_fail counter +envoy_cluster_upstream_cx_connect_fail{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_cx_connect_timeout counter +envoy_cluster_upstream_cx_connect_timeout{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_cx_destroy counter +envoy_cluster_upstream_cx_destroy{cluster_name="xds-grpc"} 7 + +# TYPE envoy_cluster_upstream_cx_destroy_local counter +envoy_cluster_upstream_cx_destroy_local{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_cx_destroy_local_with_active_rq counter +envoy_cluster_upstream_cx_destroy_local_with_active_rq{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_cx_destroy_remote counter +envoy_cluster_upstream_cx_destroy_remote{cluster_name="xds-grpc"} 7 + +# TYPE envoy_cluster_upstream_cx_destroy_remote_with_active_rq counter +envoy_cluster_upstream_cx_destroy_remote_with_active_rq{cluster_name="xds-grpc"} 7 + +# TYPE envoy_cluster_upstream_cx_destroy_with_active_rq counter +envoy_cluster_upstream_cx_destroy_with_active_rq{cluster_name="xds-grpc"} 7 + +# TYPE envoy_cluster_upstream_cx_http1_total counter +envoy_cluster_upstream_cx_http1_total{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_cx_http2_total counter +envoy_cluster_upstream_cx_http2_total{cluster_name="xds-grpc"} 8 + +# TYPE envoy_cluster_upstream_cx_idle_timeout counter +envoy_cluster_upstream_cx_idle_timeout{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_cx_max_requests counter +envoy_cluster_upstream_cx_max_requests{cluster_name="xds-grpc"} 8 + +# TYPE envoy_cluster_upstream_cx_none_healthy counter +envoy_cluster_upstream_cx_none_healthy{cluster_name="xds-grpc"} 4 + +# TYPE envoy_cluster_upstream_cx_overflow counter +envoy_cluster_upstream_cx_overflow{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_cx_pool_overflow counter +envoy_cluster_upstream_cx_pool_overflow{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_cx_protocol_error counter +envoy_cluster_upstream_cx_protocol_error{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_cx_rx_bytes_total counter +envoy_cluster_upstream_cx_rx_bytes_total{cluster_name="xds-grpc"} 1435518 + +# TYPE envoy_cluster_upstream_cx_total counter +envoy_cluster_upstream_cx_total{cluster_name="xds-grpc"} 8 + +# TYPE envoy_cluster_upstream_cx_tx_bytes_total counter +envoy_cluster_upstream_cx_tx_bytes_total{cluster_name="xds-grpc"} 1272824 + +# TYPE envoy_cluster_upstream_flow_control_backed_up_total counter +envoy_cluster_upstream_flow_control_backed_up_total{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_flow_control_drained_total counter +envoy_cluster_upstream_flow_control_drained_total{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_flow_control_paused_reading_total counter +envoy_cluster_upstream_flow_control_paused_reading_total{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_flow_control_resumed_reading_total counter +envoy_cluster_upstream_flow_control_resumed_reading_total{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_internal_redirect_failed_total counter +envoy_cluster_upstream_internal_redirect_failed_total{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_internal_redirect_succeeded_total counter +envoy_cluster_upstream_internal_redirect_succeeded_total{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_rq counter +envoy_cluster_upstream_rq{response_code_class="2xx",cluster_name="xds-grpc"} 8 +envoy_cluster_upstream_rq{response_code_class="5xx",cluster_name="xds-grpc"} 4 + +# TYPE envoy_cluster_upstream_rq_200 counter +envoy_cluster_upstream_rq_200{cluster_name="xds-grpc"} 8 + +# TYPE envoy_cluster_upstream_rq_503 counter +envoy_cluster_upstream_rq_503{cluster_name="xds-grpc"} 4 + +# TYPE envoy_cluster_upstream_rq_cancelled counter +envoy_cluster_upstream_rq_cancelled{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_rq_completed counter +envoy_cluster_upstream_rq_completed{cluster_name="xds-grpc"} 12 + +# TYPE envoy_cluster_upstream_rq_maintenance_mode counter +envoy_cluster_upstream_rq_maintenance_mode{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_rq_max_duration_reached counter +envoy_cluster_upstream_rq_max_duration_reached{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_rq_pending_failure_eject counter +envoy_cluster_upstream_rq_pending_failure_eject{cluster_name="xds-grpc"} 7 + +# TYPE envoy_cluster_upstream_rq_pending_overflow counter +envoy_cluster_upstream_rq_pending_overflow{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_rq_pending_total counter +envoy_cluster_upstream_rq_pending_total{cluster_name="xds-grpc"} 8 + +# TYPE envoy_cluster_upstream_rq_per_try_timeout counter +envoy_cluster_upstream_rq_per_try_timeout{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_rq_retry counter +envoy_cluster_upstream_rq_retry{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_rq_retry_limit_exceeded counter +envoy_cluster_upstream_rq_retry_limit_exceeded{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_rq_retry_overflow counter +envoy_cluster_upstream_rq_retry_overflow{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_rq_retry_success counter +envoy_cluster_upstream_rq_retry_success{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_rq_rx_reset counter +envoy_cluster_upstream_rq_rx_reset{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_rq_timeout counter +envoy_cluster_upstream_rq_timeout{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_rq_total counter +envoy_cluster_upstream_rq_total{cluster_name="xds-grpc"} 8 + +# TYPE envoy_cluster_upstream_rq_tx_reset counter +envoy_cluster_upstream_rq_tx_reset{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_manager_cds_init_fetch_timeout counter +envoy_cluster_manager_cds_init_fetch_timeout{} 0 + +# TYPE envoy_cluster_manager_cds_update_attempt counter +envoy_cluster_manager_cds_update_attempt{} 23 + +# TYPE envoy_cluster_manager_cds_update_failure counter +envoy_cluster_manager_cds_update_failure{} 7 + +# TYPE envoy_cluster_manager_cds_update_rejected counter +envoy_cluster_manager_cds_update_rejected{} 0 + +# TYPE envoy_cluster_manager_cds_update_success counter +envoy_cluster_manager_cds_update_success{} 15 + +# TYPE envoy_cluster_manager_cluster_added counter +envoy_cluster_manager_cluster_added{} 38 + +# TYPE envoy_cluster_manager_cluster_modified counter +envoy_cluster_manager_cluster_modified{} 3 + +# TYPE envoy_cluster_manager_cluster_removed counter +envoy_cluster_manager_cluster_removed{} 0 + +# TYPE envoy_cluster_manager_cluster_updated counter +envoy_cluster_manager_cluster_updated{} 29 + +# TYPE envoy_cluster_manager_cluster_updated_via_merge counter +envoy_cluster_manager_cluster_updated_via_merge{} 0 + +# TYPE envoy_cluster_manager_update_merge_cancelled counter +envoy_cluster_manager_update_merge_cancelled{} 0 + +# TYPE envoy_cluster_manager_update_out_of_merge_window counter +envoy_cluster_manager_update_out_of_merge_window{} 0 + +# TYPE envoy_listener_manager_lds_init_fetch_timeout counter +envoy_listener_manager_lds_init_fetch_timeout{} 0 + +# TYPE envoy_listener_manager_lds_update_attempt counter +envoy_listener_manager_lds_update_attempt{} 23 + +# TYPE envoy_listener_manager_lds_update_failure counter +envoy_listener_manager_lds_update_failure{} 7 + +# TYPE envoy_listener_manager_lds_update_rejected counter +envoy_listener_manager_lds_update_rejected{} 0 + +# TYPE envoy_listener_manager_lds_update_success counter +envoy_listener_manager_lds_update_success{} 15 + +# TYPE envoy_listener_manager_listener_added counter +envoy_listener_manager_listener_added{} 20 + +# TYPE envoy_listener_manager_listener_create_failure counter +envoy_listener_manager_listener_create_failure{} 0 + +# TYPE envoy_listener_manager_listener_create_success counter +envoy_listener_manager_listener_create_success{} 150 + +# TYPE envoy_listener_manager_listener_in_place_updated counter +envoy_listener_manager_listener_in_place_updated{} 55 + +# TYPE envoy_listener_manager_listener_modified counter +envoy_listener_manager_listener_modified{} 55 + +# TYPE envoy_listener_manager_listener_removed counter +envoy_listener_manager_listener_removed{} 0 + +# TYPE envoy_listener_manager_listener_stopped counter +envoy_listener_manager_listener_stopped{} 0 + +# TYPE envoy_metric_cache_count counter +envoy_metric_cache_count{cache="hit",wasm_filter="stats_filter"} 0 +envoy_metric_cache_count{cache="miss",wasm_filter="stats_filter"} 16 + +# TYPE envoy_server_debug_assertion_failures counter +envoy_server_debug_assertion_failures{} 0 + +# TYPE envoy_server_dynamic_unknown_fields counter +envoy_server_dynamic_unknown_fields{} 0 + +# TYPE envoy_server_envoy_bug_failures counter +envoy_server_envoy_bug_failures{} 0 + +# TYPE envoy_server_main_thread_watchdog_mega_miss counter +envoy_server_main_thread_watchdog_mega_miss{} 5 + +# TYPE envoy_server_main_thread_watchdog_miss counter +envoy_server_main_thread_watchdog_miss{} 14 + +# TYPE envoy_server_static_unknown_fields counter +envoy_server_static_unknown_fields{} 0 + +# TYPE envoy_server_watchdog_mega_miss counter +envoy_server_watchdog_mega_miss{} 8 + +# TYPE envoy_server_watchdog_miss counter +envoy_server_watchdog_miss{} 45 + +# TYPE envoy_server_worker_0_watchdog_mega_miss counter +envoy_server_worker_0_watchdog_mega_miss{} 2 + +# TYPE envoy_server_worker_0_watchdog_miss counter +envoy_server_worker_0_watchdog_miss{} 21 + +# TYPE envoy_server_worker_1_watchdog_mega_miss counter +envoy_server_worker_1_watchdog_mega_miss{} 1 + +# TYPE envoy_server_worker_1_watchdog_miss counter +envoy_server_worker_1_watchdog_miss{} 10 + +# TYPE envoy_wasm_envoy_wasm_runtime_v8_created counter +envoy_wasm_envoy_wasm_runtime_v8_created{} 25 + +# TYPE envoy_wasm_vm_null_cloned counter +envoy_wasm_vm_null_cloned{} 0 + +# TYPE envoy_wasm_vm_null_created counter +envoy_wasm_vm_null_created{} 50 + +# TYPE istio_build gauge +istio_build{component="proxy",tag="1.7.1"} 1 + +# TYPE envoy_cluster_circuit_breakers_default_cx_open gauge +envoy_cluster_circuit_breakers_default_cx_open{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_circuit_breakers_default_cx_pool_open gauge +envoy_cluster_circuit_breakers_default_cx_pool_open{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_circuit_breakers_default_rq_open gauge +envoy_cluster_circuit_breakers_default_rq_open{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_circuit_breakers_default_rq_pending_open gauge +envoy_cluster_circuit_breakers_default_rq_pending_open{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_circuit_breakers_default_rq_retry_open gauge +envoy_cluster_circuit_breakers_default_rq_retry_open{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_circuit_breakers_high_cx_open gauge +envoy_cluster_circuit_breakers_high_cx_open{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_circuit_breakers_high_cx_pool_open gauge +envoy_cluster_circuit_breakers_high_cx_pool_open{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_circuit_breakers_high_rq_open gauge +envoy_cluster_circuit_breakers_high_rq_open{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_circuit_breakers_high_rq_pending_open gauge +envoy_cluster_circuit_breakers_high_rq_pending_open{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_circuit_breakers_high_rq_retry_open gauge +envoy_cluster_circuit_breakers_high_rq_retry_open{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_http2_pending_send_bytes gauge +envoy_cluster_http2_pending_send_bytes{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_http2_streams_active gauge +envoy_cluster_http2_streams_active{cluster_name="xds-grpc"} 1 + +# TYPE envoy_cluster_lb_subsets_active gauge +envoy_cluster_lb_subsets_active{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_max_host_weight gauge +envoy_cluster_max_host_weight{cluster_name="xds-grpc"} 1 + +# TYPE envoy_cluster_membership_degraded gauge +envoy_cluster_membership_degraded{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_membership_excluded gauge +envoy_cluster_membership_excluded{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_membership_healthy gauge +envoy_cluster_membership_healthy{cluster_name="xds-grpc"} 1 + +# TYPE envoy_cluster_membership_total gauge +envoy_cluster_membership_total{cluster_name="xds-grpc"} 1 + +# TYPE envoy_cluster_upstream_cx_active gauge +envoy_cluster_upstream_cx_active{cluster_name="xds-grpc"} 1 + +# TYPE envoy_cluster_upstream_cx_rx_bytes_buffered gauge +envoy_cluster_upstream_cx_rx_bytes_buffered{cluster_name="xds-grpc"} 17 + +# TYPE envoy_cluster_upstream_cx_tx_bytes_buffered gauge +envoy_cluster_upstream_cx_tx_bytes_buffered{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_upstream_rq_active gauge +envoy_cluster_upstream_rq_active{cluster_name="xds-grpc"} 1 + +# TYPE envoy_cluster_upstream_rq_pending_active gauge +envoy_cluster_upstream_rq_pending_active{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_version gauge +envoy_cluster_version{cluster_name="xds-grpc"} 0 + +# TYPE envoy_cluster_manager_active_clusters gauge +envoy_cluster_manager_active_clusters{} 38 + +# TYPE envoy_cluster_manager_cds_update_time gauge +envoy_cluster_manager_cds_update_time{} 1602160603301 + +# TYPE envoy_cluster_manager_cds_version gauge +envoy_cluster_manager_cds_version{} 14451656482200925263 + +# TYPE envoy_cluster_manager_warming_clusters gauge +envoy_cluster_manager_warming_clusters{} 0 + +# TYPE envoy_listener_manager_lds_update_time gauge +envoy_listener_manager_lds_update_time{} 1602160603305 + +# TYPE envoy_listener_manager_lds_version gauge +envoy_listener_manager_lds_version{} 14451656482200925263 + +# TYPE envoy_listener_manager_total_filter_chains_draining gauge +envoy_listener_manager_total_filter_chains_draining{} 0 + +# TYPE envoy_listener_manager_total_listeners_active gauge +envoy_listener_manager_total_listeners_active{} 20 + +# TYPE envoy_listener_manager_total_listeners_draining gauge +envoy_listener_manager_total_listeners_draining{} 0 + +# TYPE envoy_listener_manager_total_listeners_warming gauge +envoy_listener_manager_total_listeners_warming{} 0 + +# TYPE envoy_listener_manager_workers_started gauge +envoy_listener_manager_workers_started{} 1 + +# TYPE envoy_server_concurrency gauge +envoy_server_concurrency{} 2 + +# TYPE envoy_server_days_until_first_cert_expiring gauge +envoy_server_days_until_first_cert_expiring{} 0 + +# TYPE envoy_server_hot_restart_epoch gauge +envoy_server_hot_restart_epoch{} 0 + +# TYPE envoy_server_hot_restart_generation gauge +envoy_server_hot_restart_generation{} 1 + +# TYPE envoy_server_live gauge +envoy_server_live{} 1 + +# TYPE envoy_server_memory_allocated gauge +envoy_server_memory_allocated{} 56508688 + +# TYPE envoy_server_memory_heap_size gauge +envoy_server_memory_heap_size{} 97271808 + +# TYPE envoy_server_memory_physical_size gauge +envoy_server_memory_physical_size{} 100016128 + +# TYPE envoy_server_parent_connections gauge +envoy_server_parent_connections{} 0 + +# TYPE envoy_server_state gauge +envoy_server_state{} 0 + +# TYPE envoy_server_stats_recent_lookups gauge +envoy_server_stats_recent_lookups{} 25928 + +# TYPE envoy_server_total_connections gauge +envoy_server_total_connections{} 0 + +# TYPE envoy_server_uptime gauge +envoy_server_uptime{} 19413 + +# TYPE envoy_server_version gauge +envoy_server_version{} 2499155 + +# TYPE envoy_wasm_envoy_wasm_runtime_v8_active gauge +envoy_wasm_envoy_wasm_runtime_v8_active{} 40 + +# TYPE envoy_wasm_vm_null_active gauge +envoy_wasm_vm_null_active{} 20 + +# TYPE istio_request_bytes histogram +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="0.5"} 0 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1"} 0 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="5"} 0 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="10"} 0 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="25"} 0 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="50"} 0 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="100"} 0 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="250"} 0 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="500"} 0 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1000"} 6 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="2500"} 6 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="5000"} 6 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="10000"} 6 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="30000"} 6 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="60000"} 6 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="300000"} 6 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="600000"} 6 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1800000"} 6 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="3600000"} 6 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="+Inf"} 6 +istio_request_bytes_sum{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 3690 +istio_request_bytes_count{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 6 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="0.5"} 0 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1"} 0 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="5"} 0 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="10"} 0 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="25"} 0 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="50"} 0 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="100"} 0 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="250"} 4 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="500"} 5 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1000"} 5 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="2500"} 5 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="5000"} 5 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="10000"} 5 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="30000"} 5 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="60000"} 5 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="300000"} 5 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="600000"} 5 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1800000"} 5 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="3600000"} 5 +istio_request_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="+Inf"} 5 +istio_request_bytes_sum{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 1235 +istio_request_bytes_count{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 5 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="0.5"} 0 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1"} 0 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="5"} 0 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="10"} 0 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="25"} 0 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="50"} 0 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="100"} 0 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="250"} 0 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="500"} 2 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1000"} 2 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="2500"} 2 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="5000"} 2 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="10000"} 2 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="30000"} 2 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="60000"} 2 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="300000"} 2 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="600000"} 2 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1800000"} 2 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="3600000"} 2 +istio_request_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="+Inf"} 2 +istio_request_bytes_sum{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 510 +istio_request_bytes_count{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 2 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="0.5"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="1"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="5"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="10"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="25"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="50"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="100"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="250"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="500"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="1000"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="2500"} 6 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="5000"} 6 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="10000"} 6 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="30000"} 6 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="60000"} 6 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="300000"} 6 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="600000"} 6 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="1800000"} 6 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="3600000"} 6 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="+Inf"} 6 +istio_request_bytes_sum{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1"} 7500 +istio_request_bytes_count{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1"} 6 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="0.5"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="1"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="5"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="10"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="25"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="50"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="100"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="250"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="500"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="1000"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="2500"} 3 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="5000"} 3 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="10000"} 3 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="30000"} 3 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="60000"} 3 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="300000"} 3 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="600000"} 3 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="1800000"} 3 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="3600000"} 3 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="+Inf"} 3 +istio_request_bytes_sum{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1"} 3750 +istio_request_bytes_count{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1"} 3 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="0.5"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="1"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="5"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="10"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="25"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="50"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="100"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="250"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="500"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="1000"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="2500"} 2 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="5000"} 2 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="10000"} 2 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="30000"} 2 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="60000"} 2 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="300000"} 2 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="600000"} 2 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="1800000"} 2 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="3600000"} 2 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="+Inf"} 2 +istio_request_bytes_sum{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2"} 2500 +istio_request_bytes_count{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2"} 2 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="0.5"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="1"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="5"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="10"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="25"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="50"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="100"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="250"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="500"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="1000"} 0 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="2500"} 1 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="5000"} 1 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="10000"} 1 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="30000"} 1 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="60000"} 1 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="300000"} 1 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="600000"} 1 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="1800000"} 1 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="3600000"} 1 +istio_request_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="+Inf"} 1 +istio_request_bytes_sum{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3"} 1250 +istio_request_bytes_count{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3"} 1 + +# TYPE istio_request_duration_milliseconds histogram +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="0.5"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="5"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="10"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="25"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="50"} 3 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="100"} 5 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="250"} 5 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="500"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1000"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="2500"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="5000"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="10000"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="30000"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="60000"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="300000"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="600000"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1800000"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="3600000"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="+Inf"} 6 +istio_request_duration_milliseconds_sum{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 712.5 +istio_request_duration_milliseconds_count{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 6 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="0.5"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="5"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="10"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="25"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="50"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="100"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="250"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="500"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1000"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="2500"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="5000"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="10000"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="30000"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="60000"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="300000"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="600000"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1800000"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="3600000"} 5 +istio_request_duration_milliseconds_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="+Inf"} 5 +istio_request_duration_milliseconds_sum{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 0 +istio_request_duration_milliseconds_count{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 5 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="0.5"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="5"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="10"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="25"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="50"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="100"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="250"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="500"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1000"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="2500"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="5000"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="10000"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="30000"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="60000"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="300000"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="600000"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1800000"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="3600000"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="+Inf"} 2 +istio_request_duration_milliseconds_sum{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 17.5500000000000007105427357601 +istio_request_duration_milliseconds_count{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="0.5"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="1"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="5"} 5 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="10"} 5 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="25"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="50"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="100"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="250"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="500"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="1000"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="2500"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="5000"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="10000"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="30000"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="60000"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="300000"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="600000"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="1800000"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="3600000"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="+Inf"} 6 +istio_request_duration_milliseconds_sum{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1"} 31.75 +istio_request_duration_milliseconds_count{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1"} 6 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="0.5"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="1"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="5"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="10"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="25"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="50"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="100"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="250"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="500"} 3 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="1000"} 3 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="2500"} 3 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="5000"} 3 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="10000"} 3 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="30000"} 3 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="60000"} 3 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="300000"} 3 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="600000"} 3 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="1800000"} 3 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="3600000"} 3 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="+Inf"} 3 +istio_request_duration_milliseconds_sum{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1"} 429.54999999999995452526491135359 +istio_request_duration_milliseconds_count{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1"} 3 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="0.5"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="1"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="5"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="10"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="25"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="50"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="100"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="250"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="500"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="1000"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="2500"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="5000"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="10000"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="30000"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="60000"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="300000"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="600000"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="1800000"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="3600000"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="+Inf"} 2 +istio_request_duration_milliseconds_sum{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2"} 76 +istio_request_duration_milliseconds_count{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2"} 2 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="0.5"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="1"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="5"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="10"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="25"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="50"} 0 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="100"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="250"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="500"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="1000"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="2500"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="5000"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="10000"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="30000"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="60000"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="300000"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="600000"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="1800000"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="3600000"} 1 +istio_request_duration_milliseconds_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="+Inf"} 1 +istio_request_duration_milliseconds_sum{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3"} 63.5 +istio_request_duration_milliseconds_count{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3"} 1 + +# TYPE istio_response_bytes histogram +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="0.5"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="5"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="10"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="25"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="50"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="100"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="250"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="500"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1000"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="2500"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="5000"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="10000"} 6 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="30000"} 6 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="60000"} 6 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="300000"} 6 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="600000"} 6 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1800000"} 6 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="3600000"} 6 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="+Inf"} 6 +istio_response_bytes_sum{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 34500 +istio_response_bytes_count{response_code="200",reporter="destination",source_workload="istio-ingressgateway",source_workload_namespace="istio-system",source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",source_app="istio-ingressgateway",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",destination_app="productpage",destination_version="v1",destination_service="productpage.default.svc.cluster.local",destination_service_name="productpage",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="mutual_tls",source_canonical_service="istio-ingressgateway",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 6 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="0.5"} 0 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1"} 0 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="5"} 0 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="10"} 0 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="25"} 0 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="50"} 0 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="100"} 0 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="250"} 5 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="500"} 5 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1000"} 5 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="2500"} 5 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="5000"} 5 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="10000"} 5 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="30000"} 5 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="60000"} 5 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="300000"} 5 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="600000"} 5 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1800000"} 5 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="3600000"} 5 +istio_response_bytes_bucket{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="+Inf"} 5 +istio_response_bytes_sum{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 1125.0000000000002273736754432321 +istio_response_bytes_count{response_code="503",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15000",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="UF",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 5 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="0.5"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="5"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="10"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="25"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="50"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="100"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="250"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="500"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1000"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="2500"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="5000"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="10000"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="30000"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="60000"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="300000"} 0 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="600000"} 2 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="1800000"} 2 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="3600000"} 2 +istio_response_bytes_bucket{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1",le="+Inf"} 2 +istio_response_bytes_sum{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 800000 +istio_response_bytes_count{response_code="200",reporter="destination",source_workload="unknown",source_workload_namespace="unknown",source_principal="unknown",source_app="unknown",source_version="unknown",destination_workload="productpage-v1",destination_workload_namespace="default",destination_principal="unknown",destination_app="productpage",destination_version="v1",destination_service="172.17.0.12:15090",destination_service_name="InboundPassthroughClusterIpv4",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="none",source_canonical_service="unknown",destination_canonical_service="productpage",source_canonical_revision="latest",destination_canonical_revision="v1"} 2 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="0.5"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="1"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="5"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="10"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="25"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="50"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="100"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="250"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="500"} 6 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="1000"} 6 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="2500"} 6 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="5000"} 6 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="10000"} 6 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="30000"} 6 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="60000"} 6 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="300000"} 6 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="600000"} 6 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="1800000"} 6 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="3600000"} 6 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1",le="+Inf"} 6 +istio_response_bytes_sum{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1"} 1830 +istio_response_bytes_count{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="details-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-details",destination_app="details",destination_version="v1",destination_service="details.default.svc.cluster.local",destination_service_name="details",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="details",source_canonical_revision="v1",destination_canonical_revision="v1"} 6 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="0.5"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="1"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="5"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="10"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="25"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="50"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="100"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="250"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="500"} 3 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="1000"} 3 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="2500"} 3 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="5000"} 3 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="10000"} 3 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="30000"} 3 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="60000"} 3 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="300000"} 3 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="600000"} 3 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="1800000"} 3 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="3600000"} 3 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1",le="+Inf"} 3 +istio_response_bytes_sum{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1"} 1405 +istio_response_bytes_count{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v1",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v1"} 3 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="0.5"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="1"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="5"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="10"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="25"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="50"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="100"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="250"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="500"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="1000"} 2 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="2500"} 2 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="5000"} 2 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="10000"} 2 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="30000"} 2 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="60000"} 2 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="300000"} 2 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="600000"} 2 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="1800000"} 2 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="3600000"} 2 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2",le="+Inf"} 2 +istio_response_bytes_sum{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2"} 1110 +istio_response_bytes_count{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v2",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v2",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v2"} 2 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="0.5"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="1"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="5"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="10"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="25"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="50"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="100"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="250"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="500"} 0 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="1000"} 1 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="2500"} 1 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="5000"} 1 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="10000"} 1 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="30000"} 1 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="60000"} 1 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="300000"} 1 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="600000"} 1 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="1800000"} 1 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="3600000"} 1 +istio_response_bytes_bucket{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3",le="+Inf"} 1 +istio_response_bytes_sum{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3"} 545 +istio_response_bytes_count{response_code="200",reporter="source",source_workload="productpage-v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",destination_workload="reviews-v3",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-reviews",destination_app="reviews",destination_version="v3",destination_service="reviews.default.svc.cluster.local",destination_service_name="reviews",destination_service_namespace="default",request_protocol="http",response_flags="-",grpc_response_status="",connection_security_policy="unknown",source_canonical_service="productpage",destination_canonical_service="reviews",source_canonical_revision="v1",destination_canonical_revision="v3"} 1 + +# TYPE envoy_cluster_upstream_cx_connect_ms histogram +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="0.5"} 0 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="1"} 0 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="5"} 6 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="10"} 7 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="25"} 8 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="50"} 8 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="100"} 8 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="250"} 8 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="500"} 8 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="1000"} 8 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="2500"} 8 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="5000"} 8 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="10000"} 8 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="30000"} 8 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="60000"} 8 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="300000"} 8 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="600000"} 8 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="1800000"} 8 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="3600000"} 8 +envoy_cluster_upstream_cx_connect_ms_bucket{cluster_name="xds-grpc",le="+Inf"} 8 +envoy_cluster_upstream_cx_connect_ms_sum{cluster_name="xds-grpc"} 30.8500000000000014210854715202 +envoy_cluster_upstream_cx_connect_ms_count{cluster_name="xds-grpc"} 8 + +# TYPE envoy_cluster_upstream_cx_length_ms histogram +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="0.5"} 0 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="1"} 0 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="5"} 0 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="10"} 0 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="25"} 0 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="50"} 0 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="100"} 0 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="250"} 0 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="500"} 0 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="1000"} 0 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="2500"} 0 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="5000"} 0 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="10000"} 0 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="30000"} 0 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="60000"} 0 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="300000"} 0 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="600000"} 0 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="1800000"} 4 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="3600000"} 7 +envoy_cluster_upstream_cx_length_ms_bucket{cluster_name="xds-grpc",le="+Inf"} 7 +envoy_cluster_upstream_cx_length_ms_sum{cluster_name="xds-grpc"} 12450000 +envoy_cluster_upstream_cx_length_ms_count{cluster_name="xds-grpc"} 7 + +# TYPE envoy_server_initialization_time_ms histogram +envoy_server_initialization_time_ms_bucket{le="0.5"} 0 +envoy_server_initialization_time_ms_bucket{le="1"} 0 +envoy_server_initialization_time_ms_bucket{le="5"} 0 +envoy_server_initialization_time_ms_bucket{le="10"} 0 +envoy_server_initialization_time_ms_bucket{le="25"} 0 +envoy_server_initialization_time_ms_bucket{le="50"} 0 +envoy_server_initialization_time_ms_bucket{le="100"} 0 +envoy_server_initialization_time_ms_bucket{le="250"} 0 +envoy_server_initialization_time_ms_bucket{le="500"} 0 +envoy_server_initialization_time_ms_bucket{le="1000"} 0 +envoy_server_initialization_time_ms_bucket{le="2500"} 0 +envoy_server_initialization_time_ms_bucket{le="5000"} 0 +envoy_server_initialization_time_ms_bucket{le="10000"} 1 +envoy_server_initialization_time_ms_bucket{le="30000"} 1 +envoy_server_initialization_time_ms_bucket{le="60000"} 1 +envoy_server_initialization_time_ms_bucket{le="300000"} 1 +envoy_server_initialization_time_ms_bucket{le="600000"} 1 +envoy_server_initialization_time_ms_bucket{le="1800000"} 1 +envoy_server_initialization_time_ms_bucket{le="3600000"} 1 +envoy_server_initialization_time_ms_bucket{le="+Inf"} 1 +envoy_server_initialization_time_ms_sum{} 6650 +envoy_server_initialization_time_ms_count{} 1 + diff --git a/x-pack/metricbeat/module/istio/proxy/_meta/testdata/proxy.v1.7.1.plain-expected.json b/x-pack/metricbeat/module/istio/proxy/_meta/testdata/proxy.v1.7.1.plain-expected.json new file mode 100644 index 00000000000..742e696fe76 --- /dev/null +++ b/x-pack/metricbeat/module/istio/proxy/_meta/testdata/proxy.v1.7.1.plain-expected.json @@ -0,0 +1,1365 @@ +[ + { + "event": { + "dataset": "istio.proxy", + "duration": 115000, + "module": "istio" + }, + "metricset": { + "name": "proxy", + "period": 10000 + }, + "prometheus": { + "istio_request_bytes": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "istio_request_duration_milliseconds": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "istio_requests_total": { + "counter": 5, + "rate": 0 + }, + "istio_response_bytes": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "labels": { + "connection_security_policy": "none", + "destination_app": "productpage", + "destination_canonical_revision": "v1", + "destination_canonical_service": "productpage", + "destination_principal": "unknown", + "destination_service": "172.17.0.12:15000", + "destination_service_name": "InboundPassthroughClusterIpv4", + "destination_service_namespace": "default", + "destination_version": "v1", + "destination_workload": "productpage-v1", + "destination_workload_namespace": "default", + "instance": "127.0.0.1:49701", + "job": "istio", + "reporter": "destination", + "request_protocol": "http", + "response_code": "503", + "response_flags": "UF", + "source_app": "unknown", + "source_canonical_revision": "latest", + "source_canonical_service": "unknown", + "source_principal": "unknown", + "source_version": "unknown", + "source_workload": "unknown", + "source_workload_namespace": "unknown" + } + }, + "service": { + "address": "127.0.0.1:55555", + "type": "istio" + } + }, + { + "event": { + "dataset": "istio.proxy", + "duration": 115000, + "module": "istio" + }, + "metricset": { + "name": "proxy", + "period": 10000 + }, + "prometheus": { + "istio_request_bytes": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "istio_request_duration_milliseconds": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "istio_requests_total": { + "counter": 2, + "rate": 0 + }, + "istio_response_bytes": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "labels": { + "connection_security_policy": "unknown", + "destination_app": "reviews", + "destination_canonical_revision": "v2", + "destination_canonical_service": "reviews", + "destination_principal": "spiffe://cluster.local/ns/default/sa/bookinfo-reviews", + "destination_service": "reviews.default.svc.cluster.local", + "destination_service_name": "reviews", + "destination_service_namespace": "default", + "destination_version": "v2", + "destination_workload": "reviews-v2", + "destination_workload_namespace": "default", + "instance": "127.0.0.1:49701", + "job": "istio", + "reporter": "source", + "request_protocol": "http", + "response_code": "200", + "response_flags": "-", + "source_app": "productpage", + "source_canonical_revision": "v1", + "source_canonical_service": "productpage", + "source_principal": "spiffe://cluster.local/ns/default/sa/bookinfo-productpage", + "source_version": "v1", + "source_workload": "productpage-v1", + "source_workload_namespace": "default" + } + }, + "service": { + "address": "127.0.0.1:55555", + "type": "istio" + } + }, + { + "event": { + "dataset": "istio.proxy", + "duration": 115000, + "module": "istio" + }, + "metricset": { + "name": "proxy", + "period": 10000 + }, + "prometheus": { + "istio_request_bytes": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "istio_request_duration_milliseconds": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "istio_requests_total": { + "counter": 6, + "rate": 0 + }, + "istio_response_bytes": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "labels": { + "connection_security_policy": "unknown", + "destination_app": "details", + "destination_canonical_revision": "v1", + "destination_canonical_service": "details", + "destination_principal": "spiffe://cluster.local/ns/default/sa/bookinfo-details", + "destination_service": "details.default.svc.cluster.local", + "destination_service_name": "details", + "destination_service_namespace": "default", + "destination_version": "v1", + "destination_workload": "details-v1", + "destination_workload_namespace": "default", + "instance": "127.0.0.1:49701", + "job": "istio", + "reporter": "source", + "request_protocol": "http", + "response_code": "200", + "response_flags": "-", + "source_app": "productpage", + "source_canonical_revision": "v1", + "source_canonical_service": "productpage", + "source_principal": "spiffe://cluster.local/ns/default/sa/bookinfo-productpage", + "source_version": "v1", + "source_workload": "productpage-v1", + "source_workload_namespace": "default" + } + }, + "service": { + "address": "127.0.0.1:55555", + "type": "istio" + } + }, + { + "event": { + "dataset": "istio.proxy", + "duration": 115000, + "module": "istio" + }, + "metricset": { + "name": "proxy", + "period": 10000 + }, + "prometheus": { + "istio_request_bytes": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "istio_request_duration_milliseconds": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "istio_requests_total": { + "counter": 2, + "rate": 0 + }, + "istio_response_bytes": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "labels": { + "connection_security_policy": "none", + "destination_app": "productpage", + "destination_canonical_revision": "v1", + "destination_canonical_service": "productpage", + "destination_principal": "unknown", + "destination_service": "172.17.0.12:15090", + "destination_service_name": "InboundPassthroughClusterIpv4", + "destination_service_namespace": "default", + "destination_version": "v1", + "destination_workload": "productpage-v1", + "destination_workload_namespace": "default", + "instance": "127.0.0.1:49701", + "job": "istio", + "reporter": "destination", + "request_protocol": "http", + "response_code": "200", + "response_flags": "-", + "source_app": "unknown", + "source_canonical_revision": "latest", + "source_canonical_service": "unknown", + "source_principal": "unknown", + "source_version": "unknown", + "source_workload": "unknown", + "source_workload_namespace": "unknown" + } + }, + "service": { + "address": "127.0.0.1:55555", + "type": "istio" + } + }, + { + "event": { + "dataset": "istio.proxy", + "duration": 115000, + "module": "istio" + }, + "metricset": { + "name": "proxy", + "period": 10000 + }, + "prometheus": { + "istio_request_bytes": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "istio_request_duration_milliseconds": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "istio_requests_total": { + "counter": 6, + "rate": 0 + }, + "istio_response_bytes": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "labels": { + "connection_security_policy": "mutual_tls", + "destination_app": "productpage", + "destination_canonical_revision": "v1", + "destination_canonical_service": "productpage", + "destination_principal": "spiffe://cluster.local/ns/default/sa/bookinfo-productpage", + "destination_service": "productpage.default.svc.cluster.local", + "destination_service_name": "productpage", + "destination_service_namespace": "default", + "destination_version": "v1", + "destination_workload": "productpage-v1", + "destination_workload_namespace": "default", + "instance": "127.0.0.1:49701", + "job": "istio", + "reporter": "destination", + "request_protocol": "http", + "response_code": "200", + "response_flags": "-", + "source_app": "istio-ingressgateway", + "source_canonical_revision": "latest", + "source_canonical_service": "istio-ingressgateway", + "source_principal": "spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account", + "source_version": "unknown", + "source_workload": "istio-ingressgateway", + "source_workload_namespace": "istio-system" + } + }, + "service": { + "address": "127.0.0.1:55555", + "type": "istio" + } + }, + { + "event": { + "dataset": "istio.proxy", + "duration": 115000, + "module": "istio" + }, + "metricset": { + "name": "proxy", + "period": 10000 + }, + "prometheus": { + "istio_build": { + "value": 1 + }, + "labels": { + "component": "proxy", + "instance": "127.0.0.1:49701", + "job": "istio", + "tag": "1.7.1" + } + }, + "service": { + "address": "127.0.0.1:55555", + "type": "istio" + } + }, + { + "event": { + "dataset": "istio.proxy", + "duration": 115000, + "module": "istio" + }, + "metricset": { + "name": "proxy", + "period": 10000 + }, + "prometheus": { + "istio_request_bytes": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "istio_request_duration_milliseconds": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "istio_requests_total": { + "counter": 1, + "rate": 0 + }, + "istio_response_bytes": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "labels": { + "connection_security_policy": "unknown", + "destination_app": "reviews", + "destination_canonical_revision": "v3", + "destination_canonical_service": "reviews", + "destination_principal": "spiffe://cluster.local/ns/default/sa/bookinfo-reviews", + "destination_service": "reviews.default.svc.cluster.local", + "destination_service_name": "reviews", + "destination_service_namespace": "default", + "destination_version": "v3", + "destination_workload": "reviews-v3", + "destination_workload_namespace": "default", + "instance": "127.0.0.1:49701", + "job": "istio", + "reporter": "source", + "request_protocol": "http", + "response_code": "200", + "response_flags": "-", + "source_app": "productpage", + "source_canonical_revision": "v1", + "source_canonical_service": "productpage", + "source_principal": "spiffe://cluster.local/ns/default/sa/bookinfo-productpage", + "source_version": "v1", + "source_workload": "productpage-v1", + "source_workload_namespace": "default" + } + }, + "service": { + "address": "127.0.0.1:55555", + "type": "istio" + } + }, + { + "event": { + "dataset": "istio.proxy", + "duration": 115000, + "module": "istio" + }, + "metricset": { + "name": "proxy", + "period": 10000 + }, + "prometheus": { + "istio_request_bytes": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "istio_request_duration_milliseconds": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "istio_requests_total": { + "counter": 3, + "rate": 0 + }, + "istio_response_bytes": { + "histogram": { + "counts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "values": [ + 0.25, + 0.75, + 3, + 7.5, + 17.5, + 37.5, + 75, + 175, + 375, + 750, + 1750, + 3750, + 7500, + 20000, + 45000, + 180000, + 450000, + 1200000, + 2700000, + 5400000 + ] + } + }, + "labels": { + "connection_security_policy": "unknown", + "destination_app": "reviews", + "destination_canonical_revision": "v1", + "destination_canonical_service": "reviews", + "destination_principal": "spiffe://cluster.local/ns/default/sa/bookinfo-reviews", + "destination_service": "reviews.default.svc.cluster.local", + "destination_service_name": "reviews", + "destination_service_namespace": "default", + "destination_version": "v1", + "destination_workload": "reviews-v1", + "destination_workload_namespace": "default", + "instance": "127.0.0.1:49701", + "job": "istio", + "reporter": "source", + "request_protocol": "http", + "response_code": "200", + "response_flags": "-", + "source_app": "productpage", + "source_canonical_revision": "v1", + "source_canonical_service": "productpage", + "source_principal": "spiffe://cluster.local/ns/default/sa/bookinfo-productpage", + "source_version": "v1", + "source_workload": "productpage-v1", + "source_workload_namespace": "default" + } + }, + "service": { + "address": "127.0.0.1:55555", + "type": "istio" + } + } +] \ No newline at end of file diff --git a/x-pack/metricbeat/module/istio/proxy/manifest.yml b/x-pack/metricbeat/module/istio/proxy/manifest.yml new file mode 100644 index 00000000000..856d6d5f38e --- /dev/null +++ b/x-pack/metricbeat/module/istio/proxy/manifest.yml @@ -0,0 +1,11 @@ +default: false +input: + module: prometheus + metricset: collector + defaults: + metrics_path: /stats/prometheus + metrics_filters: + include: ["istio_*"] + exclude: ["^up$"] + use_types: true + rate_counters: true diff --git a/x-pack/metricbeat/module/istio/proxy/proxy_test.go b/x-pack/metricbeat/module/istio/proxy/proxy_test.go new file mode 100644 index 00000000000..eec0bfec301 --- /dev/null +++ b/x-pack/metricbeat/module/istio/proxy/proxy_test.go @@ -0,0 +1,32 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +// +build !integration + +package proxy + +import ( + "os" + "testing" + + "github.com/elastic/beats/v7/libbeat/logp" + "github.com/elastic/beats/v7/metricbeat/mb" + mbtest "github.com/elastic/beats/v7/metricbeat/mb/testing" + + // Register input module and metricset + _ "github.com/elastic/beats/v7/x-pack/metricbeat/module/prometheus" + _ "github.com/elastic/beats/v7/x-pack/metricbeat/module/prometheus/collector" +) + +func init() { + // To be moved to some kind of helper + os.Setenv("BEAT_STRICT_PERMS", "false") + mb.Registry.SetSecondarySource(mb.NewLightModulesSource("../../../module")) +} + +func TestEventMapping(t *testing.T) { + logp.TestingSetup() + + mbtest.TestDataFiles(t, "istio", "proxy") +} diff --git a/x-pack/metricbeat/modules.d/istio.yml.disabled b/x-pack/metricbeat/modules.d/istio.yml.disabled index b65bcdef949..119bc603d80 100644 --- a/x-pack/metricbeat/modules.d/istio.yml.disabled +++ b/x-pack/metricbeat/modules.d/istio.yml.disabled @@ -42,3 +42,10 @@ period: 10s # use istiod.istio-system:15014, when deploying Metricbeat in a kubernetes cluster as Pod or Daemonset hosts: ['localhost:15014'] + +# Istio proxy to monitor Envoy sidecars for versions after 1.5 of Istio. +- module: istio + metricsets: ['proxy'] + period: 10s + # it's recommended to deploy this metricset with autodiscovery, see metricset's docs for more info + hosts: ['localhost:15090'] From be5c2902cd5c492f98d299740de03cf9d19626b4 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Thu, 15 Oct 2020 09:06:27 +0100 Subject: [PATCH 28/29] [BUILD][CI] fetch dependencies with retry (#21614) --- Jenkinsfile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index 8f05b4522cd..31d62c416ce 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -275,6 +275,13 @@ def withBeatsEnv(Map args = [:], Closure body) { fi''') } try { + // Add more stability when dependencies are not accessible temporarily + // See https://github.com/elastic/beats/issues/21609 + // retry/try/catch approach reports errors, let's avoid it to keep the + // notifications cleaner. + if (cmd(label: 'Download modules to local cache', script: 'go mod download', returnStatus: true) > 0) { + cmd(label: 'Download modules to local cache - retry', script: 'go mod download', returnStatus: true) + } body() } finally { if (archive) { From f8ff7cec3c28efb747738442fec0a47b2a968841 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Thu, 15 Oct 2020 10:28:43 +0100 Subject: [PATCH 29/29] [CI] Enable build stage for arm architecture (#21284) --- .ci/scripts/install-go.sh | 15 +++++++++++++-- Jenkinsfile | 23 +++++++++++++++++------ auditbeat/Jenkinsfile.yml | 15 ++++++++++++++- filebeat/Jenkinsfile.yml | 13 +++++++++++++ heartbeat/Jenkinsfile.yml | 13 +++++++++++++ journalbeat/Jenkinsfile.yml | 13 +++++++++++++ libbeat/Jenkinsfile.yml | 11 +++++++++++ packetbeat/Jenkinsfile.yml | 13 +++++++++++++ x-pack/auditbeat/Jenkinsfile.yml | 13 +++++++++++++ x-pack/elastic-agent/Jenkinsfile.yml | 13 +++++++++++++ x-pack/filebeat/Jenkinsfile.yml | 13 +++++++++++++ x-pack/functionbeat/Jenkinsfile.yml | 11 +++++++++++ x-pack/libbeat/Jenkinsfile.yml | 13 +++++++++++++ 13 files changed, 170 insertions(+), 9 deletions(-) diff --git a/.ci/scripts/install-go.sh b/.ci/scripts/install-go.sh index 49e12c7a18d..59f56445a80 100755 --- a/.ci/scripts/install-go.sh +++ b/.ci/scripts/install-go.sh @@ -5,7 +5,8 @@ MSG="environment variable missing" GO_VERSION=${GO_VERSION:?$MSG} PROPERTIES_FILE=${PROPERTIES_FILE:-"go_env.properties"} HOME=${HOME:?$MSG} -ARCH=$(uname -s| tr '[:upper:]' '[:lower:]') +OS=$(uname -s| tr '[:upper:]' '[:lower:]') +ARCH=$(uname -m| tr '[:upper:]' '[:lower:]') GVM_CMD="${HOME}/bin/gvm" if command -v go @@ -19,10 +20,20 @@ then fi fi +if [ "${ARCH}" == "aarch64" ] ; then + GVM_ARCH_SUFFIX=arm64 +elif [ "${ARCH}" == "x86_64" ] ; then + GVM_ARCH_SUFFIX=amd64 +elif [ "${ARCH}" == "i686" ] ; then + GVM_ARCH_SUFFIX=386 +else + GVM_ARCH_SUFFIX=arm +fi + echo "UNMET DEP: Installing Go" mkdir -p "${HOME}/bin" -curl -sSLo "${GVM_CMD}" "https://github.com/andrewkroh/gvm/releases/download/v0.2.2/gvm-${ARCH}-amd64" +curl -sSLo "${GVM_CMD}" "https://github.com/andrewkroh/gvm/releases/download/v0.2.2/gvm-${OS}-${GVM_ARCH_SUFFIX}" chmod +x "${GVM_CMD}" gvm ${GO_VERSION}|cut -d ' ' -f 2|tr -d '\"' > ${PROPERTIES_FILE} diff --git a/Jenkinsfile b/Jenkinsfile index 31d62c416ce..f3618d6615f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -17,7 +17,6 @@ pipeline { DOCKERELASTIC_SECRET = 'secret/observability-team/ci/docker-registry/prod' DOCKER_COMPOSE_VERSION = "1.21.0" DOCKER_REGISTRY = 'docker.elastic.co' - GOX_FLAGS = "-arch amd64" JOB_GCS_BUCKET = 'beats-ci-temp' JOB_GCS_CREDENTIALS = 'beats-ci-gcs-plugin' OSS_MODULE_PATTERN = '^[a-z0-9]+beat\\/module\\/([^\\/]+)\\/.*' @@ -29,7 +28,7 @@ pipeline { XPACK_MODULE_PATTERN = '^x-pack\\/[a-z0-9]+beat\\/module\\/([^\\/]+)\\/.*' } options { - timeout(time: 2, unit: 'HOURS') + timeout(time: 3, unit: 'HOURS') buildDiscarder(logRotator(numToKeepStr: '20', artifactNumToKeepStr: '20', daysToKeepStr: '30')) timestamps() ansiColor('xterm') @@ -46,6 +45,7 @@ pipeline { booleanParam(name: 'awsCloudTests', defaultValue: true, description: 'Run AWS cloud integration tests.') string(name: 'awsRegion', defaultValue: 'eu-central-1', description: 'Default AWS region to use for testing.') booleanParam(name: 'runAllStages', defaultValue: false, description: 'Allow to run all stages.') + booleanParam(name: 'armTest', defaultValue: false, description: 'Allow ARM stages.') booleanParam(name: 'macosTest', defaultValue: false, description: 'Allow macOS stages.') string(name: 'PYTEST_ADDOPTS', defaultValue: '', description: 'Additional options to pass to pytest. Use PYTEST_ADDOPTS="-k pattern" to only run tests matching the specified pattern. For retries you can use `--reruns 3 --reruns-delay 15`') } @@ -223,10 +223,17 @@ def withBeatsEnv(Map args = [:], Closure body) { def withModule = args.get('withModule', false) def directory = args.get('directory', '') - def goRoot, path, magefile, pythonEnv, testResults, artifacts + def goRoot, path, magefile, pythonEnv, testResults, artifacts, gox_flags if(isUnix()) { - goRoot = "${env.WORKSPACE}/.gvm/versions/go${GO_VERSION}.${nodeOS()}.amd64" + if (isArm() && is64arm()) { + // TODO: nodeOS() should support ARM + goRoot = "${env.WORKSPACE}/.gvm/versions/go${GO_VERSION}.linux.arm64" + gox_flags = '-arch arm' + } else { + goRoot = "${env.WORKSPACE}/.gvm/versions/go${GO_VERSION}.${nodeOS()}.amd64" + gox_flags = '-arch amd64' + } path = "${env.WORKSPACE}/bin:${goRoot}/bin:${env.PATH}" magefile = "${WORKSPACE}/.magefile" pythonEnv = "${WORKSPACE}/python-env" @@ -241,6 +248,7 @@ def withBeatsEnv(Map args = [:], Closure body) { magefile = "${env.WORKSPACE}\\.magefile" testResults = "**\\build\\TEST*.xml" artifacts = "**\\build\\TEST*.out" + gox_flags = '-arch amd64' } deleteDir() @@ -258,7 +266,8 @@ def withBeatsEnv(Map args = [:], Closure body) { "PYTHON_ENV=${pythonEnv}", "RACE_DETECTOR=true", "TEST_COVERAGE=true", - "TEST_TAGS=${env.TEST_TAGS},oracle" + "TEST_TAGS=${env.TEST_TAGS},oracle", + "GOX_FLAGS=${gox_flags}" ]) { if(isDockerInstalled()) { dockerLogin(secret: "${DOCKERELASTIC_SECRET}", registry: "${DOCKER_REGISTRY}") @@ -369,7 +378,9 @@ def archiveTestOutput(Map args = [:]) { def folder = cmd(label: 'Find system-tests', returnStdout: true, script: 'python .ci/scripts/search_system_tests.py').trim() log(level: 'INFO', text: "system-tests='${folder}'. If no empty then let's create a tarball") if (folder.trim()) { - def name = folder.replaceAll('/', '-').replaceAll('\\\\', '-').replaceAll('build', '').replaceAll('^-', '') + '-' + nodeOS() + // TODO: nodeOS() should support ARM + def os_suffix = isArm() ? 'linux' : nodeOS() + def name = folder.replaceAll('/', '-').replaceAll('\\\\', '-').replaceAll('build', '').replaceAll('^-', '') + '-' + os_suffix tar(file: "${name}.tgz", archive: true, dir: folder) } } diff --git a/auditbeat/Jenkinsfile.yml b/auditbeat/Jenkinsfile.yml index 33d708e2635..b3f20af2d37 100644 --- a/auditbeat/Jenkinsfile.yml +++ b/auditbeat/Jenkinsfile.yml @@ -13,9 +13,22 @@ when: tags: true ## for all the tags platform: "linux && ubuntu-18" ## default label for all the stages stages: + arm: + mage: "mage build unitTest" + platforms: ## override default label in this specific stage. + - "arm" + when: ## Override the top-level when. + comments: + - "/test auditbeat for arm" + labels: + - "arm" + parameters: + - "armTest" + branches: true ## for all the branches + tags: true ## for all the tags build: mage: "mage build test" - crosscompile: + crosscompile: make: "make -C auditbeat crosscompile" macos: mage: "mage build unitTest" diff --git a/filebeat/Jenkinsfile.yml b/filebeat/Jenkinsfile.yml index ffe2cec98b4..09dbe948c72 100644 --- a/filebeat/Jenkinsfile.yml +++ b/filebeat/Jenkinsfile.yml @@ -13,6 +13,19 @@ when: tags: true ## for all the tags platform: "linux && ubuntu-18" ## default label for all the stages stages: + arm: + mage: "mage build unitTest" + platforms: ## override default label in this specific stage. + - "arm" + when: ## Override the top-level when. + comments: + - "/test filebeat for arm" + labels: + - "arm" + parameters: + - "armTest" + branches: true ## for all the branches + tags: true ## for all the tags build: mage: "mage build test" withModule: true ## run the ITs only if the changeset affects a specific module. diff --git a/heartbeat/Jenkinsfile.yml b/heartbeat/Jenkinsfile.yml index 8d8b00a865d..1d41dbe581e 100644 --- a/heartbeat/Jenkinsfile.yml +++ b/heartbeat/Jenkinsfile.yml @@ -13,6 +13,19 @@ when: tags: true ## for all the tags platform: "linux && ubuntu-18" ## default label for all the stages stages: + arm: + mage: "mage build unitTest" + platforms: ## override default label in this specific stage. + - "arm" + when: ## Override the top-level when. + comments: + - "/test heartbeat for arm" + labels: + - "arm" + parameters: + - "armTest" + branches: true ## for all the branches + tags: true ## for all the tags build: mage: "mage build test" macos: diff --git a/journalbeat/Jenkinsfile.yml b/journalbeat/Jenkinsfile.yml index 12bb63f4cc6..5715712dd4a 100644 --- a/journalbeat/Jenkinsfile.yml +++ b/journalbeat/Jenkinsfile.yml @@ -13,5 +13,18 @@ when: tags: true ## for all the tags platform: "linux && ubuntu-18" ## default label for all the stages stages: + arm: + mage: "mage build unitTest" + platforms: ## override default label in this specific stage. + - "arm" + when: ## Override the top-level when. + comments: + - "/test journalbeat for arm" + labels: + - "arm" + parameters: + - "armTest" + branches: true ## for all the branches + tags: true ## for all the tags unitTest: mage: "mage build unitTest" diff --git a/libbeat/Jenkinsfile.yml b/libbeat/Jenkinsfile.yml index 64a43269b13..692400e7253 100644 --- a/libbeat/Jenkinsfile.yml +++ b/libbeat/Jenkinsfile.yml @@ -12,6 +12,17 @@ when: tags: true ## for all the tags platform: "linux && ubuntu-18" ## default label for all the stages stages: + arm: + mage: "mage build unitTest" + platforms: ## override default label in this specific stage. + - "arm" + when: ## Override the top-level when. + comments: + - "/test libbeat for arm" + labels: + - "arm" + parameters: + - "armTest" build: mage: "mage build test" crosscompile: diff --git a/packetbeat/Jenkinsfile.yml b/packetbeat/Jenkinsfile.yml index 9fbe272b382..adf6471b82a 100644 --- a/packetbeat/Jenkinsfile.yml +++ b/packetbeat/Jenkinsfile.yml @@ -13,6 +13,19 @@ when: tags: true ## for all the tags platform: "linux && ubuntu-18" ## default label for all the stages stages: + arm: + mage: "mage build unitTest" + platforms: ## override default label in this specific stage. + - "arm" + when: ## Override the top-level when. + comments: + - "/test packetbeat for arm" + labels: + - "arm" + parameters: + - "armTest" + branches: true ## for all the branches + tags: true ## for all the tags build: mage: "mage build test" macos: diff --git a/x-pack/auditbeat/Jenkinsfile.yml b/x-pack/auditbeat/Jenkinsfile.yml index 5e0e2223dfa..1294c4681b4 100644 --- a/x-pack/auditbeat/Jenkinsfile.yml +++ b/x-pack/auditbeat/Jenkinsfile.yml @@ -13,6 +13,19 @@ when: tags: true ## for all the tags platform: "linux && ubuntu-18" ## default label for all the stages stages: + arm: + mage: "mage build unitTest" + platforms: ## override default label in this specific stage. + - "arm" + when: ## Override the top-level when. + comments: + - "/test x-pack/auditbeat for arm" + labels: + - "arm" + parameters: + - "armTest" + branches: true ## for all the branches + tags: true ## for all the tags build: mage: "mage update build test" withModule: true ## run the ITs only if the changeset affects a specific module. diff --git a/x-pack/elastic-agent/Jenkinsfile.yml b/x-pack/elastic-agent/Jenkinsfile.yml index a36472d123b..bf1bfed3ddd 100644 --- a/x-pack/elastic-agent/Jenkinsfile.yml +++ b/x-pack/elastic-agent/Jenkinsfile.yml @@ -13,6 +13,19 @@ when: tags: true ## for all the tags platform: "linux && ubuntu-18" ## default label for all the stages stages: + arm: + mage: "mage build unitTest" + platforms: ## override default label in this specific stage. + - "arm" + when: ## Override the top-level when. + comments: + - "/test x-pack/elastic-agent for arm" + labels: + - "arm" + parameters: + - "armTest" + branches: true ## for all the branches + tags: true ## for all the tags build: mage: "mage build test" macos: diff --git a/x-pack/filebeat/Jenkinsfile.yml b/x-pack/filebeat/Jenkinsfile.yml index 4b17c13b6ac..5bd2bcd40cf 100644 --- a/x-pack/filebeat/Jenkinsfile.yml +++ b/x-pack/filebeat/Jenkinsfile.yml @@ -13,6 +13,19 @@ when: tags: true ## for all the tags platform: "linux && ubuntu-18" ## default label for all the stages stages: + arm: + mage: "mage build unitTest" + platforms: ## override default label in this specific stage. + - "arm" + when: ## Override the top-level when. + comments: + - "/test x-pack/filebeat for arm" + labels: + - "arm" + parameters: + - "armTest" + branches: true ## for all the branches + tags: true ## for all the tags build: mage: "mage build test" withModule: true ## run the ITs only if the changeset affects a specific module. diff --git a/x-pack/functionbeat/Jenkinsfile.yml b/x-pack/functionbeat/Jenkinsfile.yml index 29f2ecf8b5a..ecb2bd14e0e 100644 --- a/x-pack/functionbeat/Jenkinsfile.yml +++ b/x-pack/functionbeat/Jenkinsfile.yml @@ -13,6 +13,17 @@ when: tags: true ## for all the tags platform: "linux && ubuntu-18" ## default label for all the stages stages: + arm: + mage: "mage build unitTest" + platforms: ## override default label in this specific stage. + - "arm" + when: ## Override the top-level when. + comments: + - "/test x-pack/functionbeat for arm" + labels: + - "arm" + parameters: + - "armTest" build: mage: "mage build test && GO_VERSION=1.13.1 mage testGCPFunctions" macos: diff --git a/x-pack/libbeat/Jenkinsfile.yml b/x-pack/libbeat/Jenkinsfile.yml index 87019f071a0..ed22a8dfe70 100644 --- a/x-pack/libbeat/Jenkinsfile.yml +++ b/x-pack/libbeat/Jenkinsfile.yml @@ -13,5 +13,18 @@ when: tags: true ## for all the tags platform: "linux && ubuntu-18" ## default label for all the stages stages: + arm: + mage: "mage build unitTest" + platforms: ## override default label in this specific stage. + - "arm" + when: ## Override the top-level when. + comments: + - "/test x-pack/libbeat for arm" + labels: + - "arm" + parameters: + - "armTest" + branches: true ## for all the branches + tags: true ## for all the tags build: mage: "mage build test"