diff --git a/CHANGELOG-splunkbase.md b/CHANGELOG-splunkbase.md index f28bd80..c2b5be5 100644 --- a/CHANGELOG-splunkbase.md +++ b/CHANGELOG-splunkbase.md @@ -1,3 +1,10 @@ +## [1.3.0] - December 3rd, 2024 +* Updated Xray dashboard widgets and visualizations +* Improved widget layouts and data queries +* Added documentation for configuring search macros with custom index names +* Updated macros.conf with default index values +* Fixed PostgreSQL password secret path in Kubernetes deployment instructions (changed from `.data.postgresql-password` to `.data.password`) + ## [1.2.9] - April 22nd, 2025 * Update search queries to fix Xray Log Volume, CPU Usage, System Memory, Disk Usage, Heap Memory graphs diff --git a/README.md b/README.md index 00ae2e1..d325a17 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,26 @@ Users will need to configure the HEC to accept data (enabled) and also create a 11. Save the generated token value ``` +#### Configure Search Macros + +After installing the app and creating your indexes, you need to configure the search macros to use your actual index names. + +```text +1. Open Splunk web console as administrator +2. Click on "Settings" → "Advanced search" → "Search macros" +3. In the "App" dropdown, select "JFrog Platform Log Analytics, Violations and Metrics" (or "jfrog-logs") +4. Click on "default_index" macro to edit it +5. Change the definition from index="$SPLUNK_LOGS_INDEX$" to index="jfrog_splunk" (or your custom logs index name) +6. Click "Save" +7. Click on "default_metrics_index" macro to edit it +8. Change the definition from "index"="$SPLUNK_METRICS_INDEX$" to "index"="jfrog_splunk_metrics" (or your custom metrics index name) +9. Click "Save" +``` + +**Note:** If you're using environment variables `$SPLUNK_LOGS_INDEX$` and `$SPLUNK_METRICS_INDEX$` in your deployment, you can skip this step as the macros will automatically use those values. + +**Important:** Without configuring these macros, the dashboards will not display any data even if your indexes contain logs and metrics. + ## JFrog Metrics Setup For non Kubernetes-based installations, enable metrics in Artifactory, make the following configuration changes to the [Artifactory System YAML](https://www.jfrog.com/confluence/display/JFROG/Artifactory+System+YAML) @@ -341,7 +361,7 @@ export MASTER_KEY=$(openssl rand -hex 32) 4. Postgres password is required to upgrade Artifactory. Run the following command to get the current password ```bash - POSTGRES_PASSWORD=$(kubectl get secret artifactory-postgresql -o jsonpath="{.data.postgresql-password}" | base64 --decode) + POSTGRES_PASSWORD=$(kubectl get secret artifactory-postgresql -o jsonpath="{.data.password}" | base64 --decode) ``` 5. Upgrade Artifactory installation using the command below @@ -419,7 +439,7 @@ export MASTER_KEY=$(openssl rand -hex 32) 5. Postgres password is required to upgrade Artifactory. Run the following command to get the current password ```bash - POSTGRES_PASSWORD=$(kubectl get secret artifactory-ha-postgresql -o jsonpath="{.data.postgresql-password}" | base64 --decode) + POSTGRES_PASSWORD=$(kubectl get secret artifactory-ha-postgresql -o jsonpath="{.data.password}" | base64 --decode) ``` 6. Upgrade Artifactory HA installation using the command below diff --git a/app/jfrog-logs/app.manifest b/app/jfrog-logs/app.manifest index cd6e353..fc70ff9 100644 --- a/app/jfrog-logs/app.manifest +++ b/app/jfrog-logs/app.manifest @@ -5,7 +5,7 @@ "id": { "group": null, "name": "jfrog-logs", - "version": "1.2.9" + "version": "1.3.0" }, "author": [ { diff --git a/app/jfrog-logs/default/app.conf b/app/jfrog-logs/default/app.conf index cc3ceae..34218f1 100644 --- a/app/jfrog-logs/default/app.conf +++ b/app/jfrog-logs/default/app.conf @@ -6,7 +6,7 @@ state_change_requires_restart = true [launcher] author = JFrog -version = 1.2.9 +version = 1.3.0 description = This app helps process extracted logs and metrics for the JFrog Platform, the universal, hybrid end-to-end DevOps platform. The app includes a diagnostic dashboard view for JFrog Artifactory. For more information see our blog: https://jfrog.com/blog/unified-jfrog-log-analytics-with-splunk/ [ui] diff --git a/app/jfrog-logs/default/data/ui/views/xray.xml b/app/jfrog-logs/default/data/ui/views/xray.xml index 6268227..00b6c0e 100644 --- a/app/jfrog-logs/default/data/ui/views/xray.xml +++ b/app/jfrog-logs/default/data/ui/views/xray.xml @@ -408,7 +408,7 @@ CPU Usage - | mstats avg("jfrog.xray.jfob_sys_cpu_ratio") AS cpu_ratio prestats=false WHERE `default_metrics_index` $mstats_span$ + | mstats avg("jfrog.xray.server_sys_cpu_ratio") AS cpu_ratio prestats=false WHERE `default_metrics_index` $mstats_span$ | eval cpu_pct = (cpu_ratio * 100) | timechart avg(cpu_pct) AS "CPU %" $timechart_span$ | fields - _span* @@ -435,7 +435,7 @@ System Memory - | mstats avg("jfrog.xray.jfob_sys_memory_used_bytes") AS avg_used, avg("jfrog.xray.sys_memory_free_bytes") AS avg_free prestats=false WHERE `default_metrics_index` $mstats_span$ + | mstats avg("jfrog.xray.server_sys_memory_used_bytes") AS avg_used, avg("jfrog.xray.sys_memory_free_bytes") AS avg_free prestats=false WHERE `default_metrics_index` $mstats_span$ | eval mem_used_gb = (avg_used / 1024 / 1024 / 1024), mem_free_gb = (avg_free / 1024 / 1024 / 1024) | timechart avg(mem_used_gb) AS "Sys Used(GB)", avg(mem_free_gb) AS "Sys Free(GB)" $timechart_span$ | fields - _span* @@ -462,7 +462,7 @@ Disk Usage - | mstats avg("jfrog.xray.jfob_app_disk_free_bytes") AS avg_disk_free, avg("jfrog.xray.app_disk_used_bytes") AS avg_disk_used prestats=false WHERE `default_metrics_index` $mstats_span$ + | mstats avg("jfrog.xray.server_app_disk_free_bytes") AS avg_disk_free, avg("jfrog.xray.app_disk_used_bytes") AS avg_disk_used prestats=false WHERE `default_metrics_index` $mstats_span$ | eval disk_free_gb = (avg_disk_free / 1024 / 1024 / 1024), disk_used_gb = (avg_disk_used / 1024 / 1024 / 1024) | timechart avg(disk_free_gb) AS "Disk Free(GB)", avg(disk_used_gb) AS "Disk Used(GB)" $timechart_span$ | fields - _span* @@ -489,7 +489,7 @@ Heap Memory - | mstats avg("jfrog.xray.jfob_go_memstats_heap_objects_total") AS heap_objects , avg("jfrog.xray.go_memstats_heap_allocated_bytes") AS avg_heap_max_bytes, avg("jfrog.xray.go_memstats_heap_in_use_bytes") AS avg_heap_used_bytes prestats=false WHERE `default_metrics_index` $mstats_span$ + | mstats avg("jfrog.xray.server_go_memstats_heap_objects_total") AS heap_objects , avg("jfrog.xray.go_memstats_heap_allocated_bytes") AS avg_heap_max_bytes, avg("jfrog.xray.go_memstats_heap_in_use_bytes") AS avg_heap_used_bytes prestats=false WHERE `default_metrics_index` $mstats_span$ | eval heap_objs = (heap_objects), avg_heap_max_gb = (avg_heap_max_bytes / 1024 / 1024 / 1024), avg_heap_used_gb = (avg_heap_used_bytes / 1024 / 1024 / 1024) | timechart avg(heap_objs) AS "No. of Objects", avg(avg_heap_max_gb) AS "Heap Max(GB)", avg(avg_heap_used_gb) AS "Heap Used(GB)" $timechart_span$ | fields - _span* diff --git a/app/jfrog-logs/default/macros.conf b/app/jfrog-logs/default/macros.conf index 6b0c2f8..52ef63e 100644 --- a/app/jfrog-logs/default/macros.conf +++ b/app/jfrog-logs/default/macros.conf @@ -1,7 +1,7 @@ [default_index] -definition = index="$SPLUNK_LOGS_INDEX$" +definition = index="jfrog_splunk" iseval = 0 [default_metrics_index] -definition = "index"="$SPLUNK_METRICS_INDEX$" +definition = "index"="jfrog_splunk_metrics" iseval = 0 \ No newline at end of file