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

jimfuqian/BB2-3466 Usabilities Improve in Splunk Dashboards: auth flow dashboard, api big stats dashboard #1292

Merged

Conversation

JFU-NAVA-PBC
Copy link
Contributor

@JFU-NAVA-PBC JFU-NAVA-PBC commented Feb 7, 2025

JIRA Ticket:
BB2-3466

What Does This PR Do?

  1. Improve Panel "API Result Codes Over Time Range" (API Big Stats): added dedicated 4xx panel and 5xx panel
  2. Remove Panel "API Response by Status Code and API Call" after review (API Big Stats)
  3. EOB Response Time chart (API Big Stats): Display time value in seconds vs milli-seconds and round to 2 digits after decimal for better human consuming experience
  4. "Initial Authorization Request / Authorization Completed %" chart (AUTH FLOW Dashboard), correct the title, and improve the percentage display

What Should Reviewers Watch For?

The dashboards with the changes have been deploy to splunk, see "Validation" section for details

If you're reviewing this PR, please check for these things in particular:

Validation

The Dashboards with changes are deployed to Splunk side by side with their original:

Go to Splunk BB2 Dashboards landing: BB2 Splunk Dashboards

image

API BIG STATS:
API Big Stats Dashboard - Structured BB2-3466
AUTH FLOW:
BB2 Authorization Flow Dashboard BB2-3466

Note: For API Big Stats, use a large time range e.g. 24 hrs, 7 days, if there is no e.g. 5XX errors to visualize the charts....

What Security Implications Does This PR Have?

Please indicate if this PR does any of the following:

  • Adds any new software dependencies
  • Modifies any security controls
  • Adds new transmission or storage of data
  • Any other changes that could possibly affect security?
  • Yes, one or more of the above security implications apply. This PR must not be merged without the ISSO or team
    security engineer's approval.

Any Migrations?

  • Yes, there are migrations
    • The migrations should be run PRIOR to the code being deployed
    • The migrations should be run AFTER the code is deployed
    • There is a more complicated migration plan (downtime,
      etc)
  • No migrations

@jimmyfagan jimmyfagan self-assigned this Feb 10, 2025
@JFU-NAVA-PBC JFU-NAVA-PBC changed the title jimfuqian/BB2-3466 Usabilities mmprove in dashboards: auth flow, api big stats jimfuqian/BB2-3466 Usabilities Improve in Splunk Dashboards: auth flow dashboard, api big stats dashboard Feb 11, 2025
Copy link
Contributor

@jimmyfagan jimmyfagan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is pretty good! Just a few tweaks to the response code section, and I think this will be good to go!

<option name="charting.drilldown">none</option>
<option name="charting.layout.splitSeries">1</option>
<option name="charting.legend.labelStyle.overflowMode">ellipsisEnd</option>
<option name="refresh.display">progressbar</option>
</chart>
</panel>
<panel>
<chart>
<title>Distribution of response codes</title>
Copy link
Contributor

@jimmyfagan jimmyfagan Feb 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this section, what we're looking for is more like "percent of total responses that are 4xx errors, percentage that are 5xx errors, percentage that aren't errors", not broken down by each individual response code. Then in the 5xx/4xx, instead of response counts being that bar graph, if we could just see a number, that will help too, since that number is what is recorded in the audit. We want to avoid the need to add results together. If we need to see the breakdown of different types of errors, that will still be visible in the existing graph. Does that make sense?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make sense, will make changes.

@@ -350,61 +435,6 @@
</table>
</panel>
</row>
<row>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing this looks good!

@@ -421,7 +451,7 @@
<title>ExplanationOfBenefit</title>
<chart>
<search>
<query>index=bluebutton source="/var/log/pyapps/perf_mon.log*" host=$bbEnv$ env=$bbEnvLabel$ $appNameExpr$ | search "message.ip_addr"="$bbIpAddr$" AND ("message.path"=".well-known/*" OR "message.path"="/$apiVersionsPattern$/*" OR "message.path"="*/admin/*") | spath output=html_code2 path="message.response_code" | where html_code2="200" | spath output=call_path path="message.path" | regex call_path="/v[12]/fhir/ExplanationOfBenefit/.*" | spath output=start_time path="message.start_time" | spath output=end_time path="message.end_time" | eval Response_Time=end_time-start_time | stats min(Response_Time) as RT_fastest avg(Response_Time) as RT_mean p95(Response_Time) as RT_p95 p99(Response_Time) as RT_p99 max(Response_Time) as RT_slowest by message.path </query>
<query>index=bluebutton source="/var/log/pyapps/perf_mon.log*" host=$bbEnv$ env=$bbEnvLabel$ $appNameExpr$ | search "message.ip_addr"="$bbIpAddr$" AND ("message.path"=".well-known/*" OR "message.path"="/$apiVersionsPattern$/*" OR "message.path"="*/admin/*") | spath output=html_code2 path="message.response_code" | where html_code2="200" | spath output=call_path path="message.path" | regex call_path="/v[12]/fhir/ExplanationOfBenefit/.*" | spath output=start_time path="message.start_time" | spath output=end_time path="message.end_time" | eval Response_Time=round((end_time-start_time)*1000,2) | stats min(Response_Time) as RT_fastest avg(Response_Time) as RT_mean p95(Response_Time) as RT_p95 p99(Response_Time) as RT_p99 max(Response_Time) as RT_slowest by message.path | eval RT_mean=round(RT_mean, 2)</query>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This panel needs to be renamed to say "milliseconds" instead of "seconds"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good catch

Copy link
Contributor

@jimmyfagan jimmyfagan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good, I think we can still remove the "5xx/4xx Responses Counts" sections, since that information is all available in the other bar chart, but either way, this covers what we need, so I'll mark approved! If you make any other adjustments and want another review, just let me know!

@JFU-NAVA-PBC
Copy link
Contributor Author

This looks good, I think we can still remove the "5xx/4xx Responses Counts" sections, since that information is all available in the other bar chart, but either way, this covers what we need, so I'll mark approved! If you make any other adjustments and want another review, just let me know!

agree

@JFU-NAVA-PBC JFU-NAVA-PBC merged commit cfba144 into master Feb 12, 2025
8 checks passed
@JFU-NAVA-PBC JFU-NAVA-PBC deleted the jimfuqian/BB2-3466-improve-splunk-dashboards-usabilities branch February 12, 2025 20:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants