Modularized implementation of prompush json with e2e running pending push gateway gauges.
This commit is contained in:
@@ -29,18 +29,23 @@ Looks open enough :).
|
||||
|
||||
## Prometheus
|
||||
|
||||
You can launch prometheus easily, by simply running.
|
||||
You can launch prometheus, promdash, and pushgateway easily, by simply running.
|
||||
|
||||
`kubectl create -f contrib/prometheus/prometheus-all.json`
|
||||
|
||||
Then (edit the publicIP field in prometheus-service to be a public ip on one of your kubelets),
|
||||
This will launch the pushgateway such that prometheus is collecting metrics from it automatically.
|
||||
|
||||
and run
|
||||
NOTE: If you plan to use the push gateway to push metrics (for example, we use it in e2e tests)
|
||||
|
||||
`kubectl create -f contrib/prometheus/prometheus-service.json`
|
||||
you will want to have a stable IP that you can provide the push gateway from, and you may need to modify the NodePort stuff for your cloud provider.
|
||||
|
||||
And then, create corresponding services, like this.. note that the pushgateway service may/may not be functional, but we leave it in for good measure.
|
||||
|
||||
`kubectl create -f contrib/prometheus/prometheus-service.json ; kubectl create -f contrib/prometheus/pushgateway-service.json`
|
||||
|
||||
Now, you can access the service `wget 10.0.1.89:9090`, and build graphs.
|
||||
|
||||
|
||||
## How it works
|
||||
|
||||
This is a v1 api based, containerized prometheus ReplicationController, which scrapes endpoints which are readable on the KUBERNETES service (the internal kubernetes service running in the default namespace, which is visible to all pods).
|
||||
@@ -73,7 +78,6 @@ at port 9090.
|
||||
|
||||
- We should publish this image into the kube/ namespace.
|
||||
- Possibly use postgre or mysql as a promdash database.
|
||||
- push gateway (https://github.com/prometheus/pushgateway) setup.
|
||||
- stop using kubectl to make a local proxy faking the old RO port and build in
|
||||
real auth capabilities.
|
||||
|
||||
|
@@ -21,8 +21,8 @@
|
||||
"spec": {
|
||||
"containers": [
|
||||
{
|
||||
"name":"kube-promdash",
|
||||
"image": "prom/promdash",
|
||||
"name": "kube-promdash",
|
||||
"env": [
|
||||
{
|
||||
"name": "DATABASE_URL",
|
||||
@@ -44,15 +44,14 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"command": ["./run_prometheus.sh", "-t", "KUBERNETES_RO", "-d", "/var/prometheus/"],
|
||||
"image": "jayunit100/kube-prometheus",
|
||||
"name": "kube-prometheus",
|
||||
"ports": [
|
||||
{
|
||||
"containerPort": 9090,
|
||||
"hostPort": 9090,
|
||||
"protocol": "TCP"
|
||||
}
|
||||
"command": [
|
||||
"./run_prometheus.sh",
|
||||
"-t",
|
||||
"KUBERNETES_RO,PUSHGATEWAY",
|
||||
"-d",
|
||||
"/var/prometheus/"
|
||||
],
|
||||
"env": [
|
||||
{
|
||||
@@ -62,6 +61,21 @@
|
||||
{
|
||||
"name": "KUBERNETES_RO_SERVICE_PORT",
|
||||
"value": "8001"
|
||||
},
|
||||
{
|
||||
"name": "PUSHGATEWAY_SERVICE_HOST",
|
||||
"value": "localhost"
|
||||
},
|
||||
{
|
||||
"name": "PUSHGATEWAY_SERVICE_PORT",
|
||||
"value": "9091"
|
||||
}
|
||||
],
|
||||
"ports": [
|
||||
{
|
||||
"containerPort": 9090,
|
||||
"hostPort": 9090,
|
||||
"protocol": "TCP"
|
||||
}
|
||||
],
|
||||
"volumeMounts": [
|
||||
@@ -72,12 +86,26 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "kubectl",
|
||||
"image": "gcr.io/google_containers/kubectl:v0.18.0-350-gfb3305edcf6c1a",
|
||||
"args": [
|
||||
"proxy", "-p", "8001", "--api-prefix=/"
|
||||
"image": "jayunit100/prompush:0.2.0",
|
||||
"name": "pushgateway",
|
||||
"ports": [
|
||||
{
|
||||
"containerPort": 9091,
|
||||
"hostPort": 9091,
|
||||
"protocol": "TCP"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"image": "gcr.io/google_containers/kubectl:v0.18.0-350-gfb3305edcf6c1a",
|
||||
"name": "kubectl",
|
||||
"args": [
|
||||
"proxy",
|
||||
"-p",
|
||||
"8001",
|
||||
"--api-prefix=/"
|
||||
]
|
||||
}
|
||||
],
|
||||
"volumes": [
|
||||
{
|
||||
|
22
contrib/prometheus/pushgateway-service.json
Normal file
22
contrib/prometheus/pushgateway-service.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"kind":"Service",
|
||||
"apiVersion":"v1",
|
||||
"metadata":{
|
||||
"name":"pushgateway",
|
||||
"labels":{
|
||||
"name":"pushgateway"
|
||||
}
|
||||
},
|
||||
"spec":{
|
||||
"type": "NodePort",
|
||||
"ports": [
|
||||
{
|
||||
"port":9091,
|
||||
"targetPort":9091,
|
||||
"protocol":"TCP"
|
||||
}],
|
||||
"selector":{
|
||||
"name":"kube-prometheus"
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user