Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE REQUEST] Implement monitoring for Istio #1931

Closed
rpudlowski93 opened this issue Jan 4, 2021 · 3 comments
Closed

[FEATURE REQUEST] Implement monitoring for Istio #1931

rpudlowski93 opened this issue Jan 4, 2021 · 3 comments

Comments

@rpudlowski93
Copy link
Contributor

Is your feature request related to a problem? Please describe.
We would like to monitor parameters of Istio (control plane and envoy proxy) on unmanaged clusters deployed with Epicli.
In compare to managed cluster (AKS/EKS) Istio pods are working in internal cluster network which is not accessible by external prometheus server win epiphany.

Describe the solution you'd like
We would like to scrape metrics from Istio Control Plane and Envoy Proxy in our external Prometheus service (monitoring machine). In order to make it, we should implement schema with Prometheus Federation.

I would like to have Prometheus locally in cluster which scrape metrics from Istio components and external Prometheus should be able to get metrics using Ingress Gateway as endpoint and the mentioned local Prometheus .

Describe alternatives you've considered
Deploy node port service without local prometheus and federations.

Additional context
How to monitor Istio using external Prometheus: link

@rpudlowski93
Copy link
Contributor Author

rpudlowski93 commented Apr 9, 2021

After short research it looks that in order to send metrics from istio mesh to our external monitoring instances we need to:

  • Deploy prometheus inside of our istio mesh cluster in order to scrape metrics from sidecar proxies
  • Expose the prometheus service outside of the cluster using virtual service, gateway and destination rules:
$ cat <<EOF | kubectl apply -f -
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: prometheus-gateway
  namespace: istio-system
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 80
      name: http-prom
      protocol: HTTP
    hosts:
    - "prometheus.${INGRESS_DOMAIN}"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: prometheus-vs
  namespace: istio-system
spec:
  hosts:
  - "prometheus.${INGRESS_DOMAIN}"
  gateways:
  - prometheus-gateway
  http:
  - route:
    - destination:
        host: prometheus
        port:
          number: 9090
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: prometheus
  namespace: istio-system
spec:
  host: prometheus
  trafficPolicy:
    tls:
      mode: DISABLE
---
EOF

More here: link and here: link

@mkyc mkyc modified the milestones: S20210422, S20210506 Apr 9, 2021
@mkyc mkyc modified the milestones: S20210506, S20210520 Apr 23, 2021
@mkyc mkyc modified the milestones: S20210520, S20210603 May 7, 2021
@mkyc
Copy link
Contributor

mkyc commented May 24, 2021

We should first ensure Istio usage and future.

@erzetpe
Copy link
Contributor

erzetpe commented Jan 12, 2022

Closing because of deprecation of Istio component.

@erzetpe erzetpe closed this as completed Jan 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants