I am creating a visualisation in Kibana to show the average latency on traffic through the end points on a group of proxies. For the endpoints that include consumer data, I want to trim the targetUrl so I can group the traffic correctly.
I used a painless script to do this for a particular endpoint:
{
"script": "( _value.indexOf('account/') > 0 ? _value.substring(0, _value.indexOf('/account/')+9) : _value)"
}
The script looks for /account/ in the targetUrl field, and trims anything that comes after it - this traffic can then be grouped and I can get the average latency.
The problem I am having is that there are several endpoints like this in the data so I need my script to perform multiple trims. Can I add to my script so it will do this? I imagine it would look something like:
{
"script": "( _value.indexOf('account/') > 0 ? _value.substring(0, _value.indexOf('/account/')+9) : _value);
(_value.indexOf('account-details') > 0 ? _value.substring(0, _value.indexOf('/account-details')+16) : _value)"
}
I am assuming something like this is possible, but I can't figure out the syntax to get it to work.