farhanalam / StackWarden

Application stack resource monitors and dashboard.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

StackWarden

Application stack resource monitors and dashboard.

Monitors

  • Monitor a resource and report its state to the configured handlers.
  • Tags are optional, will be used for result grouping, but are currently not currently used.
  • Display name is optional for all configurations.
Http Availability
  • Attempts to connect to an http url
  • Configuration Example
{
	"Type": "Http.Availability",
	"Interval": 60000,
	"Address": "http://your.domain.here",
	"DisplayName": "Friendly Name Here",
	"Tags":[
		"Tag1",
		"Tag2"
	],
	"Handlers":[
		"HandlerName",
		"SomeOtherHandlerName"
	]
}
SQL Database Presence
  • Connects to a database server and queries that the database exists.
  • Configuration Example
{
	"Type": "Database.SQLPresence",
	"Interval": 60000,
	"ConnectionString": "connection string goes here",
	"DisplayName": "Friendly Name Here",
	"Tags":[
		"Tag1",
		"Tag2"
	],
	"Handlers":[
		"HandlerName",
		"SomeOtherHandlerName"
	]
}
Machine Availability
  • Pings the target machine.
  • Configuration Example
{
	"Type": "Machine.Availability",
	"Interval": 60000,
	"Address": "MachineName",
	"DisplayName": "Friendly Name Here",
	"Tags":[
		"Tag1",
		"Tag2"
	],
	"Handlers":[
		"HandlerName",
		"SomeOtherHandlerName"
	]
}
  • Optional Configuration
    • WarningThreshold: A ping equal to or higher than this will trigger a warning state.
      • "WarningThreshold": 50
    • ErrorThreshold: A ping equal to or higher than this will trigger an error state.
      • "ErrorThreshold": 50
MSMQ Message Queue
  • Checks queue size and aggregates message count per message type.
  • Configuration Example
{
	"Type": "MSMQ.QueueSize",
	"Interval": 60000,
	"Path": "FormatName:Direct=OS:server\\private$\\queue.name",
	"DisplayName": "Friendly Name Here",
	"Tags":[
		"Tag1",
		"Tag2"
	],
	"Handlers":[
		"HandlerName",
		"SomeOtherHandlerName"
	]
}
  • Optional Configuration
    • WarningThreshold: A total message count equal to or higher than this will trigger a warning state.
      • "WarningThreshold": 50
    • ErrorThreshold: A total message count equal to or higher than this will trigger an error state.
      • "ErrorThreshold": 50
Windows Service State
  • Checks a machine for a windows service and its state.
  • Configuration Example
{
	"Type": "Service.State",
	"Interval": 60000,
	"Machine": "ServiceHostMachine",
	"Service": "Service Name",
	"DisplayName": "Friendly Name Here",
	"Tags":[
		"Tag1",
		"Tag2"
	],
	"Handlers":[
		"HandlerName",
		"SomeOtherHandlerName"
	]
}

Monitor Result Handlers

  • Take results reported by monitors and forward them via the notification method and target they represent.
  • The configuration files are named "YourHandlerNameHere.handlerconfig"
  • The name used in the file name, before the extension, is used in the monitor configuration files to reference that handler.
Console
  • For debugging
Dashboard
  • Sends results to the StackWarden dashboard.
  • Configuration Example
{
	"Type": "Dashboard",
	"HookAddress": "http://your.domain.here/api/monitor/result/hook"
}
Email
  • Emails results to the specified recipients.
  • SMTP settings are configured via the service's config file, for now.
  • Configuration Example
{
	"Type": "Email",
	"Sender": "sender@domain.com",
	"Recipients":[
		"recipient@one.com",
		"recipient@two.com"
	]
}
Slack
  • Sends results to the specific stack instance/channel.
  • Configuration Example
{
	"Type": "Slack",
	"HookAddress": "http://your.slack.hook/here"
}
  • Optional Configuration
    • Username: The username the results will be reported as coming from.
      • "Username": "UsernameHere"
    • Channel: The channel the results will be reported to.
      • "Channel": "ChannelNameHere"
    • Icon: The icon the user reporting the result will use.
    • NotificationThreshold: The severity threshold used to determine if a message is sent to slack.
      • Values
        • Normal
        • Warning
        • Error
      • "NotificationThreshold": "Warning"

About

Application stack resource monitors and dashboard.

License:GNU General Public License v3.0


Languages

Language:HTML 81.8%Language:C# 9.0%Language:JavaScript 8.3%Language:CSS 0.8%Language:ASP 0.0%