If I understand the question, I think the issue is that you are using ! which means "state_desc (IS NOT) = "ONLINE" in all of the case statements try this, and see if it addresses your needs: |eval short_description=case(short_desc="OFFLINE","system is offline", short_desc="SUSPECT","system is suspect", short_desc="Recovery pending", "system is recovering", 1=1, "System is Online")
|eval isAlert=if(short_desc!="ONLINE",1,0) The fist eval populates "short_description" with a description of each state. The second eval creates a new field called "isAlert". For any condition where the short_desc does not contain "ONLINE" it will return a 1, but for a normal online condition it will contain a 0 If your aim is to fire an alert for an abnormal condition, you only need to worry about results in which isAlert=1, so adding |search isAlert=1 at the end will only show you results which indicate the system was not reporting "ONLINE"
... View more