I have logs like:
"The request failed"
"The request succeeded"
"The request failed"
"The request failed"
"The request succeeded"
I want to calculate failure % every day on the basis of the string ("failed" or "succeeded")
please help me correct this search (marked in ***):
...base search... | timechart span=1d ***eval((count("failed"))/((count("failed"))+(count ("succeeded"))))*** as failureRate
Hi @eleena1994 - Looks like you have a few answers to choose from 🙂 Did any one of the answers below help resolve your question? If yes, please don't forget to resolve your post by clicking "Accept" below the best answer. If no, please leave a comment with some feedback. Thanks!
Try this:
your base search | rex "The request (?<status>\w+)"
| timechart span=1d count(eval(status="failed")) as failed, count(eval(status="succeeded")) as success
| eval failureRate=(failed/(failed+success))*100
Try like this
your base search | rex "The request (?<status>\w+)" | timechart span=1d count by status | eval "%failed"=round(failed*100/(failed+succeeded),1)
try something like this:
...| timechart span=1d count("failed") as failed count("succeeded") as succeeded|eval failureRate=failed/(failed+succeeded)|fields - failed - succeeded
you might need to add something like count(match(x,"failed"))
into the timechart
command instead of the count("failed")