mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-26 03:04:13 +00:00
test - slack alerting
This commit is contained in:
parent
f2c6f1d837
commit
11d1a0fd95
1 changed files with 15 additions and 4 deletions
|
@ -2441,7 +2441,7 @@ class ProxyConfig:
|
||||||
- Check if model id's in router already
|
- Check if model id's in router already
|
||||||
- If not, add to router
|
- If not, add to router
|
||||||
"""
|
"""
|
||||||
global llm_router, llm_model_list, master_key
|
global llm_router, llm_model_list, master_key, general_settings
|
||||||
|
|
||||||
import base64
|
import base64
|
||||||
|
|
||||||
|
@ -2541,7 +2541,7 @@ class ProxyConfig:
|
||||||
config_data = await proxy_config.get_config()
|
config_data = await proxy_config.get_config()
|
||||||
litellm_settings = config_data.get("litellm_settings", {}) or {}
|
litellm_settings = config_data.get("litellm_settings", {}) or {}
|
||||||
success_callbacks = litellm_settings.get("success_callback", None)
|
success_callbacks = litellm_settings.get("success_callback", None)
|
||||||
_added_callback = False
|
|
||||||
if success_callbacks is not None and isinstance(success_callbacks, list):
|
if success_callbacks is not None and isinstance(success_callbacks, list):
|
||||||
for success_callback in success_callbacks:
|
for success_callback in success_callbacks:
|
||||||
if success_callback not in litellm.success_callback:
|
if success_callback not in litellm.success_callback:
|
||||||
|
@ -2557,6 +2557,13 @@ class ProxyConfig:
|
||||||
verbose_proxy_logger.error(
|
verbose_proxy_logger.error(
|
||||||
"Error setting env variable: %s - %s", k, str(e)
|
"Error setting env variable: %s - %s", k, str(e)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# general_settings
|
||||||
|
_general_settings = config_data.get("general_settings", {})
|
||||||
|
if "alerting" in _general_settings:
|
||||||
|
general_settings["alerting"] = _general_settings["alerting"]
|
||||||
|
proxy_logging_obj.alerting = general_settings["alerting"]
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
verbose_proxy_logger.error(
|
verbose_proxy_logger.error(
|
||||||
"{}\nTraceback:{}".format(str(e), traceback.format_exc())
|
"{}\nTraceback:{}".format(str(e), traceback.format_exc())
|
||||||
|
@ -8379,7 +8386,7 @@ async def test_endpoint(request: Request):
|
||||||
)
|
)
|
||||||
async def health_services_endpoint(
|
async def health_services_endpoint(
|
||||||
user_api_key_dict: UserAPIKeyAuth = Depends(user_api_key_auth),
|
user_api_key_dict: UserAPIKeyAuth = Depends(user_api_key_auth),
|
||||||
service: Literal["slack_budget_alerts", "langfuse"] = fastapi.Query(
|
service: Literal["slack_budget_alerts", "langfuse", "slack"] = fastapi.Query(
|
||||||
description="Specify the service being hit."
|
description="Specify the service being hit."
|
||||||
),
|
),
|
||||||
):
|
):
|
||||||
|
@ -8395,7 +8402,7 @@ async def health_services_endpoint(
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=400, detail={"error": "Service must be specified."}
|
status_code=400, detail={"error": "Service must be specified."}
|
||||||
)
|
)
|
||||||
if service not in ["slack_budget_alerts", "langfuse"]:
|
if service not in ["slack_budget_alerts", "langfuse", "slack"]:
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=400,
|
status_code=400,
|
||||||
detail={
|
detail={
|
||||||
|
@ -8422,6 +8429,10 @@ async def health_services_endpoint(
|
||||||
if "slack" in general_settings.get("alerting", []):
|
if "slack" in general_settings.get("alerting", []):
|
||||||
test_message = f"""\n🚨 `ProjectedLimitExceededError` 💸\n\n`Key Alias:` litellm-ui-test-alert \n`Expected Day of Error`: 28th March \n`Current Spend`: $100.00 \n`Projected Spend at end of month`: $1000.00 \n`Soft Limit`: $700"""
|
test_message = f"""\n🚨 `ProjectedLimitExceededError` 💸\n\n`Key Alias:` litellm-ui-test-alert \n`Expected Day of Error`: 28th March \n`Current Spend`: $100.00 \n`Projected Spend at end of month`: $1000.00 \n`Soft Limit`: $700"""
|
||||||
await proxy_logging_obj.alerting_handler(message=test_message, level="Low")
|
await proxy_logging_obj.alerting_handler(message=test_message, level="Low")
|
||||||
|
return {
|
||||||
|
"status": "success",
|
||||||
|
"message": "Mock Slack Alert sent, verify Slack Alert Received on your channel",
|
||||||
|
}
|
||||||
else:
|
else:
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=422,
|
status_code=422,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue