This commit is contained in:
2019-07-08 18:25:13 +00:00
parent c95b421924
commit 9499b50f26
5 changed files with 102 additions and 51 deletions

View File

@@ -36,10 +36,23 @@ namespace rockfishCore.Controllers
{ {
case "MailMirror": case "MailMirror":
Ret.Status = RfMail.MailIsMirroringProperly(); Ret.Status = RfMail.MailIsMirroringProperly();
{
DateTime? sslExpiry = OpsDiagnostics.SSLCertExpiryDate("https://mail.ayanova.com/");
if (sslExpiry != null)
{
Ret.ServiceCheckError += "Mail server SSL expires: " + sslExpiry.ToString();
}
}
break; break;
case "AyaNovaSite": case "AyaNovaSite":
Ret.Status = OpsDiagnostics.CheckWebsite("https://www.ayanova.com/", "Ground Zero Tech-Works Inc."); Ret.Status = OpsDiagnostics.CheckWebsite("https://www.ayanova.com/", "Ground Zero Tech-Works Inc.");
bool bssl = OpsDiagnostics.IsSSLCertAboutToExpire("https://www.ayanova.com"); {
DateTime? sslExpiry = OpsDiagnostics.SSLCertExpiryDate("https://www.ayanova.com");
if (sslExpiry != null)
{
Ret.ServiceCheckError += "AyaNova.com SSL expires: " + sslExpiry.ToString();
}
}
break; break;
case "APISite": case "APISite":
Ret.Status = OpsDiagnostics.CheckWebsite("https://api.ayanova.com/", "WorkorderTypes Enumeration"); Ret.Status = OpsDiagnostics.CheckWebsite("https://api.ayanova.com/", "WorkorderTypes Enumeration");
@@ -61,6 +74,14 @@ namespace rockfishCore.Controllers
break; break;
case "DevOps": case "DevOps":
Ret.Status = OpsDiagnostics.CheckWebsite("https://test.helloayanova.com/api/v8/", "AyaNova server"); Ret.Status = OpsDiagnostics.CheckWebsite("https://test.helloayanova.com/api/v8/", "AyaNova server");
//devops https check url is https://www.helloayanova.com/
{
DateTime? sslExpiry = OpsDiagnostics.SSLCertExpiryDate("https://www.helloayanova.com/");
if (sslExpiry != null)
{
Ret.ServiceCheckError += "DEVOPS SSL expires: " + sslExpiry.ToString();
}
}
break; break;
case "Backup": case "Backup":
Ret.Status = OpsDiagnostics.VerifyBackups(); Ret.Status = OpsDiagnostics.VerifyBackups();

View File

@@ -44,18 +44,18 @@ namespace rockfishCore.Util
/// check if an ssl cert is within 10 days of expiry /// check if an ssl cert is within 10 days of expiry
/// </summary> /// </summary>
/// <param name="url"></param> /// <param name="url"></param>
/// <returns></returns> /// <returns>null if more than 10 days before expiry or the expiry date for display</returns>
public static bool IsSSLCertAboutToExpire(string url) public static DateTime? SSLCertExpiryDate(string url)
{ {
var expires = GetServerCertificateExpiryAsync(url).Result; var expires = GetServerCertificateExpiryAsync(url).Result;
//In 10 days will we be past the expiry date //In 10 days will we be past the expiry date
var deadline = DateTime.Now.AddDays(10); var deadline = DateTime.Now.AddDays(100);
if (expires < deadline) if (expires < deadline)
{ {
return true; return expires;
} }
return false; return null;
} }

View File

@@ -27,10 +27,11 @@ app.ops = (function() {
$.gevent.publish("app-show-error", res.msg); $.gevent.publish("app-show-error", res.msg);
} else { } else {
if (res.serviceCheckError) { if (res.serviceCheckError) {
var errorText = $("#rf-ops-error").text(); var errorElement=$("#"+service+"-error");
var errorText = errorElement.text();
errorText += "\r\n"; errorText += "\r\n";
errorText += res.serviceCheckError; errorText += res.serviceCheckError;
$("#rf-ops-error").text(errorText); errorElement.text(errorText);
} }
var serviceElement = $("#" + service); var serviceElement = $("#" + service);

View File

@@ -2,46 +2,76 @@
<h3>Operations status</h3> <h3>Operations status</h3>
<pre id="rf-ops-error" class="text-danger"></pre> <pre id="rf-ops-error" class="text-danger"></pre>
<div id="rf-ops-status"> <div id="rf-ops-status">
<h5> <div>
<i id="MailMirror" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i> <h5>
Mail / mirror <i id="MailMirror" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i>
</h5> Mail / mirror
<h5> </h5>
<i id="AyaNovaSite" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i> <pre id="MailMirror-error" class="text-danger"></pre>
AyaNova site </div>
</h5> <div>
<h5> <h5>
<i id="Backup" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i> <i id="AyaNovaSite" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i>
Backup AyaNova site
</h5> </h5>
<h5> <pre id="AyaNovaSite-error" class="text-danger"></pre>
<i id="ContactForm" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i> </div>
Contact form <div>
</h5> <h5>
<h5> <i id="Backup" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i>
<i id="RequestForm" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i> Backup
Request form </h5>
</h5> <pre id="Backup-error" class="text-danger"></pre>
<h5> </div>
<i id="RequestLiteForm" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i> <div>
Request lite form <h5>
</h5> <i id="ContactForm" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i>
<h5> Contact form
<i id="Forum" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i> </h5>
Forum <pre id="ContactForm-error" class="text-danger"></pre>
</h5> </div>
<h5> <div>
<i id="Subversion" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i> <h5>
Subversion <i id="RequestForm" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i>
</h5> Request form
<h5> </h5>
<i id="DevOps" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i> <pre id="RequestForm-error" class="text-danger"></pre>
DevOps server </div>
</h5> <div>
<h5> <h5>
<i id="APISite" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i> <i id="RequestLiteForm" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i>
API site Request lite form
</h5> </h5>
<pre id="RequestLiteForm-error" class="text-danger"></pre>
</div>
<div>
<h5>
<i id="Forum" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i>
Forum
</h5>
<pre id="Forum-error" class="text-danger"></pre>
</div>
<div>
<h5>
<i id="Subversion" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i>
Subversion
</h5>
<pre id="Subversion-error" class="text-danger"></pre>
</div>
<div>
<h5>
<i id="DevOps" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i>
DevOps server
</h5>
<pre id="DevOps-error" class="text-danger"></pre>
</div>
<div>
<h5>
<i id="APISite" class="mdi mdi-36px mdi-help-circle-outline text-warning"></i>
API site
</h5>
<pre id="APISite-error" class="text-danger"></pre>
</div>
</div> </div>
</div> </div>

File diff suppressed because one or more lines are too long