Unable to find scripts file on disk exception

I have found a script on the following link

https://www.elastic.co/blog/implementing-a-statistical-anomaly-deetector-part-3

The data collection watch in this link contains a script, which when it runs on rest api gives me the following error

"type" : "script_exception",
"reason":"failed tp compile script [java.lang.IllegalArgumentException: Unable to find on disk file script [hourly] using lang [groovy]] with lang [hourly] of type [groovy]"

How can i overcome this ? Please help me out

This article is already quite old, more than 2.5 years.

In the meantime two major versions of Elasticsearch have been released, one of them dropped support for the groovy scripting language and replacing it with painless, another more secure and fast scripting language.

You would need to port these scripts over to painless to make the blog post work.

ok..thanks for the reply..but if am able to create the watch in elasticsearch..Then how will I get the alerts? I have read and executed the complete blog and left with the alerts part in it. Can u just help me out? How will those alerts get generated after creating the watch?

If I have created a watch in elasticsearch to generate alerts using watcher api, how should I run it?
Can u please help me?

Please take some time to check out the documentation, specifically the part how watcher works and how watches are executed.

Ok .Thank you..But when I write the following statement

_watcher/watch/mywatch_name/_execute

This gives an error saying

type: "parse exception",
reason: "could not parse watch execution request. unexpected object field [trigger]".

I tried alot..But am not able to clear this.,Can u please help me out..

Is it possible that you inadvertently specified a body when executing the above request?

Yes.. i observed that just now..thank you..error got cleared

Judging from the conversation I also think you are using Elasticsearch 5.x - you might want to use the latest major version, containing more bugfixes (you would have gotten an error when you specified an ID and a body with the execute watch API for example).

When I execute the watch, it says failed to execute search input.

reason: "SearchPhaseExecutionExeception [all shards failed]; nested : [Parameter [percents] must be an array of doubles, type ArrayList provided instead]; nested : ParseException[Parameter[percents] must be an array of doubles, type ArrayList provided instead]

How to overcome this? Where is the mistake done? Can u please help me out?

GET _cat/indices

GET _cat/shards
image

Also can u please tell me how to update a watch? Can u give an example please..

The error that I have specified before says parameter percents should be double , but is array list.
I have specified 90.0 in the script but it is taking it as 90..Is this what it means?
The following is the block where error occured

image

Please help me with this..

Can u please help me with this error

This is a public forum without any guaranteed SLA in regards to your answer. If you need that you might want to go for a commercial support relationship with Elastic.

Also just creating a new issue, because you did not get an answer in less than a day(!) is not really nice.

I never post any new topic without trying...Unless I feel am not able to clear the issue, I don't post it..This is a public forum as you said and thousands of people like me keep using it everyday..There are a number of new versions of Elasticsearch being released.For people who are working on large data like me, it is difficult to immediately shift to a newer version..There are compatibility problems too.. So, there might be situations where we are unable to find a solution to a particular issue..It is not that an issue is posted without even trying for a single time..It might also be some sort of emergency to clear the issue..People use this forum at first place to clear the issues they are dealing with..am not different from them..Thank you for the suppport..

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.