Skip to content

GrolimundSolutions/syntheticMonitor

Repository files navigation

SyntheticMonitor

GitHub issues GitHub license GitHub release Go Report Go Go Go Reviewed by Hound


Mit dem SyntethicMonitor kann man eine/mehrere url's Prüfen auf deren Geschwindigkeit und via Regex nach einem Inhalt suchen um zu Prüfen das die Webseite auch wirklich Online ist. Die abarbeitung erfolgt via "concurrency" sprich, es wird Parallel abarbeitet. Weiter erhaltet man Detailliertere Informationen zu den Request-Zeiten:

  • Name
  • URL
  • HTTPStatus
  • TotalTime
  • DNSLookup
  • TCPConnection
  • TLSHandshake
  • ServerProcessing
  • *ContentTransfer

Json:

[
	{
		"Name": "Google Swiss",
		"URL": "https://www.google.ch/",
		"HTTPStatus": "200",
		"TotalTime": "134",
		"DNSLookup": "16",
		"TCPConnection": "10",
		"TLSHandshake": "48",
		"ServerProcessing": "58",
		"ContentTransfer": "23"
	},
	{
		"Name": "shodan",
		"URL": "https://www.shodan.io/",
		"HTTPStatus": "200",
		"TotalTime": "319",
		"DNSLookup": "6",
		"TCPConnection": "13",
		"TLSHandshake": "43",
		"ServerProcessing": "257",
		"ContentTransfer": "23"
	}
]

Settings:

{
	"Location": "Swiss",
	"SyntheticUrls": [
		{
			"URL": "https://google.ch",
			"Name": "Google Swiss",
			"Expect": "In Progress"
		},
		{
			"URL": "https://www.shodan.io/",
			"Name": "shodan",
			"Expect": "In Progress"
		}
	]
}

Eine Musterdatei wird automatisch beim starten der Anwendung angelegt

Windows: \ProgramData\SyntheticMonitor\urlList.json
Linux: /etc/syntheticmonitor/urlList.json

Das Ergebniss kann als json ymal oder per HTTP POST Request gesendet werden.

Hier ein paar Settings Beispiele: \

Speichern als yaml

{
	"Location": "Swiss",
	"EndpointType": "File",
	"FileType": "yaml",
	"FileLocation": "C:\\Users\\Muster\\syntheticMonitor\\results",
	"SyntheticUrls": [
		{
			"URL": "https://google.ch",
			"Name": "Google Swiss",
			"Expect": "In Progress"
		},
		{
			"URL": "https://www.shodan.io/",
			"Name": "shodan",
			"Expect": "In Progress"
		}
	]
}

Speichern als json

{
	"Location": "Swiss",
	"EndpointType": "File",
	"FileType": "json",
	"FileLocation": "C:\\Users\\Muster\\syntheticMonitor\\results",
	"SyntheticUrls": [
		{
			"URL": "https://google.ch",
			"Name": "Google Swiss",
			"Expect": "In Progress"
		},
		{
			"URL": "https://www.shodan.io/",
			"Name": "shodan",
			"Expect": "In Progress"
		}
	]
}

Speichern via POST-Request

{
	"Location": "Swiss",
	"EndpointType": "URL",
	"EndpointURL": "https://meineurl.ch/muster",
	"EndpointPort": 443,
	"EndpointTokenKey": "Token",
	"EndpointTokenValue": "meinsecrettoken",
	"SyntheticUrls": [
		{
			"URL": "https://google.ch",
			"Name": "Google Swiss",
			"Expect": "In Progress"
		},
		{
			"URL": "https://www.shodan.io/",
			"Name": "shodan",
			"Expect": "In Progress"
		}
	]
}