-
Notifications
You must be signed in to change notification settings - Fork 29
WIP: Establish Netedge Toolset - prom query tool init #115
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
base: main
Are you sure you want to change the base?
Conversation
|
Skipping CI for Draft Pull Request. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: bentito The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@Cali0707 Thanks for flagging the overlap. I've reviewed both approaches and wanted to share what my PR #117 introduces: My observability toolset (#117) provides:
Key differences from the query_prometheus in the netedge toolset:
The goal of my PR is to establish a general-purpose observability toolset that can house all monitoring/alerting tools in one place. This aligns with how toolsets are organized in this project (e.g., core, helm, kiali). Question for @bentito: Would the tools in my PR satisfy your use case for NetEdge diagnostics? If there are specific Prometheus query patterns or additional parameters your workflow needs that aren't covered, I'm open to extending the observability toolset to support them. Alternatively, if NetEdge needs a completely separate toolset with domain-specific logic beyond just Prometheus queries, we could potentially have your netedge toolset consume the shared observability infrastructure. Let me know your thoughts - I'd rather we collaborate and avoid duplicating effort. |
Yeah we should definitely have shared prometheus machinery and then the separate tools can have unique promql to do the things needed. I am about to put up a commit that will add that specialization. I'll still put that up, and then let's consider the following: @sakhoury what do think about combining to a single tool and then have a "mode" parameter flag? This allows a single set of code for prom querying then whatever promql you want can go into your mode. For instance we'd expect agents running the tool for our usage to run it as "query_prometheus --mode netedge", in the tool code we can branch in cmd, have a share pkg for setting up to call prometheus and separate packages holding the promql or other logic. |
|
@sakhoury does my mode triggered by a flag like |
|
@bentito Thanks for the follow-up. To answer your questions directly: On the That said, looking at your latest commit, what you actually implemented - a On relocating prometheus code to So my proposal:
Does that work for you? |
Yes @sakhoury, that would be great, and yes, I meant CLI flag-like functionality within LLM calling tool via JSON We'll avoid redundant code, yay! Your suggestion for pkg/prometheus seems good. Since you have better general code for prom already, would you want to restructure your PR for that and I'll wait until it merges and then restructure mine to import and use it? |
Sounds good @bentito! I'll restructure my PR to extract the shared Prometheus client to |
Signed-off-by: Brett Tofel <btofel@redhat.com>
cd03f62 to
2aa93ea
Compare
WIP:
This PR is part of a spike to see if
openshift-mcp-serverwill be a good home for the NIDS (NetEdge) toolset.For background on the toolset effort, please see: https://docs.google.com/document/d/19hToi_iUN5wu4LBXdxMu4cPW7hOEFy8LIJ7vGv_DKOw/edit?tab=t.0
To have a concrete task to establish the toolset, this PR is implementing a first MCP tool,
query_prometheuswhich will eventually handle querying Prometheus for data relevant to network edge diagnostics.