Specific Simple Network Management Tools



Similar documents
Firewall Builder Architecture Overview

Integrating PATROL with SNMP

MIB Explorer Feature Matrix

This watermark does not appear in the registered version - SNMP and OpenNMS. Part 1 SNMP.

Networks and Protocols Course: International University Bremen Date: Dr. Jürgen Schönwälder Deadline:

Simple Network Management Protocol

Table of Contents. Overview...2. System Requirements...3. Hardware...3. Software...3. Loading and Unloading MIB's...3. Settings...

PANDORA FMS NETWORK DEVICE MONITORING

PANDORA FMS NETWORK DEVICES MONITORING

SNMP Traffic Measurements

Network monitoring with simple network monitoring protocol in optical feeder network

Advantech WebAccess Device Driver Guide. BwSNMP Advantech WebAccess to SNMP Agent (Simple Network Management Protocol) Device Driver Guide

OM2012 Network Monitoring. Phil Bracher Sr. Premier Field Engineer Microsoft Corporation

SNMP Informant. SNMP Informant, the default Microsoft SNMP extension agents and WMI January 2009

SNMP -overview. Based on: W.Stallings Data and Computer Communications

School of Information Technology and Engineering (SITE) CEG 4395: Computer Network Management

WLAN TRAFFIC GRAPHING APPLICATION USING SIMPLE NETWORK MANAGEMENT PROTOCOL *

SNMP Adapter Installation and Configuration Guide

Simulation of an SNMP Agent: Operations, Analysis and Results

Simple Network Management Protocol (SNMP) EngineID Discovery draft-schoenw-snmp-discover-01

Network Management. Jaakko Kotimäki. Department of Computer Science Aalto University, School of Science. 21. maaliskuuta 2016

Outline of the SNMP Framework

CA Nimsoft Monitor. snmptd Guide. v3.0 series

Simple Network Management Protocol

SNMP. Simple Network Management Protocol

The end. Carl Nettelblad

SNMP Monitoring. BSDCon, Sofia October, Shteryana Shopova,

Device Discover: A Component for Network Management System using Simple Network Management Protocol

SQLITE C/C++ TUTORIAL

It should be noted that the installer will delete any existing partitions on your disk in order to install the software required to use BLËSK.

Dell OpenManage SNMP Reference Guide Version 8.0.1

Using SNMP to Obtain Port Counter Statistics During Live Migration of a Virtual Machine. Ronny L. Bull Project Writeup For: CS644 Clarkson University

Chapter 4 Management. Viewing the Activity Log

RemoteControl SNMP. APPolo Remote Control SNMP User Guide. User Guide. Revision: 1.1 Last Updated: June 2014 Support Contact:

White Paper. Fabasoft on Linux Performance Monitoring via SNMP. Fabasoft Folio 2015 Update Rollup 2

SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP)

Integrating NerveCenter with a Network Management Platform. UNIX and Windows Version 5.1.0

Oracle Tuxedo Systems and Application Monitor (TSAM)

Syslog Monitoring Feature Pack

OPTIMIZING APPLICATION MONITORING

Output: struct treenode{ int data; struct treenode *left, *right; } struct treenode *tree_ptr;

Configuring SNMP Cisco and/or its affiliates. All rights reserved. 1

A Web-based System to Monitor and Analyze Network Management Information in XML

Monitoring disk stats with Cacti

DESIGN OF A CONFIGURATION AND MANAGEMENT TOOL FOR INSTRUMENTATION NETWORKS

Network Monitoring with SNMP

Simple Network Management Protocol

Informatica Corporation Proactive Monitoring for PowerCenter Operations Version 3.0 Release Notes May 2014

SNMP Simple Network Management Protocol

NNMi120 Network Node Manager i Software 9.x Essentials

Network Discovery Protocol LLDP and LLDP- MED

Network Discovery Protocol LLDP and LLDP- MED

EXTENSIBLE AGENTS FACILITATE THE EXTENSION OF SNMP AGENTS WITH NEW MIB MODULES SEPARATE SNMP PROTOCOL ENGINE FROM MIB INSTRUMENTATION

A Multi-protocol architecture for SNMP entities

M7 Modem SNMP Guide. M7 Modem Technical Note

Chapter 3 Management. Remote Management

SNMP COMMAND SNMP SNMP [HELP] [COMMUNITY SYSCONTACT SYSLOCATION SYSNAME SYSOBJECID/OID TRAPS LIST]

(Refer Slide Time: 1:17-1:40 min)

A Brief. Introduction. of MG-SOFT s SNMP Network Management Products. Document Version 1.3, published in June, 2008

SNMP and MRTG Monitoring. SNMP and MRTG Monitoring. Introduction. Start. 1 de 9 07/06/ :33. Contents

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

Easy configuration of NETCONF devices

Oracle WebLogic Server

SNMP Basics BUPT/QMUL

Heterogeneous Tools for Heterogeneous Network Management with WBEM

Illustration 1: Diagram of program function and data flow

Interaction Translation Methods for XML/SNMP Gateway Using XML Technologies

Section 11.1, Simple Network Management Protocol. Section 11.2, Port Data Capture

Linux Kernel AgentX Sub-Agents

Distributed Systems. 09. Naming. Paul Krzyzanowski. Rutgers University. Fall 2015

Programming Guide for Moxa Device Manager

Managing Enterprise-wide Printing: The IT Challenge

How To Understand and Configure Your Network for IntraVUE

CSC230 Getting Starting in C. Tyler Bletsch

Operation Error Management

How to simulate network devices using the Verax SNMP Simulator (Linux/Windows)

NMS300 Network Management System

Lab Diagramming Intranet Traffic Flows

Example of Standard API

Monitoring and Analyzing Switch Operation

TELE 301 Network Management

QoS: CBQoS Management Policy-to- Interface Mapping Support Configuration Guide, Cisco IOS XE Release 3S (Cisco ASR 1000)

Monitoring Oracle WebLogic Server with SNMP 12c (12.2.1)

IBM FileNet Image Services

Demystifying SNMP. TruePath Technologies Inc 10/5/2015 2:11:14 PM Version 1.db. p.1

Security Correlation Server Quick Installation Guide

Network Management & Monitoring Introduction to SNMP

XMLVend Protocol Message Validation Suite

A SIMPLE WAY TO CAPTURE NETWORK TRAFFIC: THE WINDOWS PACKET CAPTURE (WINPCAP) ARCHITECTURE. Mihai Dorobanţu, M.Sc., Mihai L. Mocanu, Ph.D.

Software documentation systems

Web Services for Management Perl Library VMware ESX Server 3.5, VMware ESX Server 3i version 3.5, and VMware VirtualCenter 2.5

Network Monitoring with SNMP

An Overview of SNMP on the IMG

Sage CRM Connector Tool White Paper

SNMP....Simple Network Management Protocol...

BusinessObjects Enterprise XI Release 2 Administrator s Guide

Simple Network Management Protocol (SNMP) Primer

DNS Domain Name System

Transcription:

Specific Simple Network Management Tools Jürgen Schönwälder University of Osnabrück Albrechtstr. 28 49069 Osnabrück, Germany Tel.: +49 541 969 2483 Email: <schoenw@informatik.uni-osnabrueck.de> Web: <http://www.informatik.uni-osnabrueck.de/> J. Schönwälder Specific Simple Network Management Tools 21 November 2001, Slide 1

What is SNMP? The Simple Network Management Protocol (SNMP) is used to access and manipulate typed variables organized in conceptual tables or groups of scalars. Each variable (either a scalar or a cell in a conceptual table) is uniquely identified by an OID value (in a given context). An OID value is a sequence of numbers which identify a path in a registration tree, where the nodes in each level are uniquely identified by numbers. SNMP operates on an ordered list (varbind list) of variables (lexicographic ordering). Each element of a varbind list contains an OID value identifying a variable and its value. SNMP usually runs over UDP (stateless, retransmision control). J. Schönwälder Specific Simple Network Management Tools 21 November 2001, Slide 2

Generic vs. Specific SNMP Tools What we have today: 1. Generic low-level SNMP Tools (snmpget, snmpwalk,...) 2. Generic low-level SNMP APIs (WinSnmp, SNMP++, Tnm,...) 3. Generic MIB Browsers (...) 4. Generic Monitoring Tools (mrtg,...) 5. Generic Management Platforms (OpenView, Spectrum,...) What is really needed: Specific SNMP Tools that focus on doing one thing and doing it right. J. Schönwälder Specific Simple Network Management Tools 21 November 2001, Slide 3

SNMP Command Line Interface (scli) Command line interface that works on devices produced by different vendors. Commands are structured in a hierarchy, supports recursive command evaluation. Runs locally and communicates with the device using standard SNMP interactions. Displays information in formats that make sense for humans. Support for simple online monitoring activities. Selecting objects using names and regular expressions. Support of readline and history mechanisms and command aliases. Scripting capabilities by using an easy to parse XML output format. Simple APIs to motivate people to write and contribute extensions. J. Schönwälder Specific Simple Network Management Tools 21 November 2001, Slide 4

Extensibility: Software Design Requirements Make it relatively easy to add new features (for the average programmer). Hide low-level SNMP communication details as much as possible. Robustness: Ensure that errors are detected and handled gracefully where possible. Abort as soon as possible if coders forget to check for error conditions. Maintainability: The software will evolve over time, which includes internal API changes. Ensure that the documentation is available and in sync with the implementation. Efficiency: Fast startup times so that the tools can be used efficiently in scripts. Portability: The tools should run on all major Unix systems. A port to Win32 platforms should be made possible at reasonable costs. J. Schönwälder Specific Simple Network Management Tools 21 November 2001, Slide 5

Software Architecture scli command implementations procedures stubs gsnmp scli interpreter core libxml2 curses readline glib history operating system (Linux, Solaris, BSD,...) J. Schönwälder Specific Simple Network Management Tools 21 November 2001, Slide 6

Interface Mode set interface status <regexp> <status> set interface alias <regexp> <string> set interface notifications <regexp> <value> set interface promiscuous <regexp> <bool> show interface info [<regexp>] show interface details [<regexp>] show interface stack [<regexp>] show interface stats [<regexp>] monitor interface stats [<regexp>] dump interface Provides commands to configure, display and monitor network interfaces. Interfaces are identified by regular expressions matched against names. J. Schönwälder Specific Simple Network Management Tools 21 November 2001, Slide 7

Configuring Virtual LANs (VLANs) delete nortel bridge vlan "ˆ(134 ibr-)" # regexps are cool :-) create nortel bridge vlan 544 ibr-core create nortel bridge vlan 545 ibr-cip create nortel bridge vlan 546 ibr-test create nortel bridge vlan 547 ibr-wlan define(up, 25,185 ) # uplink ports define(wlan, 2,56 ) # wireless vlan define(core, 1,3-24,33-55,65-88 ) # core vlan include(vlan-all.scli) # create the vlans set nortel bridge vlan ports ibr-core UP,CORE set nortel bridge vlan default ibr-core CORE set nortel bridge vlan ports ibr-wlan UP,WLAN set nortel bridge vlan default ibr-wlan UP,WLAN J. Schönwälder Specific Simple Network Management Tools 21 November 2001, Slide 8

Physical Entities (Containment Structure) J. Schönwälder Specific Simple Network Management Tools 21 November 2001, Slide 9

Monitoring Network Interfaces J. Schönwälder Specific Simple Network Management Tools 21 November 2001, Slide 10

XML Support Default output format is optimized for human readability. Produce additional XML output format optimized for machine readability. XSLT transformations can be used to generate HTML status pages. Provides XML Schema definitions for the XML output produced. Implementation uses libxml2 to ensure well-formedness of the XML output. J. Schönwälder Specific Simple Network Management Tools 21 November 2001, Slide 11

Stub Code Generator Generates stub functions for retrieving and modifying conceptual tables, conceptual rows and groups of scalars. Hides all low-level SNMP details such as OID naming. Automatic type checking and handling of so called holes. Data structures use pointers to force programmers to properly check whether data is valid. Implementation integrated into smidump, part of the libsmi package. J. Schönwälder Specific Simple Network Management Tools 21 November 2001, Slide 12

Stub Interface for Printer-MIB::prtConsoleLightEntry typedef struct { gint32 hrdeviceindex; gint32 prtconsolelightindex; gint32 *prtconsoleontime; gint32 *prtconsoleofftime; gint32 *prtconsolecolor; guchar *prtconsoledescription; gsize _prtconsoledescriptionlength; } printer_mib_prtconsolelightentry_t; extern void printer_mib_get_prtconsolelighttable(gsnmpsession *s, printer_mib_prtconsolelightentry_t ***prtconsolelightentry, gint mask); extern void printer_mib_free_prtconsolelighttable(printer_mib_prtconsolelightentry_t **prtconsolelightentry); extern printer_mib_prtconsolelightentry_t * printer_mib_new_prtconsolelightentry(void); extern void printer_mib_get_prtconsolelightentry(gsnmpsession *s, printer_mib_prtconsolelightentry_t **prtconsolelightentry, gint32 hrdeviceindex, gint32 prtconsolelightindex, gint mask); extern void printer_mib_set_prtconsolelightentry(gsnmpsession *s, printer_mib_prtconsolelightentry_t *prtconsolelightentry, gint mask); extern void printer_mib_free_prtconsolelightentry(printer_mib_prtconsolelightentry_t *prtconsolelightentry); J. Schönwälder Specific Simple Network Management Tools 21 November 2001, Slide 13

Command Implementation static int show_printer_console_lights(scli_interp_t *interp, int argc, char **argv) { printer_mib_prtconsolelightentry_t **lighttable; int i, light_width = 12; if (argc > 1) return SCLI_SYNTAX; printer_mib_get_prtconsolelighttable(interp->peer, &lighttable, 0); if (interp->peer->error_status) return SCLI_SNMP; if (lighttable) { for (i = 0; lighttable[i]; i++) { if (lighttable[i]->_prtconsoledescriptionlength > light_width) light_width = lighttable[i]->_prtconsoledescriptionlength; } if (! scli_interp_xml(interp)) { g_string_sprintfa(interp->header, "PRINTER LIGHT %-*s STATUS COLOR", light_width, "DESCRIPTION"); } for (i = 0; lighttable[i]; i++) { if (scli_interp_xml(interp)) xml_printer_console_light(interp->xml_node, lighttable[i]); else fmt_printer_console_light(interp->result, lighttable[i], light_width); } } } if (lighttable) printer_mib_free_prtconsolelighttable(lighttable); return SCLI_OK; J. Schönwälder Specific Simple Network Management Tools 21 November 2001, Slide 14

Formatting Function static void fmt_printer_console_light(gstring *s, printer_mib_prtconsolelightentry_t *lightentry, int light_width) { const char *state = "off", *e; g_string_sprintfa(s, "%6d g_string_sprintfa(s, "%4d ", lightentry->hrdeviceindex); ", lightentry->prtconsolelightindex); if (lightentry->prtconsoledescription) { g_string_sprintfa(s, "%-*.*s ", light_width, (int) lightentry->_prtconsoledescriptionlength, lightentry->prtconsoledescription); } else { g_string_sprintfa(s, "%*s", light_width, ""); } if (*lightentry->prtconsoleontime &&!*lightentry->prtconsoleofftime) { state = "on"; } else if (!*lightentry->prtconsoleontime && *lightentry->prtconsoleofftime) { state = "off"; } else if (*lightentry->prtconsoleontime && *lightentry->prtconsoleofftime) { state = "blink"; } g_string_sprintfa(s, " %-*s ", 5, state); } e = fmt_enum(printer_mib_enums_prtconsolecolor, lightentry->prtconsolecolor); g_string_sprintfa(s, "%s\n", e? e : ""); J. Schönwälder Specific Simple Network Management Tools 21 November 2001, Slide 15

Command Registration void scli_init_printer_mode(scli_interp_t * interp) { static scli_cmd_t cmds[] = { { "show printer console lights", NULL, "The show printer console lights command shows the current\n" "status of the printer s lights. [...]", SCLI_CMD_FLAG_NEED_PEER SCLI_CMD_FLAG_XML, "printer console", "<xsd> <!--... --> </xsd>", show_printer_console_lights }, { "monitor printer console lights", NULL, "The monitor printer console lights command shows the same\n" "information as the show printer console lights command. The\n" "information is updated periodically.", SCLI_CMD_FLAG_NEED_PEER SCLI_CMD_FLAG_MONITOR, NULL, NULL, show_printer_console_lights }, { NULL, NULL, NULL, 0, NULL, NULL, NULL } }; static scli_mode_t printer_mode = { "printer", "The scli printer mode is based on the Printer-MIB as published\n" "in RFC 1759 and some updates currently being worked on in the\n" "IETF Printer MIB working group.", cmds }; } scli_register_mode(interp, &printer_mode); J. Schönwälder Specific Simple Network Management Tools 21 November 2001, Slide 16

Ideas for Future Work More command implementations for additional device types and MIBs. Support for SNMPv3 security in the gsnmp engine. Adopt gnet for low-level portable network access? Better code generation, e.g. support for spin-lock scalars. Automatic caching schemes with intelligent cache validation. Code generation for MIB procedures from formal MIB annotation. Perhaps a gtk user interface in addition to the scli and XML output formats. J. Schönwälder Specific Simple Network Management Tools 21 November 2001, Slide 17

Try it yourself! http://www.ibr.cs.tu-bs.de/projects/scli/ J. Schönwälder Specific Simple Network Management Tools 21 November 2001, Slide 18