Fabric Data Days Monthly is back. Join us on March 26th for two expert-led sessions on 1) Getting Started with Fabric IQ and 2) Mapping & Spacial Analytics in Fabric. Register now
I am setting up a monitoring workflow in Microsoft Fabric using Fabric Activator. I have created an alert based on a KQL query that monitors row ingestion. kql query -
@udf.function()
def testFunction(metricName: str, metricValue: float, labels: dict) -> str:
logging.info(f"Starting Prometheus Remote Write push for: {metricName}")
try:
writer = RemoteWriter(
url=MIMIR_URL,
auth={
"username": MIMIR_USERNAME,
"password": MIMIR_PASSWORD
}
)
if not isinstance(labels, dict):
logging.error("Input 'labels' was not provided as a dictionary/object.")
return "Push failed: labels must be a JSON object"
timestamp_ms = int(datetime.datetime.now().timestamp() * 1000)
metric_definition = labels.copy()
metric_definition["__name__"] = metricName
series = [
{
"metric": metric_definition,
"values": [float(metricValue)],
"timestamps": [timestamp_ms]
}
]
writer.send(series)
logging.info(f"Successfully pushed {metricName} to Mimir.")
return f"Metric pushed successfully at {datetime.datetime.now()}"
except Exception as e:
logging.error(f"Remote Write failed: {str(e)}")
return f"Push failed: {str(e)}"When testing the function in Develop Mode using the Test Panel with the following parameters:
metricName: "fabric_rows_ingested_test"
metricValue: 111
metricLabels: {"workspace": "dev", "table": "table1"}
Output: "Metric pushed successfully at 2026-03-23 06:53:51" Logs: Successfully pushed fabric_rows_ingested_test to Mimir.
above exposed metric can be accessed in grafana.
{
"functionName": "testFunction",
"invocationId": "00000000-0000-0000-0000-000000000000",
"status": "Failed",
"errors": [
{
"errorCode": "WorkloadException",
"subErrorCode": "NotFound",
"message": "User data function: 'testFunction' invocation failed."
}
]
}
Why does the Fabric backend fail to resolve the endpoint in Published mode (returning NotFound) when the same function is fully functional in the Develop sandbox?