Link Search Menu Expand Document Documentation Menu

You're viewing version 2.17 of the OpenSearch documentation. This version is no longer maintained. For the latest version, see the current documentation. For information about OpenSearch version maintenance, see Release Schedule and Maintenance Policy.

Search Monitors tool

Introduced 2.13

The SearchMonitorsTool retrieves information about alerting monitors set up on your cluster. For more information about alerting monitors, see Monitors.

Step 1: Register a flow agent that will run the SearchMonitorsTool

A flow agent runs a sequence of tools in order and returns the last tool’s output. To create a flow agent, send the following register agent request:

POST /_plugins/_ml/agents/_register
{
  "name": "Test_Agent_For_Search_Monitors_Tool",
  "type": "flow",
  "description": "this is a test agent for the SearchMonitorsTool",
  "memory": {
    "type": "demo"
  },
  "tools": [
    {
      "type": "SearchMonitorsTool",
      "name": "DemoSearchMonitorsTool",
      "parameters": {}
    }
  ]
}

For parameter descriptions, see Register parameters.

OpenSearch responds with an agent ID:

{
  "agent_id": "EuJYYo0B9RaBCvhuy1q8"
}

Step 2: Run the agent

Run the agent by sending the following request:

POST /_plugins/_ml/agents/EuJYYo0B9RaBCvhuy1q8/_execute
{
  "parameters": {
    "question": "Do I have any alerting monitors?"
  }
}

OpenSearch responds with a list of alerting monitors set up on your cluster and the total number of alerting monitors:

{
  "inference_results": [
    {
      "output": [
        {
          "name": "response",
          "result": "Monitors=[{id=j_9mYo0Bk4MTqircEzk_,name=test-monitor,type=query_level_monitor,enabled=true,enabledTime=1706752873144,lastUpdateTime=1706752873145}{id=ZuJnYo0B9RaBCvhuEVux,name=test-monitor-2,type=query_level_monitor,enabled=true,enabledTime=1706752938405,lastUpdateTime=1706752938405}]TotalMonitors=2"
        }
      ]
    }
  ]
}

If no monitors are found, OpenSearch responds with an empty array in the results:

{
  "inference_results": [
    {
      "output": [
        {
          "name": "response",
          "result": "Monitors=[]TotalMonitors=0"
        }
      ]
    }
  ]
}

Register parameters

The following table lists all tool parameters that are available when registering an agent. All parameters are optional.

Parameter Type Description
monitorId String The ID of the monitor to search for.
monitorName String The name of the monitor to search for.
monitorNamePattern String A wildcard query used to match the monitor name to search for.
enabled Boolean Whether to return information about monitors that are currently enabled. Leave this parameter unset (or set it to null) to return information about both enabled and disabled monitors. Set this parameter to true to return only information about enabled monitors. Set this parameter to false to return only information about disabled monitors. Default is null.
hasTriggers Boolean Whether to return information about monitors that have triggers enabled. Leave this parameter unset (or set it to null) to return information about monitors that have triggers enabled and disabled. Set this parameter to true to return only information about monitors with triggers enabled. Set this parameter to false to return only information about monitors with triggers disabled. Default is null.
indices String The index name or index pattern of the indexes tracked by the returned monitors.
sortOrder String The sort order of the results. Valid values are asc (ascending) and desc (descending). Default is asc.
sortString String Specifies the monitor field by which to sort the results. Default is name.keyword.
size Integer The number of results to return. Default is 20.
startIndex Integer The paginated index of the monitor to start from. Default is 0.

Execute parameters

The following table lists all tool parameters that are available when running the agent.

Parameter Type Required/Optional Description
question String Required The natural language question to send to the LLM.
350 characters left

Have a question? .

Want to contribute? or .