Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] Create alerting monitor tool #338

Open
ylwu-amzn opened this issue Jun 18, 2024 · 2 comments
Open

[FEATURE] Create alerting monitor tool #338

ylwu-amzn opened this issue Jun 18, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@ylwu-amzn
Copy link
Collaborator

We have get alerting monitor tool now. We can create some tool to create alerting monitor.

@ylwu-amzn ylwu-amzn added enhancement New feature or request untriaged labels Jun 18, 2024
@dblock
Copy link
Member

dblock commented Jul 8, 2024

[Catch All Triage, attendees 1, 2, 3, 4, 5, 6, 7]

@dblock dblock removed the untriaged label Jul 8, 2024
@qianheng-aws
Copy link
Contributor

qianheng-aws commented Jul 10, 2024

Hi, I'm working on implementing this tool, which aims to help create alert with natural language. The tool has 3 input parameters:

  1. question: user's question about creating a new alert
  2. indices: The input indices of the monitor.
  3. chat_history: optional, the chat history of chatbot

This tool is able to request LLM by itself and has its own tool prompt, and it can also get some necessary information by calling OS API.

When this tool is selected by chat agent or invoked by flow agent, it will be executed as following steps:

  1. get the mapping info of the input indices
  2. construct its final tool prompt by substitute the placeholders(e.g. question, indices, chat_history, mapping_info) in its raw prompt
  3. request LLM with the final prompt and got response
  4. extract the alert configuration from the LLM response as its output.

The tool output format may be like:

Tool output:

{
    "name": "Error 500 Response Alert",
    "search": {
        "indices": ["opensearch_dashboards_sample_data_logs"],
        "timeField": "timestamp",
        "bucketValue": 60,
        "bucketUnitOfTime": "m",
        "filters": [
            {
                "fieldName": [
                    {
                        "label": "response",
                        "type": "text"
                    }
                ],
                "fieldValue": "500",
                "operator": "is"
            }
        ],
        "aggregations": [
            {
                "aggregationType": "count",
                "fieldName": "bytes"
            }
        ]
    },
    "triggers": [
        {
            "name": "Error 500 Response Count Above 1",
            "severity": 1,
            "thresholdValue": 1,
            "thresholdEnum": "ABOVE"
        }
    ]
}

There is a demo video about creating an alert by LLM: https://broadcast.amazon.com/videos/1159580

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants