We are planning to extend our platform with smart agents that can be installed on workstations or servers. We will provide for example CPU, memory, disk space monitoring, …, with possibility to extend agent with custom logic to monitor virtually anything.

We plan to develop cross platform shared codebase with platform specific extensions. For example, here is example of simple implementation for Windows operating system, which uses Performance Counter to get CPU usage:

namespace AppBeat.Telemetry.Windows { class CPU : AppBeat.Telemetry.Core.BaseResource, ITelemetryProvider { public ResourceValue GetValue() { return GetResourceValuePercentage( nameof(CPU), Utility.PerformanceCounter.GetValue( Constants.PC_CATEGORY_PROCESSOR, Constants.PC_COUNTER_NAME_PROCESSOR_TIME, Constants.PC_INSTANCE ) ); } } }

Strong emphasis is of course on security. Some security aspects:

  • Firewall friendly: no inbound connections will be made, instead all telemetry will be pushed from smart agent to AppBeat server (only outbound connections will be made)
  • All communication with AppBeat server is over secure SSL connection
  • Additional to that, all messages will also be encrypted by application (smart agent) by using your unique private key. This additionally protects you from man-in-the-middle attack.

This is still work in progress but we want to give you a glimpse of what we are doing :)