Settings

Theme

Theme comes in two modes: dark & light

Introduction

Tedon Monitor is a convenient monitoring and dashboard solution for Windows, Azure & Docker environments. It's build in Powershell and very extensible. You can run it on a single server, schedule the monitoring and upload the generated static html to a website of your choice.

Background

Today's monitoring is a challenge with the ever expanding environments, applications, websites, api's and services. Complexity is now days always prevalent and we need to deal with it on many levels. In a DevOps world we can tackle this in several ways from many perspectives. Our view is to look at the application & server level. The solution we have crafted is based on the Configuration As Code (coc) paradigm with everything in version control. We use Git as our version control system in the GitOps/Infrastructure As Code way of thinking. Everything we do is captured and stored in configuration files, modified by pull-requests and therefore we maintain the state of all our environments in our DTAP. This way we can share our configuration information (one truth) and coordinate the activities of all the software delivery stages (SDLC/ALM). We describe our environments, servers and applications in a declarative way and use PowerShell to enforce our state. We create everything with an idempotent behavior allowing us to run our PowerShell scripts as many times as we want without any further risks.

Monitoring as Code

Configuration As Code also has the benefit that we can querying our complete environment definitions and that's what we use for monitoring our environments. Stored in Git is everything we need to know for monitoring at the application and server level.


In our config store we use xml based configuration files based on the following concepts/entities

  • environment-group: Organizations
  • environment: Specific environment like develop, acceptance or production
  • module: One or more applications/artifacts == one build == one release == one deploy to multiple server/node roles.
  • node: Server, Pod, Virtual Machine or virtual alias/dns/reference
  • role: Node role like web-server, mq-server or db-server
  • service: Endpoint of website, rest-service, nt-server or database
  • variable: tokens used in application configuration files like web.config, app.config or application.json
  • password: Secrets like certificates & passwords
  • team: Group of users
  • user: Developer, Tester, Product Owner, Lead developer etc..
  • project: Container for teams and modules
What to Monitor
  • services & nodes
  • external api's/websites
  • special services
  • Azure DevOps (builds & releases/deploys, Fires)
  • Azure App Insights (Error/Exception logs)
  • level of Monitoring (Production every 5 minutes, test & acceptance every 10 minutes, develop every 15 minutes)
Types of monitors
  • web-request
  • rest-request
  • database
    • Existence
    • Health
    • SqlJobs
  • Azure Message broker
    • Messages
    • Connections
  • Node
    • certificate expiration
    • disk-space
    • cpu usage
    • memory usage
When to Alert
  • Slack
  • Microsoft Teams
Terms
Configuration As Code

Storing all configuration in version control (GIT), modified by pull request(s) and applied automatically.

Environment

A collection of servers & applications in one environment of a DTAP street. Sometimes we only use Staging / Production environments for less complex situations.

Shortcuts
Global
Ctrl-Shift-H  Home
Ctrl-Shift-B  Builds
Ctrl-Shift-R  Releases
Ctrl-Shift-I  Incidents
Ctrl-Shift-A  Apps
Ctrl-Shift-U  Tests on Test Environment
Ctrl-Shift-M  Bookmarks

Switch Environments
Shift-Alt-P  Production
Shift-Alt-A  Acceptance
Shift-Alt-T  Test
Shift-Alt-D  Develop