Thanks again Antonin. You save my black-friday!
On Fri, Nov 26, 2021 at 11:02 AM Antonin Stefanutti <anto...@stefanutti.fr.invalid> wrote: > > Great! > > For the metrics, there should be the following registered by the MicroProfile > Metrics Camel extension: > > https://camel.apache.org/camel-quarkus/2.4.x/reference/extensions/microprofile-metrics.html#_usage > > However, the final name is determined by the MicroProfile Metrics > specification, so for example the following metric: > > camel.context.exchanges.completed.total > > Have its name translated to: > > application_camel_context_exchanges_completed_total > > To check also if the metrics endpoint do have the metrics registered, you can > run: > > $ kubectl exec deployment/<integration_name> -- curl -s > http://localhost:8080/q/metrics | grep > application_camel_route_exchanges_completed_total > > # HELP application_camel_route_exchanges_completed_total The total number of > completed exchanges for a route or Camel Context > # TYPE application_camel_route_exchanges_completed_total counter > application_camel_route_exchanges_completed_total{camelContext="camel-1",routeId="route1"} > 33.0 > > > On 26 Nov 2021, at 14:34, Roberto Camelk <betonetotbo.cam...@gmail.com> > > wrote: > > > > Thanks a lot again Antonin. I owe you a beer or coffee!!! > > > > This worked 100%. > > > > To end, another question.... after this, prometheus start scraping the > > metrics from my running route pod, but... > > > > Some metrics IDs are not there, some metrics starting with > > "org_apache_camel_" as I have see in this grafana dashboard sample: > > https://github.com/weimeilin79/camel-k-example-prometheus/blob/ca347f0b8b702b84b7129dfcfcb3b84eff4e2f73/grafana/SampleCamelDashboard.json#L145 > > > > The other metrics (camel_k_* - > > https://camel.apache.org/camel-k/next/observability/monitoring/operator.html#metrics) > > are there as so the jvm metrics > > (https://github.com/eclipse/microprofile-metrics/blob/master/spec/src/main/asciidoc/required-metrics.adoc#required-metrics). > > > > Is this correct? Why am I not getting that "org_apache_camel_" metrics? > > > > On Fri, Nov 26, 2021 at 9:13 AM Antonin Stefanutti > > <anto...@stefanutti.fr.invalid> wrote: > >> > >> It's likely that you need to configure the Prometheus instance, by editing > >> the Prometheus resource, e.g.: > >> > >> apiVersion: monitoring.coreos.com/v1 > >> kind: Prometheus > >> metadata: > >> name: prometheus > >> spec: > >> serviceAccountName: prometheus > >> podMonitorSelector: > >> matchLabels: > >> app: camel-k > >> podMonitorNamespaceSelector: {} > >> > >> It's important to have podMonitorNamespaceSelector: {} to discover all the > >> namespaces, otherwise it's only the resource's namespace. > >> > >> Also you can use the Prometheus trait to set the labels on the Integration > >> PodMonitor accordingly, e.g.: > >> > >> $ kamel run -t prometheus.enabled=true -t > >> prometheus.pod-monitor-labels="app=camel-k" > >> > >> There are some examples in the Prometheus operator documentation: > >> > >> https://github.com/prometheus-operator/prometheus-operator/tree/v0.52.1/example/user-guides/getting-started > >> > >> And the troubleshooting guide at: > >> > >> https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/troubleshooting.md > >> > >> > >>> On 26 Nov 2021, at 12:32, Roberto Camelk <betonetotbo.cam...@gmail.com> > >>> wrote: > >>> > >>> Antonin. Thanks ! > >>> > >>> But I continue stuck, please let me share some extra info about my > >>> prometheus operator log: > >>> > >>> level=debug ts=2021-11-26T11:12:05.837624346Z caller=operator.go:1840 > >>> component=prometheusoperator msg="filtering namespaces to select > >>> PodMonitors from" namespaces=cattle-prometheus > >>> namespace=cattle-prometheus prometheus=cluster-monitoring > >>> 26/11/2021 08:12:05 level=debug ts=2021-11-26T11:12:05.837687534Z > >>> caller=operator.go:1853 component=prometheusoperator msg="selected > >>> PodMonitors" podmonitors= namespace=cattle-prometheus > >>> prometheus=cluster-monitoring > >>> 26/11/2021 08:12:05 level=debug ts=2021-11-26T11:12:05.942216811Z > >>> caller=operator.go:1677 component=prometheusoperator msg="updating > >>> Prometheus configuration secret skipped, no configuration change" > >>> 26/11/2021 08:12:05 level=debug ts=2021-11-26T11:12:05.950980834Z > >>> caller=operator.go:1776 component=prometheusoperator msg="filtering > >>> namespaces to select ServiceMonitors from" > >>> namespaces=cattle-prometheus,cattle-system,kube-node-lease,kube-public,security-scan,kube-system > >>> namespace=cattle-prometheus prometheus=cluster-monitoring > >>> 26/11/2021 08:12:05 level=debug ts=2021-11-26T11:12:05.951162973Z > >>> caller=operator.go:1810 component=prometheusoperator msg="selected > >>> ServiceMonitors" > >>> servicemonitors=cattle-prometheus/grafana-cluster-monitoring,cattle-prometheus/exporter-kube-etcd-cluster-monitoring,cattle-prometheus/exporter-node-cluster-monitoring,cattle-prometheus/exporter-kube-controller-manager-cluster-monitoring,cattle-prometheus/exporter-kube-state-cluster-monitoring,cattle-prometheus/prometheus-cluster-monitoring,cattle-prometheus/prometheus-operator-monitoring-operator,cattle-prometheus/exporter-fluentd-cluster-monitoring,cattle-prometheus/exporter-kubelets-cluster-monitoring,cattle-prometheus/exporter-kube-scheduler-cluster-monitoring,cattle-prometheus/exporter-kubernetes-cluster-monitoring > >>> namespace=cattle-prometheus prometheus=cluster-monitoring > >>> 26/11/2021 08:12:05 level=debug ts=2021-11-26T11:12:05.977550133Z > >>> caller=operator.go:1741 component=prometheusoperator msg="updated > >>> tlsAssetsSecret" secretname=prometheus-cluster-monitoring-tls-assets > >>> 26/11/2021 08:12:06 level=debug ts=2021-11-26T11:12:06.022196407Z > >>> caller=operator.go:1169 component=prometheusoperator msg="new > >>> statefulset generation inputs match current, skipping any actions" > >>> 26/11/2021 08:12:26 level=debug ts=2021-11-26T11:12:26.321817491Z > >>> caller=operator.go:734 component=prometheusoperator msg="PodMonitor > >>> added" > >>> 26/11/2021 08:12:27 level=debug ts=2021-11-26T11:12:27.755854021Z > >>> caller=operator.go:748 component=prometheusoperator msg="PodMonitor > >>> updated" > >>> 26/11/2021 08:12:46 level=debug ts=2021-11-26T11:12:46.453112794Z > >>> caller=operator.go:748 component=prometheusoperator msg="PodMonitor > >>> updated" > >>> 26/11/2021 08:17:35 level=debug ts=2021-11-26T11:17:35.194031009Z > >>> caller=operator.go:759 component=prometheusoperator msg="PodMonitor > >>> delete" > >>> > >>> This last 4 lines is about my camel-k route, that I ran and stopped. > >>> > >>> So, there are some problems, I think, about the logs above about the > >>> podmonitor selectors telling: "selected PodMonitors" podmonitors= > >>> namespace=cattle-prometheus prometheus=cluster-monitoring > >>> > >>> My camel-k route is running at namespace "platform" and has no label > >>> like "prometheus=cluster-monitoring". > >>> > >>> Do you know how can I fix this? Adding additional scrape configs to > >>> prometheus can solve this? Can you provide a snipet code? > >>> > >>> On Thu, Nov 25, 2021 at 9:56 AM Antonin Stefanutti > >>> <anto...@stefanutti.fr.invalid> wrote: > >>>> > >>>> When run an Integration with `kamel run -t prometheus.enabled=true`, a > >>>> PodMonitor resource is created for the Prometheus operator to reconcile > >>>> and configure Prometheus to scrape the Integration metrics endpoint. > >>>> > >>>> The PodMonitor metadata must match that of the Prometheus operator, like > >>>> the namespace, the labels, ... > >>>> > >>>> Some documentation is available at: > >>>> > >>>> https://camel.apache.org/camel-k/1.7.x/observability/monitoring/integration.html#_discovery > >>>> > >>>> That contains some links to the Prometheus operator documentation for > >>>> troubleshooting why the metrics endpoint is not discovered. > >>>> > >>>>> On 25 Nov 2021, at 12:25, Roberto Camelk <betonetotbo.cam...@gmail.com> > >>>>> wrote: > >>>>> > >>>>> I have a Kubernetes running Rancher 2.4.3. I have the cluster > >>>>> monitoring enabled in rancher, so that exists a Prometheus instance > >>>>> running, so as a Prometheus Operator. > >>>>> > >>>>> Recently I deployed a Apache Camel-K operator, and now I want to > >>>>> enable the prometheus integration for collect metrics about my camel > >>>>> routes. > >>>>> > >>>>> So, my Camel-K operator is running in namescape camel-k and the > >>>>> rancher embedded prometheus stack in cattle-prometheus namespace. > >>>>> > >>>>> I just have launched my route with the trait --trait > >>>>> prometheus.enabled=true, but the camel metrics aren't listing at my > >>>>> prometheus. > >>>>> > >>>>> Anyone knows why or what I need to configure to my camel-k route > >>>>> deploy it's metrics at the rancher embedded prometheus? > >>>> > >> >