如何在没有 SDK 的情况下为 webjobs 设置警报
Posted
技术标签:
【中文标题】如何在没有 SDK 的情况下为 webjobs 设置警报【英文标题】:How to set an alert for webjobs without SDK 【发布时间】:2021-10-21 01:44:56 【问题描述】:我创建了一个使用 Java 作为技术堆栈的触发式网络作业,并且在部署后运行良好。 但现在我想使用警报通知来监控这个网络作业。我尝试了多种方法,例如在 POM 文件中添加应用程序洞察依赖项并使用检测密钥,但没有任何效果。 如果有人可以指导我如何设置网络作业失败的警报,那将非常有帮助。 谢谢。
【问题讨论】:
【参考方案1】:更新:
正如Sdcoder 评论的那样:
我正在从 run.sh 文件调用 application-insight 代理 jar。它解决了我的问题,我现在可以在应用程序洞察力中看到日志。我的
run.sh
文件如下所示:set PATH=%PATH%;%JAVA_HOME%/bin java -javaagent:applicationinsights-agent-3.0.2.jar -jar app.jar
正如ahmelsayed建议的那样:
如果您不使用 WebJob SDK,那么很遗憾,没有任何用于连续 Web 作业的事件。只有one way for triggered jobs。 private async void ReportTriggeredJobFinished(string jobName, string jobRunId)
TriggeredJobRun triggeredJobRun = GetJobRun(jobName, jobRunId);
if (triggeredJobRun == null)
return;
await _hooksManager.PublishEventAsync(HookEventTypes.TriggeredJobFinished, triggeredJobRun);
您可以参考Azure WebJob, how to be notified if it stops?和Best way to set up alerts on azure web job
【讨论】:
感谢 DeepDave-MT。我正在从 run.sh 文件调用 application-insight 代理 jar。它解决了我的问题,我现在可以在应用程序洞察力中看到日志。我的 run.sh 文件如下所示: set PATH=%PATH%;%JAVA_HOME%/bin java -javaagent:applicationinsights-agent-3.0.2.jar -jar app.jar以上是关于如何在没有 SDK 的情况下为 webjobs 设置警报的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有“始终开启”的情况下保持 Azure WebJob 运行
Azure WebJobs SDK TimerTrigger 函数未运行