diff --git a/.github/workflows/slack-notify-issues.yml b/.github/workflows/slack-notify-issues.yml index d47ea15..f19001f 100644 --- a/.github/workflows/slack-notify-issues.yml +++ b/.github/workflows/slack-notify-issues.yml @@ -15,6 +15,6 @@ jobs: SLACK_COLOR: '#00A86B' SLACK_ICON: https://pbs.twimg.com/profile_images/978188446178082817/86ulJdF0.jpg SLACK_TITLE: "[${{ github.event.issue.state}}] ${{ github.event.issue.title }} on ${{ github.repository }} :rocket:" - SLACK_MESSAGE: 'Link: ${{ github.event.issue.url }}' + SLACK_MESSAGE: 'Link: ${{ github.event.issue.html_url }}' SLACK_USERNAME: PartnerEngineers SLACK_WEBHOOK: ${{ secrets.SLACK_ISSUE_WEBHOOK }} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index b9bba8c..83c9df5 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,68 +1,92 @@ # JFrog Log Analytics Changelog + All changes to the log analytics integration will be documented in this file. +## [1.0.3] - April 05, 2024 + +* Adding multi-arch support (amd64, arm64) for the sidecar docker image to allow also deployment in ARM environments +* Using loki charts instead of the deprecated loki-stack charts +* Updating Readme installation instructions + ## [1.0.2] - Jan 10, 2024 + * Upgrading fluentd image to the latest image from releases.jfrog.io (Fluentd version 1.16.3) ## [1.0.1] - Nov 14, 2023 + * Upgrading fluentd image to the latest image from releases.jfrog.io (Fluentd version 1.15.2) * Removing sed substitutions in helm charts to eliminate human errors in loki URL ## [1.0.0] - Dec 12, 2022 + * Prometheus Solution Redesigned * Addition of Loki Component for Log Data Ingestion * Enhanced Prometheus for Metrics Data Ingestion ## [0.15.0] - Oct 14, 2022 -* Deprecation notice +* Deprecation notice ## [0.10.0] - Feb 14, 2022 + * Added call home configuration for the artifactory fluent configuration. ## [0.9.0] - Dec 31, 2020 + * Repo layout fixes * Support for Helm * Readme updates ## [0.8.0] - Nov 30, 2020 + * Bug fixes ## [0.7.2] - Oct 29, 2020 + * Updated docker chart queries to monitor [dockerhub rate limiting](https://jfrog.com/blog/get-around-docker-download-limits-jfrog-artifactory/). ## [0.7.1] - Oct 28, 2020 + * Updated fluentd config, added new chart widgets and an alert to monitor [dockerhub rate limiting](https://jfrog.com/blog/get-around-docker-download-limits-jfrog-artifactory/). ## [0.7.0] - Oct 20, 2020 + * Fixing issue with ip_address in access logs having space and . at the end ## [0.6.1] - Sept 25, 2020 + * Updated Prometheus and Grafana installation to use the Prometheus community kube-prometheus-stack. Added drill down options to charts. ## [0.6.0] - Sept 25, 2020 + * [BREAKING] Prometheus fluentd configs updated to use JF_PRODUCT_DATA_INTERNAL env. ## [0.5.1] - Sept 9, 2020 + * Prometheus repo now submodule of parent log-analytics ## [0.5.0] - Sept 8, 2020 + * [No Prometheus] Adding JFrog Pipelines fluent configuration files to capture logs ## [0.4.0] - Sept 4, 2020 + * [No Prometheus] Adding JFrog Mission Control fluent configuration files to capture logs ## [0.3.0] - Aug 26, 2020 + * [No Prometheus] Adding JFrog Distribution fluent configuration files to capture logs ## [0.2.0] - Aug 24, 2020 + * Splunk updates to launch new version of Splunkbase app v1.1.0 ## [0.1.1] - June 1, 2020 + * Removing the need for user to specify splunk host , user, and token twice * Fixing issue with regex on the audit security log * Fixed issue with the repo and image when not docker api url ## [0.1.0] - May 12, 2020 -* Initial release of Jfrog Logs Analytic integration +* Initial release of Jfrog Logs Analytic integration diff --git a/README.md b/README.md index 98d2b51..4cec44e 100644 --- a/README.md +++ b/README.md @@ -7,47 +7,50 @@ The JFrog Log Analytics and Metrics solution using Prometheus consists of three 3. Grafana - the component where data visualization is achieved via prebuilt dashboards ## Pre-Requisites + 1. Working and configured Kubernetes Cluster - Amazon EKS / Google GKE / Azure AKS / Docker Desktop / Minikube + 1. Recommended Kubernetes Version 1.25.2 and above 2. For Google GKE, refer [GKE Guide](https://cloud.google.com/kubernetes-engine/docs/how-to) 3. For Amazon EKS, refer [EKS Guide](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) 4. For Azure AKS, refer [AKS Guide](https://docs.microsoft.com/en-us/azure/aks/) 5. For Docker Desktop and Kubernetes, refer [DOCKER Guide](https://docs.docker.com/desktop/kubernetes/) 2. 'kubectl' utility on the workstation which is capable of connecting to the Kubernetes cluster + 1. For Installation and usage refer [KUBECTL Guide](https://kubernetes.io/docs/tasks/tools/) 3. HELM v3 Installed + 1. For Installation and usage refer [HELM Guide](https://helm.sh/docs/intro/install/) 4. Versions supported and Tested: + Jfrog Platform: 10.17.3 - Jfrog Platform: 10.9.2 - - Artifactory : 7.46.10 + Artifactory : 7.77.8 - Xray : 3.59.4 + Xray : 3.92.7 - Prometheus:2.39.1 + Prometheus 2.51.0 - Grafana:9.2.3 - - Loki: 2.6.1 + Grafana:10.4.0 + Loki: 2.9.6 ## Read me before installing + ### Important Note: This version replaces all previous implementations. This version is not an in-place upgrade to the existing solution from JFrog but is a full reinstall. Any dashboard customizations done on previous versions will need to be redone after this install. + ```html This guide assumes the implementer is performing new setup, Changes to handle install in an existing setup will be highlighted where applicable. if prometheus is already installed and configured, we recommend to have the existing prometheus release name handy. If Loki is already installed and configured, we recommend to have its service URL handy. - - ``` -If prometheus and loki are already available you can skip the installation section and proceed to [Configuration Section](#Configuration). +If Prometheus and Loki are already available you can skip the installation section and proceed to [Configuration Section](#Configuration). # Installation ## Installing Prometheus, Loki and Grafana on Kubernetes + The Prometheus Community [kube-prometheus-stack](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack) helm chart allows the creation of Prometheus instances and includes Grafana. The Grafana Community [grafana](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack) helm chart allows the creation of Loki instances and includes Grafana which can link to prometheus. @@ -55,59 +58,74 @@ Once the Pre-Requisites are met, to install Prometheus Kubernetes stack: #### Create the Namespace required for Prometheus Stack deployment +```bash +export INST_NAMESPACE=jfrog-plg ``` -kubectl create namespace jfrog-plg + +We will use `jfrog-plg` as the namespace throughout this document. That said, you can use a different or existing namespace instead by setting the above variable. + +```bash +kubectl create namespace $INST_NAMESPACE +kubectl config set-context --current --namespace=$INST_NAMESPACE ``` -We will use jfrog-plg as the namespace throughout this document. -#### Install the Prometheus chart: + +#### Install the Prometheus chart + +Note: This installation comes with a Grafana installation Add the required Helm Repositories: -``` + +```bash helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update ``` + Install the chart: -```shell -helm install "prometheus" prometheus-community/kube-prometheus-stack -n jfrog-plg + +```bash +helm upgrade --install "prometheus" prometheus-community/kube-prometheus-stack -n $INST_NAMESPACE ``` + ```yaml * "prometheus" here is the value that needs to be used against the value for "release_name" in the configuration section ``` + For Docker Desktop, run this additional command to correct the mount path propagation for prometheus node-exporter component, An error event will be appearing as follows "Error: failed to start container "node-exporter": Error response from daemon: path / is mounted on / but it is not a shared or slave mount" -```shell -kubectl patch ds prometheus-prometheus-node-exporter --type "json" -p '[{"op": "remove", "path" : "/spec/template/spec/containers/0/volumeMounts/2/mountPropagation"}]' -n jfrog-plg + +```bash +kubectl patch ds prometheus-prometheus-node-exporter --type "json" -p '[{"op": "remove", "path" : "/spec/template/spec/containers/0/volumeMounts/2/mountPropagation"}]' -n $INST_NAMESPACE ``` -#### Install the Loki chart: +#### Install the Loki chart Add the required Helm Repositories: -``` + +```bash helm repo add grafana https://grafana.github.io/helm-charts helm repo update ``` -``` -helm repo add loki https://grafana.github.io/loki/charts -helm repo update -``` + Install the chart: -```shell -helm upgrade --install "loki" grafana/loki-stack -n jfrog-plg + +```bash +helm upgrade --install "loki" --values helm/loki-values.yaml grafana/loki -n $INST_NAMESPACE ``` + ```yaml * "loki" will be the service name, the url to access loki as a datasource can be visualised as http://.: - ex: http://loki.jfrog-plg:3100 will be the "loki_url" value + ex: http://loki.$INST_NAMESPACE:3100 will be the "loki_url" value -* the --version v2.6.1 is the most recent loki version at the time of writing the document - if there is a need to deploy this exact version, then add "--version v2.6.1" to the command line. +* version 2.9.3 is the most recent loki version at the time of writing the document + if there is a need to deploy this exact version, change the version value in "--set loki.image.tag=my_desired_version" to your desired version. ``` ## JFrog Platform + Metrics via Helm ⎈ -Ensure Jfrog repo is added to helm. +Ensure Jfrog repo is added to helm. -``` +```bash helm repo add jfrog https://charts.jfrog.io helm repo update ``` @@ -115,11 +133,13 @@ helm repo update To configure and install JFrog Platform with Prometheus metrics being exposed use our file `helm/jfrog-platform-values.yaml` to expose a metrics and new service monitor to Prometheus. JFrog Platform ⎈: -```text + +```bash helm upgrade --install jfrog-platform jfrog/jfrog-platform \ -f helm/jfrog-platform-values.yaml \ - -n jfrog-plg + -n $INST_NAMESPACE ``` + **If you are installing in the same cluster with the deprecated solution, Use the same namespace as the previous one instead of jfrog-plg above.** ## Artifactory / Artifactory HA + Metrics via Helm ⎈ @@ -128,27 +148,46 @@ For configuring and installing Artifactory Pro/Pro-x use the `artifactory-values For configuring and installing Enterprise/Ent+ use the `artifactory-ha-values.yaml` file. -You can apply them to your helm install examples below: +Before starting Artifactory or Artifactory HA installtion generate join and master keys for the installation: + +```bash +export JOIN_KEY=$(openssl rand -hex 32) +export MASTER_KEY=$(openssl rand -hex 32) +``` + +Then helm install the Artifactory or Artifactory HA charts: Artifactory ⎈: -```text + +helm install `artifactory` chart (using the above generated join and master keys). + +**💡Note: You need to be at the root of this repository folder to have `helm/artifactory-values.yaml` file available for the following command** + +```bash helm upgrade --install artifactory jfrog/artifactory \ - --set artifactory.masterKey=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF \ - --set artifactory.joinKey=EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE \ + --set artifactory.masterKey=$MASTER_KEY \ + --set artifactory.joinKey=$JOIN_KEY \ -f helm/artifactory-values.yaml \ - -n jfrog-plg + -n $INST_NAMESPACE ``` + **If you are installing in the same cluster with the deprecated solution, Use the same namespace as the previous one instead of jfrog-plg above.** Artifactory-HA ⎈: -```text + +helm install `artifactory-ha` chart (using the above generated join and master keys). + +**💡Note: You need to be at the root of this repository folder to have `helm/artifactory-ha-values.yaml` file available for the following command** + +```bash helm upgrade --install artifactory-ha jfrog/artifactory-ha \ - --set artifactory.masterKey=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF \ - --set artifactory.joinKey=EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE \ + --set artifactory.masterKey=$MASTER_KEY \ + --set artifactory.joinKey=$JOIN_KEY \ -f helm/artifactory-ha-values.yaml \ - -n jfrog-plg + -n $INST_NAMESPACE ``` -**If you are installing in the same cluster with the deprecated solution, Use the same namespace as the previous one instead of jfrog-plg above.** + +**💡Note: If you are installing in the same cluster with the deprecated solution, Use the same namespace as the previous one instead of jfrog-plg above.** Note the above examples are only references you will need additional parameters to configure TLS, binary blob storage, or other common Artifactory features. This will complete the necessary configuration for Artifactory and expose a new service monitor `servicemonitor-artifactory` to expose metrics to Prometheus. @@ -158,67 +197,93 @@ This will complete the necessary configuration for Artifactory and expose a new To configure and install Xray with Prometheus metrics being exposed use our file `helm/xray-values.yaml` to expose a metrics and new service monitor to Prometheus. Xray ⎈: -```text -helm upgrade --install xray jfrog/xray --set xray.jfrogUrl=http://my-artifactory-nginx-url \ - --set xray.masterKey=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF \ - --set xray.joinKey=EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE \ + +Generate master keys for the Xray installation: + +````bash +export XRAY_MASTER_KEY=$(openssl rand -hex 32) +```` + +Use the same `JOIN_KEY` from the Artifactory installation, in order to connect Xray to Artifactory. + +**💡Note: You need to be at the root of this repository folder to have `helm/xray-values.yaml` file available for the following command** + +```bash +# getting Artifactory URL +export RT_SERVICE_IP=$(kubectl get svc -n $INST_NAMESPACE artifactory-artifactory-nginx -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + +# helm install xray +helm upgrade --install xray jfrog/xray --set xray.jfrogUrl=http://$RT_SERVICE_IP \ + --set xray.masterKey=$XRAY_MASTER_KEY \ + --set xray.joinKey=$JOIN_KEY \ + --set xray.openMetrics.enabled=true \ + --set xray.metrics.enabled=true \ -f helm/xray-values.yaml \ - -n jfrog-plg + -n $INST_NAMESPACE ``` + **If you are installing in the same cluster with the deprecated solution, Use the same namespace as the previous one instead of jfrog-plg above.** -## Grafana Dashboard -Example dashboards are included in the [grafana directory](grafana). These dashboards needs to be imported to the grafana. These include: - -- Artifactory Metrics and Log Analytics Dashboard [Download Here](grafana/ArtifactoryLogAnalyticsAndSystemMetrics.json) -- Xray Metrics and Log Analytics Dashboard [Download Here](grafana/XrayLogAnalyticsAndSystemMetrics.json) +# Configuration ## To Assess the setup for Prometheus -Use 'kubectl port forward' as mentioned below in a separate terminal window -``` - kubectl port-forward service/prometheus-operated 9090:9090 -n jfrog-plg +Use 'kubectl port forward' as mentioned below in a separate terminal window + +```bash + kubectl port-forward service/prometheus-operated 9090:9090 -n $INST_NAMESPACE ``` -1. Go to the web UI of the Prometheus instance "http://localhost:9090" and verify "Status -> Service Discovery", the list shows the new ServiceMonitor for Artifactory or Xray or Both. +Go to the web UI of the Prometheus instance "http://localhost:9090" and verify "Status -> Service Discovery", the list shows the new ServiceMonitor for Artifactory or Xray or both, as shown here:![targets](images/ServiceDiscovery.jpeg) + +```plaintext +Deafult user/password for Prometheus is -> UNAME/PASSWD +``` ## To Assess the setup for Grafana use 'kubectl port forward' as mentioned below in a separate terminal window -``` - kubectl port-forward service/prometheus-grafana 3000:80 -n jfrog-plg -``` -1. Go to Grafana "http://localhost:3000" anf follow directions in Step 2 below. +```bash + kubectl port-forward service/prometheus-grafana 3000:80 -n $INST_NAMESPACE +``` +1. Open your Grafana on a browser at "http://localhost:3000" (grafana default credentials are "admin" / "prom-operator"). +2. Go to "Configuratoin" -> "Data Sources" on the left menu: -![targets](images/ServiceDiscovery.jpeg) -__ -2. Go to Grafana "http://localhost:3000" to add your Prometheus instance and Loki Instance as a datasource. - While specifying datasource url for Loki and Prometheus,please test and confirm that the connection is successful. + ![datasource](images/DataSourceAddition-01.jpeg) +3. Add your Prometheus instance and Loki Instance as datasources: -For Loki, specify url value as http://loki:3100 + * When adding Loki data source, specify url value as `http://loki:3100` + * Prometheus data dource might be added from config automatically. If not, add Prometheus data dource and specify url value as `http://prometheus-kube-prometheus-prometheus:9090/` + ![datasource](images/DataSourceAddition-04.jpeg) +4. While specifying datasource url for `Loki` and `Prometheus`, please test and confirm that the connection is successful using the `Save & Test` button at the bottom of the adding data source page: -For Prometheus specify url value as http://prometheus-kube-prometheus-prometheus.jfrog-plg:9090/ + ![datasource](images/DataSourceAddition-03.jpeg) -You can get the url content from the command ```kubectl get svc -n jfrog-plg``` + After adding both `Loki` and `Prometheus` Data Sources your "Configuration" -> "Data Sources" page should look like the following: + ![datasource](images/DataSourceAddition-02.jpeg) -``` - Default credentials (UNAME / PASSWD) for Prometheus grafana is -> "admin" / "prom-operator" -``` +## Grafana Dashboard -![datasource](images/DataSourceAddition-01.jpeg) -![datasource](images/DataSourceAddition-02.jpeg) +Example dashboards are included in the [grafana directory](grafana). These dashboards needs to be imported to the grafana. These include: -3. Finally in the Grafana, import the Dashboards and select the appropriate sources. +- Artifactory Metrics and Log Analytics Dashboard [Download Here](grafana/ArtifactoryLogAnalyticsAndSystemMetrics.json) +- Xray Metrics and Log Analytics Dashboard [Download Here](grafana/XrayLogAnalyticsAndSystemMetrics.json) +After downlowding the dashboards go to "Dashboards" -> "Import": ![dashboards](images/DashboardAddition-01.jpeg) + +Pick `Uplaod JSON file` and upload Artifactory and Xray dashboards files that you downloaded in the previous step. + +Import the Dashboards and select the appropriate sources (Loki and Prometheus) + ![dashboards](images/DashboardAddition-02.jpeg) -![dashboards](images/DashboardAddition-03.jpeg) ## References + * [Grafana Dashboards](https://grafana.com/docs/grafana/latest/features/dashboard/dashboards/) * [Grafana Queries](https://prometheus.io/docs/prometheus/latest/querying/basics/) * [Loki Queries](https://grafana.com/docs/loki/latest/logql/) diff --git a/fluent_metrics.conf.xray b/fluent_metrics.conf.xray index e8fdf13..51a6d5c 100644 --- a/fluent_metrics.conf.xray +++ b/fluent_metrics.conf.xray @@ -5,7 +5,7 @@ @type tail - @id artifactory_metrics_tail + @id xray_metrics_tail path "#{ENV['JF_PRODUCT_DATA_INTERNAL']}/log/xray-server-metrics.log" pos_file "#{ENV['JF_PRODUCT_DATA_INTERNAL']}/log/xray-server-metrics.log.pos" tag jfrog.metrics.xr @@ -63,7 +63,7 @@ name sys_cpu_ratio desc System CPU Ratio type gauge - key sys_cpu_ratio + key _sys_cpu_ratio agent fluentd host ${hostname} @@ -75,7 +75,7 @@ name sys_memory_used_bytes desc System Memory Used in Bytes type gauge - key sys_memory_used_bytes + key _sys_memory_used_bytes agent fluentd host ${hostname} @@ -87,7 +87,7 @@ name sys_memory_free_bytes desc System Memory Free in Bytes type gauge - key sys_memory_free_bytes + key _sys_memory_free_bytes agent fluentd host ${hostname} @@ -99,7 +99,7 @@ name app_disk_free_bytes desc Application Disk Free in Bytes type gauge - key app_disk_free_bytes + key _app_disk_free_bytes agent fluentd host ${hostname} @@ -111,7 +111,7 @@ name app_disk_used_bytes desc Application Disk Used in Bytes type gauge - key app_disk_used_bytes + key _app_disk_used_bytes agent fluentd host ${hostname} @@ -123,7 +123,7 @@ name go_memstats_heap_objects_total desc GO Memory Statistics Total Heap Objects type gauge - key go_memstats_heap_objects_total + key _go_memstats_heap_objects_total agent fluentd host ${hostname} @@ -135,7 +135,7 @@ name go_memstats_heap_allocated_bytes desc GO Memory Statistics Heap Allocated in Bytes type gauge - key go_memstats_heap_allocated_bytes + key _go_memstats_heap_allocated_bytes agent fluentd host ${hostname} @@ -147,7 +147,7 @@ name go_memstats_heap_in_use_bytes desc GO Memory Statistics Heap Used in Bytes type gauge - key go_memstats_heap_in_use_bytes + key _go_memstats_heap_in_use_bytes agent fluentd host ${hostname} @@ -159,7 +159,7 @@ name go_memstats_heap_reserved_bytes desc GO Memory Statistics Heap Reserved in Bytes type gauge - key go_memstats_heap_reserved_bytes + key _go_memstats_heap_reserved_bytes agent fluentd host ${hostname} diff --git a/helm/artifactory-ha-values.yaml b/helm/artifactory-ha-values.yaml index 8b9216c..17ce927 100644 --- a/helm/artifactory-ha-values.yaml +++ b/helm/artifactory-ha-values.yaml @@ -3,7 +3,6 @@ global: observability: branch: master prometheus: - loki_url: http://loki.jfrog-plg:3100 release_name: prometheus installerInfo: '{ "productId": "Helm_prometheus_artifactory/{{ .Chart.Version }}", "features": [ { "featureId": "ArtifactoryVersion/{{ default .Chart.AppVersion .Values.artifactory.image.version }}" }, { "featureId": "{{ if .Values.postgresql.enabled }}postgresql{{ else }}{{ .Values.database.type }}{{ end }}/0.0.0" }, { "featureId": "Platform/{{ default "kubernetes" .Values.installer.platform }}" }, { "featureId": "Channel/Helm_prometheus_artifactory" } ] }' artifactory: @@ -24,7 +23,7 @@ artifactory: name: volume customSidecarContainers: | - name: "artifactory-fluentd-sidecar" - image: "releases-pts-observability-fluentd.jfrog.io/fluentd:4.0" + image: "releases-pts-observability-fluentd.jfrog.io/fluentd:4.2" imagePullPolicy: "IfNotPresent" volumeMounts: - mountPath: "{{ .Values.artifactory.persistence.mountPath }}" @@ -33,7 +32,7 @@ artifactory: - name: JF_PRODUCT_DATA_INTERNAL value: {{ .Values.artifactory.persistence.mountPath }} - name: LOKI_URL - value: {{ .Values.global.prometheus.loki_url }} + value: http://loki.{{ .Release.Namespace }}:3100 - name: FLUENTD_CONF value: ../../../../{{ .Values.artifactory.persistence.mountPath }}/etc/fluentd/fluentd.conf diff --git a/helm/artifactory-values.yaml b/helm/artifactory-values.yaml index 0b4a9cd..5bc0b73 100644 --- a/helm/artifactory-values.yaml +++ b/helm/artifactory-values.yaml @@ -3,7 +3,6 @@ global: observability: branch: master prometheus: - loki_url: http://loki.jfrog-plg:3100 release_name: prometheus installerInfo: '{ "productId": "Helm_prometheus_artifactory/{{ .Chart.Version }}", "features": [ { "featureId": "ArtifactoryVersion/{{ default .Chart.AppVersion .Values.artifactory.image.version }}" }, { "featureId": "{{ if .Values.postgresql.enabled }}postgresql{{ else }}{{ .Values.database.type }}{{ end }}/0.0.0" }, { "featureId": "Platform/{{ default "kubernetes" .Values.installer.platform }}" }, { "featureId": "Channel/Helm_prometheus_artifactory" } ] }' artifactory: @@ -24,7 +23,7 @@ artifactory: name: artifactory-volume customSidecarContainers: | - name: "artifactory-fluentd-sidecar" - image: "releases-pts-observability-fluentd.jfrog.io/fluentd:4.0" + image: "releases-pts-observability-fluentd.jfrog.io/fluentd:4.2" imagePullPolicy: "IfNotPresent" volumeMounts: - mountPath: "{{ .Values.artifactory.persistence.mountPath }}" @@ -33,7 +32,7 @@ artifactory: - name: JF_PRODUCT_DATA_INTERNAL value: {{ .Values.artifactory.persistence.mountPath }} - name: LOKI_URL - value: {{ .Values.global.prometheus.loki_url }} + value: http://loki.{{ .Release.Namespace }}:3100 - name: FLUENTD_CONF value: ../../../../{{ .Values.artifactory.persistence.mountPath }}/etc/fluentd/fluentd.conf ## Allows to add additional kubernetes resources diff --git a/helm/jfrog-platform-values.yaml b/helm/jfrog-platform-values.yaml index 6c926ea..8e9215f 100644 --- a/helm/jfrog-platform-values.yaml +++ b/helm/jfrog-platform-values.yaml @@ -3,7 +3,6 @@ global: observability: branch: master prometheus: - loki_url: http://loki.jfrog-plg:3100 release_name: prometheus installerInfo: '{ "productId": "Helm_prometheus_jfrog_platform/{{ .Chart.Version }}", "features": [ { "featureId": "ArtifactoryVersion/{{ default .Chart.AppVersion .Values.artifactory.image.version }}" }, { "featureId": "{{ if .Values.postgresql.enabled }}postgresql{{ else }}{{ .Values.database.type }}{{ end }}/0.0.0" }, { "featureId": "Platform/{{ default "kubernetes" .Values.installer.platform }}" }, { "featureId": "Channel/Helm_prometheus_jfrog_platform" } ] }' artifactory: @@ -26,7 +25,7 @@ artifactory: name: artifactory-volume customSidecarContainers: | - name: "artifactory-fluentd-sidecar" - image: "releases-pts-observability-fluentd.jfrog.io/fluentd:4.0" + image: "releases-pts-observability-fluentd.jfrog.io/fluentd:4.2" imagePullPolicy: "IfNotPresent" volumeMounts: - mountPath: "{{ .Values.artifactory.persistence.mountPath }}" @@ -35,7 +34,7 @@ artifactory: - name: JF_PRODUCT_DATA_INTERNAL value: {{ .Values.artifactory.persistence.mountPath }} - name: LOKI_URL - value: {{ .Values.global.prometheus.loki_url }} + value: http://loki.{{ .Release.Namespace }}:3100 - name: FLUENTD_CONF value: ../../../../{{ .Values.artifactory.persistence.mountPath }}/etc/fluentd/fluentd.conf additionalResources: | diff --git a/helm/loki-values.yaml b/helm/loki-values.yaml new file mode 100644 index 0000000..02d66cb --- /dev/null +++ b/helm/loki-values.yaml @@ -0,0 +1,8 @@ +loki: + commonConfig: + replication_factor: 1 + storage: + type: 'filesystem' + auth_enabled: false +singleBinary: + replicas: 1 \ No newline at end of file diff --git a/helm/xray-values.yaml b/helm/xray-values.yaml index 7d4dd1b..e97461e 100644 --- a/helm/xray-values.yaml +++ b/helm/xray-values.yaml @@ -3,12 +3,15 @@ global: observability: branch: master prometheus: - loki_url: http://loki.jfrog-plg:3100 release_name: prometheus unifiedUpgradeAllowed: true databaseUpgradeReady: true xray: jfrogUrl: http://artifactory-artifactory.rt:8082 + metrics: + enabled: true + openMetrics: + enabled: true replicaCount: 1 postgresql: postgresqlPassword: xray @@ -36,7 +39,7 @@ common: name: data-volume customSidecarContainers: | - name: "xray-platform-fluentd-sidecar" - image: "releases-pts-observability-fluentd.jfrog.io/fluentd:4.0" + image: "releases-pts-observability-fluentd.jfrog.io/fluentd:4.2" imagePullPolicy: "IfNotPresent" volumeMounts: - mountPath: "{{ .Values.xray.persistence.mountPath }}" @@ -47,7 +50,7 @@ common: - name: FLUENTD_CONF value: ../../../../{{ .Values.xray.persistence.mountPath }}/etc/fluentd/fluentd.conf - name: LOKI_URL - value: {{ .Values.global.prometheus.loki_url }} + value: http://loki.{{ .Release.Namespace }}:3100 ## Allows to add additional kubernetes resources ## Use --- as a separator between multiple resources ## For an example, refer - https://github.com/jfrog/log-analytics-prometheus diff --git a/images/DashboardAddition-03.jpeg b/images/DashboardAddition-03.jpeg deleted file mode 100644 index a4bdc4f..0000000 Binary files a/images/DashboardAddition-03.jpeg and /dev/null differ diff --git a/images/DataSourceAddition-01.jpeg b/images/DataSourceAddition-01.jpeg index 4b67188..eabe40b 100644 Binary files a/images/DataSourceAddition-01.jpeg and b/images/DataSourceAddition-01.jpeg differ diff --git a/images/DataSourceAddition-03.jpeg b/images/DataSourceAddition-03.jpeg new file mode 100644 index 0000000..3af3673 Binary files /dev/null and b/images/DataSourceAddition-03.jpeg differ diff --git a/images/DataSourceAddition-04.jpeg b/images/DataSourceAddition-04.jpeg new file mode 100644 index 0000000..16cb66b Binary files /dev/null and b/images/DataSourceAddition-04.jpeg differ