wiki:Nodewatcher/Registry/NodeMonitoring
Last modified 3 years ago Last modified on 06/04/2014 10:28:03 AM

Monitoring Registry

This page is for future nodewatcher version currently in development.

The monitoring registry uses the same modular registry framework as the configuration registry. Its registration point is node.monitoring. In contrast to configuration its purpuse is storage of per-node information that is obtained via live reports from nodes and routing daemons. The registry framework is reused because monitoring must also be as modular and extensible as possible.

All registry item class names in this schema must end in Monitor.

Core Schema

REGISTRY ID MULTIPLE CLASS FIELD TYPE
core.general no
GeneralMonitor
first_seen datetime
last_seen datetime
uuid uuid
firmware string
core.status no
StatusMonitor
status registered choice
has_warnings boolean
core.interfaces yes
InterfaceMonitor
name string
hw_address hardware address string
tx_packets big integer
rx_packets big integer
tx_bytes big integer
rx_bytes big integer
tx_errors big integer
rx_errors big integer
tx_drops big integer
rx_drops big integer
mtu integer
WifiInterfaceMonitor (InterfaceMonitor)
mode registered choice
essid string
bssid bssid string
protocol string
channel integer
channel_width integer
bitrate integer
rts_threshold integer
frag_threshold integer
signal integer
noise integer
snr float
core.interfaces.network yes
NetworkInterfaceMonitor
interface intra-registry foreign key (core.interfaces)
family registered choice
address family-based network address
core.interfaces.limits yes
InterfaceLimitMonitor (hidden registry anchor)
interface intra-registry foreign key (core.interfaces)
ThroughputInterfaceLimitMonitor (InterfaceLimitMonitor)
limit_in registered choice
limit_out registered choice
system.status no
SystemStatusMonitor
uptime integer
local_time datetime
system.resources.general no
GeneralResourcesMonitor
loadavg_1min float
loadavg_5min float
loadavg_15min float
memory_free integer
memory_buffers integer
memory_cache integer
processes integer
system.resources.network no
NetworkResourcesMonitor
routes integer
tcp_connections integer
udp_connections integer
system.checks no
ChecksMonitor
dns boolean
connectivity_losses integer
wifi_errors integer
network.routing.topology yes
multiple entries when using multiple routing protocols at once
RoutingTopologyMonitor
links related field (TopologyLink)
link_count integer
OlsrRoutingTopologyMonitor (RoutingTopologyMonitor)
network.routing.announces yes
RoutingAnnounceMonitor
network ip network
status registered choice
network.measurement.rtt yes
multiple entries for measurements with different packet sizes
RttMeasurementMonitor (Measurement)
packet_size integer
packet_loss integer
all_packets integer
successful_packets integer
failed_packets integer
rtt_minimum float
rtt_average float
rtt_maximum float
rtt_std float
network.clients yes
multiple entries, one entry for each client
ClientMonitor
client_id client id
addresses many to many (ClientAddress)

For explanations of exotic types see registry types.

Auxilary Models

Models

MODEL FIELD TYPE
monitor.TopologyLink (polymorphic)
monitor foreign key (RoutingTopologyMonitor)
(related name links)
peer foreign key (Node)
(related name links)
monitor.OlsrTopologyLink (TopologyLink)
lq float
ilq float
etx float
monitor.ClientAddress
family registered choice
address ip address
expires_time datetime

Mixins

MODEL FIELD TYPE
monitor.Measurement
used by all models under network.measurement registry ID
source foreign key (Node)
start datetime
end datetime

Optional Schema

REGISTRY ID MULTIPLE CLASS FIELD TYPE
carma yes
multiple entries when using multiple carma counters at once
CarmaMonitor
uptime_points integer
clients integer
clients_points integer
sensors yes
SensorMonitor
serial string
TemperatureSensorMonitor (SensorMonitor)
temperature float
VoltageSensorMonitor (SensorMonitor)
voltage float
CurrentSensorMonitor (SensorMonitor)
current float
SolarSensorMonitor (SensorMonitor)
charging_state choice
(boost, equalize, absorption, float)
battery_voltage float
panel_voltage float
charge_current float
load_current float
survey yes
WifiSurveyMonitor
mode registered choice
essid string
bssid bssid string
encryption registered choice
channel registered choice
channel_width registered choice
bitrate registered choice
signal integer
noise integer
snr integer