joe*_*iks 6 gmail scheduling reporting-services
我(就像大多数科技管理员一样)我的收件箱中的预定服务有很多状态信息.但是,当一个服务电子邮件失败时,显然没有发送电子邮件.所以我只想要一个查看我的收件箱的服务说"嘿,这个服务昨天没有发送电子邮件报告 - 有些错误!".
应该在某个地方解决这个问题.也许Gmail(或其他一些电子邮件提供商)提供此类服务,这将是很棒的.
拥有像 Nagios 这样的集中监控解决方案,您将其配置为仅在服务错过其心跳、达到高水位线、耗尽燃料时才发送通知,这不是更好的选择吗?然后是第二个监控解决方案,用于监控主监控解决方案......
http://www.nagios.org/documentation
我不知道您描述的任何服务,但手动例程可能如下所示:
有一个像这样的文件夹/标签结构:
Services\Hourly-[NumberOfServices] (or add a folder per service)
Services\Daily-[NumberOfServicves]
Services\Weekly-[NumberOfServicves]
Services\Monthly-[NumberOfServicves]
Run Code Online (Sandbox Code Playgroud)
对传入邮件制定规则,以过滤每个特定的服务通知,并根据其预期时间将其移动到正确的文件夹。
每小时醒来并检查每小时文件夹中是否有未读消息。未读数量应与文件夹中提到的 NumberOfServices 相同。阅读/处理它们并确保将它们全部标记为已读。任何不通过电子邮件发送的服务都很容易被发现。
0:00 唤醒并检查每日文件夹中是否有未读消息。等等等等..
周六和 0:00 唤醒,检查每周文件夹中是否有未读消息。ETC.....
每月一号 0:00 唤醒,检查每周文件夹中是否有未读消息。等等等等等等...
我的建议是减少服务产生的噪音。
如果你仍然觉得你需要服务,我只能提供一个非常非常基本的.Net实现,大致基于上述过程,并与gmail一起使用...这也可以移植到powershell...
static void Main(string[] args)
{
var resolver = new XmlUrlResolver
{
Credentials = new NetworkCredential("yourgoolgeaccount", "yourpassword")
};
var settings = new XmlReaderSettings();
settings.XmlResolver = resolver;
var xr = XmlReader
.Create("https://mail.google.com/mail/feed/atom/[name of your filter]"
, settings);
var navigator = new XPathDocument(xr).CreateNavigator();
var ns = new XmlNamespaceManager(new NameTable());
ns.AddNamespace("fd", "http://purl.org/atom/ns#");
var fullcountNode = navigator.SelectSingleNode(
"/fd:feed/fd:fullcount"
, ns);
Console.WriteLine(fullcountNode.Value);
int fullcount = Int32.Parse(fullcountNode.Value);
int expectCount = 10;
if (expectCount > fullcount)
{
Console.WriteLine("*** NOT EVERY ONE REPORTED BACK");
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
700 次 |
最近记录: |