Skip to content

Commit a64eb9f

Browse files
author
Miguel Varela Ramos
authored
Prometheus (#1814)
1 parent 5304599 commit a64eb9f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+15562
-852
lines changed

CONTRIBUTING.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,9 +187,13 @@ image_inferentia: <account_id>.dkr.ecr.<region>.amazonaws.com/cortexlabs/inferen
187187
image_neuron_rtd: <account_id>.dkr.ecr.<region>.amazonaws.com/cortexlabs/neuron-rtd:latest
188188
image_nvidia: <account_id>.dkr.ecr.<region>.amazonaws.com/cortexlabs/nvidia:latest
189189
image_fluent_bit: <account_id>.dkr.ecr.<region>.amazonaws.com/cortexlabs/fluent-bit:latest
190-
image_statsd: <account_id>.dkr.ecr.<region>.amazonaws.com/cortexlabs/statsd:latest
191190
image_istio_proxy: <account_id>.dkr.ecr.<region>.amazonaws.com/cortexlabs/istio-proxy:latest
192191
image_istio_pilot: <account_id>.dkr.ecr.<region>.amazonaws.com/cortexlabs/istio-pilot:latest
192+
image_prometheus: <account_id>.dkr.ecr.<region>.amazonaws.com/cortexlabs/prometheus:latest
193+
image_prometheus_config_reloader: <account_id>.dkr.ecr.<region>.amazonaws.com/cortexlabs/prometheus-config-reloader:latest
194+
image_prometheus_operator: <account_id>.dkr.ecr.<region>.amazonaws.com/cortexlabs/prometheus-operator:latest
195+
image_prometheus_statsd_exporter: <account_id>.dkr.ecr.<region>.amazonaws.com/cortexlabs/prometheus-statsd-exporter:latest
196+
image_prometheus_to_cloudwatch: <account_id>.dkr.ecr.<region>.amazonaws.com/cortexlabs/prometheus-to-cloudwatch:latest
193197
```
194198
195199
Create `dev/config/cluster-gcp.yaml`. Paste the following config, and update `project`, `zone`, and all registry URLs (replace `<project_id>` with your project ID, and update `gcr.io` if you are using a different host):
@@ -212,6 +216,11 @@ image_downloader: gcr.io/<project_id>/cortexlabs/downloader:latest
212216
image_istio_proxy: gcr.io/<project_id>/cortexlabs/istio-proxy:latest
213217
image_istio_pilot: gcr.io/<project_id>/cortexlabs/istio-pilot:latest
214218
image_google_pause: gcr.io/<project_id>/cortexlabs/google-pause:latest
219+
image_prometheus: gcr.io/<project_id>/cortexlabs/prometheus:latest
220+
image_prometheus_config_reloader: gcr.io/<project_id>/cortexlabs/prometheus-config-reloader:latest
221+
image_prometheus_operator: gcr.io/<project_id>/cortexlabs/prometheus-operator:latest
222+
image_prometheus_statsd_exporter: gcr.io/<project_id>/cortexlabs/prometheus-statsd-exporter:latest
223+
image_prometheus_stackdriver_sidecar: gcr.io/<project_id>/cortexlabs/prometheus-stackdriver-sidecar:latest
215224
```
216225

217226
### Building

build/images.sh

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,10 @@ api_slim_images_gcp=(
5252
dev_images_cluster=(
5353
"downloader"
5454
"manager"
55+
"request-monitor"
5556
)
5657
dev_images_aws=(
5758
# includes dev_images_cluster
58-
"request-monitor"
5959
)
6060
dev_images_gcp=(
6161
# includes dev_images_cluster
@@ -69,6 +69,10 @@ non_dev_images_cluster=(
6969
"istio-proxy"
7070
"istio-pilot"
7171
"fluent-bit"
72+
"prometheus"
73+
"prometheus-config-reloader"
74+
"prometheus-operator"
75+
"prometheus-statsd-exporter"
7276
)
7377
non_dev_images_aws=(
7478
# includes non_dev_images_cluster
@@ -77,11 +81,12 @@ non_dev_images_aws=(
7781
"inferentia"
7882
"neuron-rtd"
7983
"nvidia"
80-
"statsd"
84+
"prometheus-to-cloudwatch"
8185
)
8286
non_dev_images_gcp=(
8387
# includes non_dev_images_cluster
8488
"google-pause"
89+
"prometheus-stackdriver-sidecar"
8590
)
8691

8792
all_images=(

cli/cmd/cluster.go

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -208,10 +208,10 @@ var _clusterUpCmd = &cobra.Command{
208208
exit.Error(err)
209209
}
210210

211-
err = createOrClearDashboard(awsClient, clusterConfig.ClusterName)
212-
if err != nil {
213-
exit.Error(err)
214-
}
211+
//err = createOrClearDashboard(awsClient, clusterConfig.ClusterName)
212+
//if err != nil {
213+
// exit.Error(err)
214+
//}
215215

216216
out, exitCode, err := runManagerWithClusterConfig("/root/install.sh", clusterConfig, awsCreds, nil, nil)
217217
if err != nil {
@@ -483,15 +483,15 @@ var _clusterDownCmd = &cobra.Command{
483483
prompt.YesOrExit(fmt.Sprintf("your cluster named \"%s\" in %s will be spun down and all apis will be deleted, are you sure you want to continue?", *accessConfig.ClusterName, *accessConfig.Region), "", "")
484484
}
485485

486-
fmt.Print("○ deleting dashboard ")
487-
err = awsClient.DeleteDashboard(*accessConfig.ClusterName)
488-
if err != nil {
489-
fmt.Printf("\n\nunable to delete cortex's api dashboard (see error below); if it still exists after the cluster has been deleted, please delete it via the cloudwatch console: https://%s.console.aws.amazon.com/cloudwatch/home#dashboards:\n", *accessConfig.Region)
490-
errors.PrintError(err)
491-
fmt.Println()
492-
} else {
493-
fmt.Println("✓")
494-
}
486+
//fmt.Print("○ deleting dashboard ")
487+
//err = awsClient.DeleteDashboard(*accessConfig.ClusterName)
488+
//if err != nil {
489+
// fmt.Printf("\n\nunable to delete cortex's api dashboard (see error below); if it still exists after the cluster has been deleted, please delete it via the cloudwatch console: https://%s.console.aws.amazon.com/cloudwatch/home#dashboards:\n", *accessConfig.Region)
490+
// errors.PrintError(err)
491+
// fmt.Println()
492+
//} else {
493+
// fmt.Println("✓")
494+
//}
495495

496496
fmt.Print("○ deleting sqs queues ")
497497
err = awsClient.DeleteQueuesWithPrefix(clusterconfig.SQSNamePrefix(*accessConfig.ClusterName))
@@ -779,6 +779,7 @@ func printInfoPricing(infoResponse *schema.InfoResponse, clusterConfig clusterco
779779
eksPrice := aws.EKSPrices[*clusterConfig.Region]
780780
operatorInstancePrice := aws.InstanceMetadatas[*clusterConfig.Region]["t3.medium"].Price
781781
operatorEBSPrice := aws.EBSMetadatas[*clusterConfig.Region]["gp2"].PriceGB * 20 / 30 / 24
782+
metricsEBSPrice := aws.EBSMetadatas[*clusterConfig.Region]["gp2"].PriceGB * 40 / 30 / 24
782783
nlbPrice := aws.NLBMetadatas[*clusterConfig.Region].Price
783784
natUnitPrice := aws.NATMetadatas[*clusterConfig.Region].Price
784785
apiEBSPrice := aws.EBSMetadatas[*clusterConfig.Region][clusterConfig.InstanceVolumeType.String()].PriceGB * float64(clusterConfig.InstanceVolumeSize) / 30 / 24
@@ -793,7 +794,8 @@ func printInfoPricing(infoResponse *schema.InfoResponse, clusterConfig clusterco
793794
natTotalPrice = natUnitPrice * float64(len(clusterConfig.AvailabilityZones))
794795
}
795796

796-
totalPrice := eksPrice + totalAPIInstancePrice + apiEBSPrice*float64(numAPIInstances) + operatorInstancePrice + operatorEBSPrice + nlbPrice*2 + natTotalPrice
797+
totalPrice := eksPrice + totalAPIInstancePrice + apiEBSPrice*float64(numAPIInstances) +
798+
operatorInstancePrice*2 + operatorEBSPrice + metricsEBSPrice + nlbPrice*2 + natTotalPrice
797799
fmt.Printf(console.Bold("\nyour cluster currently costs %s per hour\n\n"), s.DollarsAndCents(totalPrice))
798800

799801
headers := []table.Header{
@@ -805,8 +807,9 @@ func printInfoPricing(infoResponse *schema.InfoResponse, clusterConfig clusterco
805807
rows = append(rows, []interface{}{"1 eks cluster", s.DollarsMaxPrecision(eksPrice)})
806808
rows = append(rows, []interface{}{fmt.Sprintf("%d %s for your apis", numAPIInstances, s.PluralS("instance", numAPIInstances)), s.DollarsAndTenthsOfCents(totalAPIInstancePrice) + " total"})
807809
rows = append(rows, []interface{}{fmt.Sprintf("%d %dgb ebs %s for your apis", numAPIInstances, clusterConfig.InstanceVolumeSize, s.PluralS("volume", numAPIInstances)), s.DollarsAndTenthsOfCents(apiEBSPrice*float64(numAPIInstances)) + " total"})
808-
rows = append(rows, []interface{}{"1 t3.medium instance for the operator", s.DollarsMaxPrecision(operatorInstancePrice)})
810+
rows = append(rows, []interface{}{"2 t3.medium instances for the cortex system", s.DollarsMaxPrecision(operatorInstancePrice * 2)})
809811
rows = append(rows, []interface{}{"1 20gb ebs volume for the operator", s.DollarsAndTenthsOfCents(operatorEBSPrice)})
812+
rows = append(rows, []interface{}{"1 40gb ebs volume for prometheus", s.DollarsAndTenthsOfCents(metricsEBSPrice)})
810813
rows = append(rows, []interface{}{"2 network load balancers", s.DollarsMaxPrecision(nlbPrice*2) + " total"})
811814

812815
if clusterConfig.NATGateway == clusterconfig.SingleNATGateway {

cli/cmd/cluster_gcp.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,7 @@ func createGKECluster(clusterConfig *clusterconfig.GCPConfig, gcpClient *gcp.Cli
467467
},
468468
ServiceAccount: gcpClient.ClientEmail,
469469
},
470-
InitialNodeCount: 1,
470+
InitialNodeCount: 2,
471471
},
472472
},
473473
Locations: []string{*clusterConfig.Zone},

cli/cmd/lib_cluster_config_aws.go

Lines changed: 46 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ func getConfigureClusterConfig(cachedClusterConfig clusterconfig.Config, awsCred
239239
}
240240
promptIfNotAdmin(awsClient, disallowPrompt)
241241

242-
err = setConfigFieldsFromCached(userClusterConfig, &cachedClusterConfig, awsClient)
242+
err = setConfigFieldsFromCached(userClusterConfig, &cachedClusterConfig)
243243
if err != nil {
244244
return nil, err
245245
}
@@ -265,12 +265,12 @@ func getConfigureClusterConfig(cachedClusterConfig clusterconfig.Config, awsCred
265265
return nil, err
266266
}
267267

268-
confirmConfigureClusterConfig(*userClusterConfig, awsCreds, awsClient, disallowPrompt)
268+
confirmConfigureClusterConfig(*userClusterConfig, awsCreds, disallowPrompt)
269269

270270
return userClusterConfig, nil
271271
}
272272

273-
func setConfigFieldsFromCached(userClusterConfig *clusterconfig.Config, cachedClusterConfig *clusterconfig.Config, awsClient *aws.Client) error {
273+
func setConfigFieldsFromCached(userClusterConfig *clusterconfig.Config, cachedClusterConfig *clusterconfig.Config) error {
274274
if userClusterConfig.Bucket != "" && userClusterConfig.Bucket != cachedClusterConfig.Bucket {
275275
return clusterconfig.ErrorConfigCannotBeChangedOnUpdate(clusterconfig.BucketKey, cachedClusterConfig.Bucket)
276276
}
@@ -388,11 +388,6 @@ func setConfigFieldsFromCached(userClusterConfig *clusterconfig.Config, cachedCl
388388
}
389389
userClusterConfig.ImageFluentBit = cachedClusterConfig.ImageFluentBit
390390

391-
if s.Obj(cachedClusterConfig.ImageStatsd) != s.Obj(userClusterConfig.ImageStatsd) {
392-
return clusterconfig.ErrorConfigCannotBeChangedOnUpdate(clusterconfig.ImageStatsdKey, cachedClusterConfig.ImageStatsd)
393-
}
394-
userClusterConfig.ImageStatsd = cachedClusterConfig.ImageStatsd
395-
396391
if s.Obj(cachedClusterConfig.ImageIstioProxy) != s.Obj(userClusterConfig.ImageIstioProxy) {
397392
return clusterconfig.ErrorConfigCannotBeChangedOnUpdate(clusterconfig.ImageIstioProxyKey, cachedClusterConfig.ImageIstioProxy)
398393
}
@@ -403,6 +398,26 @@ func setConfigFieldsFromCached(userClusterConfig *clusterconfig.Config, cachedCl
403398
}
404399
userClusterConfig.ImageIstioPilot = cachedClusterConfig.ImageIstioPilot
405400

401+
if s.Obj(cachedClusterConfig.ImagePrometheus) != s.Obj(userClusterConfig.ImagePrometheus) {
402+
return clusterconfig.ErrorConfigCannotBeChangedOnUpdate(clusterconfig.ImagePrometheusKey, cachedClusterConfig.ImagePrometheus)
403+
}
404+
405+
if s.Obj(cachedClusterConfig.ImagePrometheusConfigReloader) != s.Obj(userClusterConfig.ImagePrometheusConfigReloader) {
406+
return clusterconfig.ErrorConfigCannotBeChangedOnUpdate(clusterconfig.ImagePrometheusConfigReloaderKey, cachedClusterConfig.ImagePrometheusConfigReloader)
407+
}
408+
409+
if s.Obj(cachedClusterConfig.ImagePrometheusOperator) != s.Obj(userClusterConfig.ImagePrometheusOperator) {
410+
return clusterconfig.ErrorConfigCannotBeChangedOnUpdate(clusterconfig.ImagePrometheusOperatorKey, cachedClusterConfig.ImagePrometheusOperator)
411+
}
412+
413+
if s.Obj(cachedClusterConfig.ImagePrometheusStatsDExporter) != s.Obj(userClusterConfig.ImagePrometheusStatsDExporter) {
414+
return clusterconfig.ErrorConfigCannotBeChangedOnUpdate(clusterconfig.ImagePrometheusStatsDExporterKey, cachedClusterConfig.ImagePrometheusStatsDExporter)
415+
}
416+
417+
if s.Obj(cachedClusterConfig.ImagePrometheusToCloudWatch) != s.Obj(userClusterConfig.ImagePrometheusToCloudWatch) {
418+
return clusterconfig.ErrorConfigCannotBeChangedOnUpdate(clusterconfig.ImagePrometheusToCloudwatchKey, cachedClusterConfig.ImagePrometheusToCloudWatch)
419+
}
420+
406421
if userClusterConfig.Spot != nil && *userClusterConfig.Spot != *cachedClusterConfig.Spot {
407422
return clusterconfig.ErrorConfigCannotBeChangedOnUpdate(clusterconfig.SpotKey, *cachedClusterConfig.Spot)
408423
}
@@ -450,6 +465,7 @@ func confirmInstallClusterConfig(clusterConfig *clusterconfig.Config, awsCreds A
450465
eksPrice := aws.EKSPrices[*clusterConfig.Region]
451466
operatorInstancePrice := aws.InstanceMetadatas[*clusterConfig.Region]["t3.medium"].Price
452467
operatorEBSPrice := aws.EBSMetadatas[*clusterConfig.Region]["gp2"].PriceGB * 20 / 30 / 24
468+
metricsEBSPrice := aws.EBSMetadatas[*clusterConfig.Region]["gp2"].PriceGB * 40 / 30 / 24
453469
nlbPrice := aws.NLBMetadatas[*clusterConfig.Region].Price
454470
natUnitPrice := aws.NATMetadatas[*clusterConfig.Region].Price
455471
apiInstancePrice := aws.InstanceMetadatas[*clusterConfig.Region][*clusterConfig.InstanceType].Price
@@ -465,7 +481,7 @@ func confirmInstallClusterConfig(clusterConfig *clusterconfig.Config, awsCreds A
465481
natTotalPrice = natUnitPrice * float64(len(clusterConfig.AvailabilityZones))
466482
}
467483

468-
fixedPrice := eksPrice + operatorInstancePrice + operatorEBSPrice + 2*nlbPrice + natTotalPrice
484+
fixedPrice := eksPrice + 2*operatorInstancePrice + operatorEBSPrice + metricsEBSPrice + 2*nlbPrice + natTotalPrice
469485
totalMinPrice := fixedPrice + float64(*clusterConfig.MinInstances)*(apiInstancePrice+apiEBSPrice)
470486
totalMaxPrice := fixedPrice + float64(*clusterConfig.MaxInstances)*(apiInstancePrice+apiEBSPrice)
471487

@@ -476,7 +492,7 @@ func confirmInstallClusterConfig(clusterConfig *clusterconfig.Config, awsCreds A
476492
{Title: "cost per hour"},
477493
}
478494

479-
rows := [][]interface{}{}
495+
var rows [][]interface{}
480496
rows = append(rows, []interface{}{"1 eks cluster", s.DollarsMaxPrecision(eksPrice)})
481497

482498
instanceStr := "instances"
@@ -505,8 +521,9 @@ func confirmInstallClusterConfig(clusterConfig *clusterconfig.Config, awsCreds A
505521

506522
rows = append(rows, []interface{}{workerInstanceStr, workerPriceStr})
507523
rows = append(rows, []interface{}{ebsInstanceStr, s.DollarsAndTenthsOfCents(apiEBSPrice) + " each"})
508-
rows = append(rows, []interface{}{"1 t3.medium instance for the operator", s.DollarsMaxPrecision(operatorInstancePrice)})
524+
rows = append(rows, []interface{}{"2 t3.medium instances for the cortex system", s.DollarsMaxPrecision(operatorInstancePrice * 2)})
509525
rows = append(rows, []interface{}{"1 20gb ebs volume for the operator", s.DollarsAndTenthsOfCents(operatorEBSPrice)})
526+
rows = append(rows, []interface{}{"1 40gb ebs volume for prometheus", s.DollarsAndTenthsOfCents(metricsEBSPrice)})
510527
rows = append(rows, []interface{}{"2 network load balancers", s.DollarsMaxPrecision(nlbPrice) + " each"})
511528

512529
if clusterConfig.NATGateway == clusterconfig.SingleNATGateway {
@@ -565,16 +582,16 @@ func confirmInstallClusterConfig(clusterConfig *clusterconfig.Config, awsCreds A
565582
}
566583
}
567584

568-
func confirmConfigureClusterConfig(clusterConfig clusterconfig.Config, awsCreds AWSCredentials, awsClient *aws.Client, disallowPrompt bool) {
569-
fmt.Println(clusterConfigConfirmationStr(clusterConfig, awsCreds, awsClient))
585+
func confirmConfigureClusterConfig(clusterConfig clusterconfig.Config, awsCreds AWSCredentials, disallowPrompt bool) {
586+
fmt.Println(clusterConfigConfirmationStr(clusterConfig, awsCreds))
570587

571588
if !disallowPrompt {
572589
exitMessage := fmt.Sprintf("cluster configuration can be modified via the cluster config file; see https://docs.cortex.dev/v/%s/ for more information", consts.CortexVersionMinor)
573590
prompt.YesOrExit(fmt.Sprintf("your cluster named \"%s\" in %s will be updated according to the configuration above, are you sure you want to continue?", clusterConfig.ClusterName, *clusterConfig.Region), "", exitMessage)
574591
}
575592
}
576593

577-
func clusterConfigConfirmationStr(clusterConfig clusterconfig.Config, awsCreds AWSCredentials, awsClient *aws.Client) string {
594+
func clusterConfigConfirmationStr(clusterConfig clusterconfig.Config, awsCreds AWSCredentials) string {
578595
defaultConfig, _ := clusterconfig.GetDefaults()
579596

580597
var items table.KeyValuePairs
@@ -694,15 +711,26 @@ func clusterConfigConfirmationStr(clusterConfig clusterconfig.Config, awsCreds A
694711
if clusterConfig.ImageFluentBit != defaultConfig.ImageFluentBit {
695712
items.Add(clusterconfig.ImageFluentBitUserKey, clusterConfig.ImageFluentBit)
696713
}
697-
if clusterConfig.ImageStatsd != defaultConfig.ImageStatsd {
698-
items.Add(clusterconfig.ImageStatsdUserKey, clusterConfig.ImageStatsd)
699-
}
700714
if clusterConfig.ImageIstioProxy != defaultConfig.ImageIstioProxy {
701715
items.Add(clusterconfig.ImageIstioProxyUserKey, clusterConfig.ImageIstioProxy)
702716
}
703717
if clusterConfig.ImageIstioPilot != defaultConfig.ImageIstioPilot {
704718
items.Add(clusterconfig.ImageIstioPilotUserKey, clusterConfig.ImageIstioPilot)
705719
}
706-
720+
if clusterConfig.ImagePrometheus != defaultConfig.ImagePrometheus {
721+
items.Add(clusterconfig.ImagePrometheusUserKey, clusterConfig.ImagePrometheus)
722+
}
723+
if clusterConfig.ImagePrometheusConfigReloader != defaultConfig.ImagePrometheusConfigReloader {
724+
items.Add(clusterconfig.ImagePrometheusConfigReloaderUserKey, clusterConfig.ImagePrometheusConfigReloader)
725+
}
726+
if clusterConfig.ImagePrometheusOperator != defaultConfig.ImagePrometheusOperator {
727+
items.Add(clusterconfig.ImagePrometheusOperatorUserKey, clusterConfig.ImagePrometheusOperator)
728+
}
729+
if clusterConfig.ImagePrometheusStatsDExporter != defaultConfig.ImagePrometheusStatsDExporter {
730+
items.Add(clusterconfig.ImagePrometheusStatsDExporterUserKey, clusterConfig.ImagePrometheusStatsDExporter)
731+
}
732+
if clusterConfig.ImagePrometheusToCloudWatch != defaultConfig.ImagePrometheusToCloudWatch {
733+
items.Add(clusterconfig.ImagePrometheusToCloudwatchUserKey, clusterConfig.ImagePrometheusToCloudWatch)
734+
}
707735
return items.String()
708736
}

cli/cmd/lib_cluster_config_gcp.go

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,6 @@ func existingCachedGCPClusterConfigPaths() []string {
5454
return matches
5555
}
5656

57-
func readCachedGCPClusterConfigFile(clusterConfig *clusterconfig.GCPConfig, filePath string) error {
58-
errs := cr.ParseYAMLFile(clusterConfig, clusterconfig.GCPValidation, filePath)
59-
if errors.HasError(errs) {
60-
return errors.FirstError(errs...)
61-
}
62-
63-
return nil
64-
}
65-
6657
func readUserGCPClusterConfigFile(clusterConfig *clusterconfig.GCPConfig) error {
6758
errs := cr.ParseYAMLFile(clusterConfig, clusterconfig.UserGCPValidation, _flagClusterGCPConfig)
6859
if errors.HasError(errs) {

dev/operator_local.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,13 @@ fi
9494

9595
export CORTEX_OPERATOR_IN_CLUSTER=false
9696
export CORTEX_CLUSTER_CONFIG_PATH=~/.cortex/cluster-dev.yaml
97+
export CORTEX_PROMETHEUS_URL="http://localhost:9090"
98+
99+
portForwardCMD="kubectl port-forward -n default prometheus-prometheus-0 9090"
100+
kill $(pgrep -f "${portForwardCMD}") >/dev/null 2>&1 || true
101+
102+
echo "Port-forwarding Prometheus to localhost:9090"
103+
eval "${portForwardCMD}" >/dev/null 2>&1 &
97104

98105
mkdir -p $ROOT/bin
99106

dev/versions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ _note: docker client installation may be able to be improved, see https://github
115115

116116
### request-monitor
117117

118-
1. `cd images/request-monitor/`
118+
1. `cd request-monitor/`
119119
1. `rm -rf go.mod go.sum && go mod init && go clean -modcache`
120120
1. `go mod tidy`
121121
1. Check that the diff in `go.mod` is reasonable

docs/clusters/aws/install.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,11 @@ image_inferentia: quay.io/cortexlabs/inferentia:master
9999
image_neuron_rtd: quay.io/cortexlabs/neuron-rtd:master
100100
image_nvidia: quay.io/cortexlabs/nvidia:master
101101
image_fluent_bit: quay.io/cortexlabs/fluent-bit:master
102-
image_statsd: quay.io/cortexlabs/statsd:master
103102
image_istio_proxy: quay.io/cortexlabs/istio-proxy:master
104103
image_istio_pilot: quay.io/cortexlabs/istio-pilot:master
104+
image_prometheus: quay.io/cortexlabs/prometheus:master
105+
image_prometheus_config_reloader: quay.io/cortexlabs/prometheus-config-reloader:master
106+
image_prometheus_operator: quay.io/cortexlabs/prometheus-operator:master
107+
image_prometheus_statsd_exporter: quay.io/cortexlabs/prometheus-statsd-exporter:master
108+
image_prometheus_to_cloudwatch: quay.io/cortexlabs/prometheus-to-cloudwatch:master
105109
```

docs/clusters/gcp/install.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,12 @@ The docker images used by the Cortex cluster can also be overridden, although th
7474
image_operator: quay.io/cortexlabs/operator:master
7575
image_manager: quay.io/cortexlabs/manager:master
7676
image_downloader: quay.io/cortexlabs/downloader:master
77-
image_statsd: quay.io/cortexlabs/statsd:master
7877
image_istio_proxy: quay.io/cortexlabs/istio-proxy:master
7978
image_istio_pilot: quay.io/cortexlabs/istio-pilot:master
8079
image_pause: quay.io/cortexlabs/pause:master
80+
image_prometheus: quay.io/cortexlabs/prometheus:master
81+
image_prometheus_config_reloader: quay.io/cortexlabs/prometheus-config-reloader:master
82+
image_prometheus_operator: quay.io/cortexlabs/prometheus-operator:master
83+
image_prometheus_statsd_exporter: quay.io/cortexlabs/prometheus-statsd-exporter:master
84+
image_prometheus_stackdriver_sidecar: quay.io/cortexlabs/prometheus-stackdriver-sidecar:master
8185
```

go.mod

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ require (
3434
github.com/opencontainers/go-digest v1.0.0 // indirect
3535
github.com/opencontainers/image-spec v1.0.1 // indirect
3636
github.com/pkg/errors v0.9.1
37+
github.com/prometheus/client_golang v0.9.3
38+
github.com/prometheus/common v0.4.0
3739
github.com/segmentio/backo-go v0.0.0-20200129164019-23eae7c10bd3 // indirect
3840
github.com/shirou/gopsutil v3.20.11+incompatible
3941
github.com/sirupsen/logrus v1.4.1 // indirect

0 commit comments

Comments
 (0)