160 likes | 267 Views
Xperteyes keeping your system under control. Pim Buurman. Introduction. The Problem The Solution Architecture Requirements Extending. The Problem. Many systems, few administrators Errors and inconsistencies do not show up at once. The Solution. Independent checking tool
E N D
Xperteyeskeeping your system under control Pim Buurman
Introduction • The Problem • The Solution • Architecture • Requirements • Extending Pim BuurmanX|support
The Problem • Many systems, few administrators • Errors and inconsistencies do not show up at once Pim BuurmanX|support
The Solution • Independent checking tool • Fully configurable • Extendible • Fast • Xperteyes Pim BuurmanX|support
Architecture system Collector collection Requirements Checker collection Viewer Pim BuurmanX|support
Implementation • Python • wxPython • Python C-extensions • compact and fast storage • system specific collecting Pim BuurmanX|support
Collectors • Configuration data • Hierarchy - table - irregular • Hierarchical storage Pim BuurmanX|support
General Checker • check <reqs> <out> <collection> … • Errors Pim BuurmanX|support
Requirements • Object and selection • Tests • Context and severity Pim BuurmanX|support
Requirements 2 • Selection: f(curr, spec) • Test: f(curr) • Customization • Python as test language Pim BuurmanX|support
Requirement interpretation • All tests on the node are applied • Overlapping requirements • More specific blocks less specific Pim BuurmanX|support
Requirement interpretation 2 require('/', perm_le(0755), selection=ALL) require('/tmp', [perm_eq(01777), uid_eq(0)]) require('/tmp', perm_le(0777), selection=ALL_CHILDREN) / /tmp /usr /var /tmp/pim /tmp/john Pim BuurmanX|support
Viewer • Demonstration Pim BuurmanX|support
Repairing • Require('/', uid_eq(0, repairActions=[repair.uid_eq(0)])) Pim BuurmanX|support
Extending • New test • New collector Pim BuurmanX|support
Conclusion • Simple program, complex configuration • Available: Summix stand • Price: your business card Pim BuurmanX|support