edgebox Remote Management
|
|
|
- Abigayle Whitehead
- 10 years ago
- Views:
Transcription
1 Faculdade de Engenharia da Universidade do Porto edgebox Remote Management Paulo Sérgio Campos Cavaleiro Report of Project Master in Informatics and Computing Engineering Supervisor: João Manuel Couto das Neves (Prof.) July 2008
2 c Paulo Sérgio Campos Cavaleiro, 2008
3 edgebox Remote Management Paulo Sérgio Campos Cavaleiro Report of Project Master in Informatics and Computing Engineering Approved in oral examination by the committee: Chair: Pedro Alexandre Guimarães Lobo Ferreira do Souto (Prof.) External Examiner: Artur José Carneiro Pereira (Prof.) Internal Examiner: João Manuel Couto das Neves (Prof.) 31 st July, 2008
4
5 Abstract This document starts to introduce the project, that is integration between OpenNMS and items; describes the goals to achieve that integration and the motivation. It as a study of the different technologies that will be used in the development of the project and a overview of items and OpenNMS. In the project analysis are described the different features that will compose the project, their domain, architecture and the test cases. The implementation will highlight the strategy adopted to implement the different features, the most relevant parts developed in code and the configuration details so the solution work properly. Finally in the conclusion is made an balance of the features developed and are described some future implementations. i
6 ii
7 Resumo O presente documento inicia-se com uma introdução do projecto, que é uma integração entre OpenNMS e items. Descreve os objectivos para alcançar essa integração e a motivação para a elaboração deste projecto. Contém o estudo das diferentes tecnologias que irão ser usadas no desenvolvimento do projecto e uma visão do items e do OpenNMS. Na análise do projecto são descritas as várias funcionalidades que irão fazer parte do projecto, o seu domínio, arquitectura e casos de teste. A implementação irá realçar a estratégia adoptada para implementar as diferentes funcionalidades, as partes mais importantes desenvolvidas em código e os detalhes de configuração para que a solução funcione correctamente. Na conclusão é feito um balanço das funcionalidades desenvolvidas e são descritas algumas das possíveis implementações futuras. iii
8 iv
9 Contents 1 Introduction Context Project Motivation and Objectives Project Structure State of the Art Technologies SNMP XML Java Java Server Pages (JSP) Java Servlets JDOM Acegi-Security RRDTool JRobin SNMP4j LOG4j Jetty Castor PostgreSQL FindBugs Platforms overview items Overview OpenNMS Overview Summary and Conclusions Project Analysis Requirements Analysis Functional requirements Actors items Package OpenNMS Package Information requirements Class Domain Relational Model v
10 CONTENTS Non-Functional requirements Architecture Analysis Test Cases Summary and Conclusions Implementation Integration Strategy Phase one Phase two Phase three CPE Groups Management Profiles Management Tasks Management Access Management Generated code Configuration Conclusions Accomplished Objectives Future work References 64 A OpenNMS database 65 B CPE Group XML schema 69 C XML messages 71 C.1 Status retrieve C.2 Profile operations vi
11 List of Figures 2.1 OpenNMS concrete architecture [Shi02] General use case diagram items Package use case diagram Group Management Package use case diagram Profile Management use case diagram Task Management use case diagram Access Management use case diagram Task Engine use case diagram OpenNMS package use case diagram Domain diagram items part in database System Architecture Node List rebuild New node navigation bar options for edgebox Status retrieving CPE Group management in node page CPE Group management in node list page State machine for tasks Complete task execution A.1 OpenNMS database - First part A.2 OpenNMS database - Second part A.3 OpenNMS database - Third part A.4 OpenNMS database - Fourth part A.5 OpenNMS database - Fifth part vii
12 LIST OF FIGURES viii
13 List of Tables 2.1 General PostgreSQL limits ix
14 LIST OF TABLES x
15 Abbreviations API CPE CPU DHCP HTML HTTP items JAR JSP NMS OpenNMS SGML SNMP W3C webui XML Application Programming Interface Customer Premises Equipment Central Processing Unit Dynamic Host Configuration Protocol HyperText Markup Language Hypertext Transfer Protocol Integrated edgebox Management System Java ARchive JavaServer page Network Management System Open Network Management System Standard Generalized Markup Language Simple Network Management Protocol World Wide Web Consortium Web User Interface extensible Markup Language xi
16 ABBREVIATIONS xii
17 Chapter 1 Introduction The present project focus on a well know problem that is network management. In this particular project it will be made a solution intended to manage a specific network appliance, edgebox. This solution is integration between an open-source technology, OpenNMS, and a propriety technology, items. One resolves the problem of monitoring and the other the problem of configuring, together they make a full solution for managing edgeboxs. So this project will focus on the integration problem between the two of them. For accomplish this it s necessary to study the two platforms to capture the needs and the problems of this integration. First will be study the OpenNMS solution, because the integration is going to be made having as base the existing project of OpenNMS. This creates some technologies limitations since OpenNMS is made in Java and JSP, and been the configuration of the solution made in XML. The items solution is going to be studied for the best way of importing the features and functionalities existent and to be merged with OpenNMS, providing a unique solution. 1.1 Context This project is an improvement of another solution existent in Critical Links that combines OpenNMS and items separately. In that solution OpenNMS and items coexist in the same machine but running in separated systems by using VMWare, since items is a Windows based program and OpenNMS was primordially Linux based. Because of the inconvenient of this solution and the fact that OpenNMS allows to make adaptive solutions, it was defined that a unique solution of items 1
18 Introduction and OpenNMS would be a better approach, with OpenNMS project been the support for this. Critical Links is a company dedicated to the development and maintenance of edgebox. The edgebox is a network device composed of hardware and software which combines all the required functions needed for the connection of a small or medium sized organization to the Internet, fully integrated into a single box. 1.2 Project The project is essentially integration between OpenNMS and items to create a complete remote management solution for edgeboxs. 1.3 Motivation and Objectives The motivation for this project is to gain more knowledge in remote network management in a professional point of view applied to a real network appliance, edgebox. To accomplish this the next objectives will be accomplished: Study of OpenNMS platform; Study of items platform; Elaboration of integration strategy; Creation of integrated solution; Test solution. 1.4 Project Structure Chapter 1 introduction of the project. Chapter 2 study of the state of the art. Chapter 3 analysis of the project. Chapter 4 description of the implementation. Chapter 5 conclusions and future work perspectives. 2
19 Chapter 2 State of the Art This chapter contains the study relative to all the technologies that are going to be used in the project. It evidences the choices made. Because of the nature of the project, an integration, almost all of the technologies were impose and so this chapter will focus on show that technologies lacking the comparison between similar technologies. 2.1 Technologies SNMP Simple Network Management Protocol (SNMP) [Wik08] is a protocol developed to allow to simply manage networks. It main components are agents and network management systems (NMS), that basically work in a request response way been all the requests made by the NMS. The agent collects data and responds to requests from the NMS. These responses will be essentially retrieving of variables that are defined in management information bases (MIB s), by calls made from the NMS using the GET, GETNEXT and GETBULK operations, but the agent can send information without being asked using TRAP or INFORM operations. The NMS can to perform some configurations changes using the SET operation XML The extensive Markup language (XML) [Wor08] is a markup language that can be used to create your own tags. It was created by the World Wide Web Consortium (W3C) to overcome the limitations of HTML, the Hypertext Markup Language that is the basis for all Web pages. Like HTML, XML is based on SGML Standard 3
20 State of the Art Generalized Markup Language. Although SGML has been used in the publishing industry for decades, its perceived complexity intimidated many people that otherwise might have used it (SGML also stands for Sounds great, maybe later ). XML was designed with the Web in mind. With it large use and simplicity it started to be the preferred way of sending data through the web and other applications Java Java Server Pages (JSP) JavaServer Pages (JSP) [Sun08b] technology enables Web developers and designers to rapidly develop and easily maintain, information-rich, dynamic Web pages that leverage existing business systems. As part of the Java technology family, JSP technology enables rapid development of Web-based applications that are platform independent. JSP technology separates the user interface from content generation, enabling designers to change the overall page layout without altering the underlying dynamic content. JSP technology uses XML-like tags that encapsulate the logic that generates the content for the page. The application logic can reside in server-based resources (such as JavaBeans component architecture) that the page accesses with these tags. Any and all formatting (HTML or XML) tags are passed directly back to the response page. By separating the page logic from its design and display and supporting a reusable component-based design, JSP technology makes it faster and easier than ever to build Web-based applications. JavaServer Pages technology is an extension of the Java Servlet technology. Servlets are platform-independent, server-side modules that fit seamlessly into a Web server framework and can be used to extend the capabilities of a Web server with minimal overhead, maintenance, and support. Unlike other scripting languages, servlets involve no platform-specific consideration or modifications; they are application components that are downloaded, on demand, to the part of the system that needs them. Together, JSP technology and servlets provide an attractive alternative to other types of dynamic Web scripting/programming by offering: platform independence; enhanced performance; separation of logic from display; ease of administration; extensibility into the enterprise; and, most importantly, ease of use Java Servlets Servlets [Sun08a] are the Java platform technology of choice for extending and enhancing Web servers. Servlets provide a component-based, platform-independent method for building Web-based applications, without the performance limitations 4
21 State of the Art of CGI programs. And unlike proprietary server extension mechanisms (such as the Netscape Server API or Apache modules), servlets are server- and platformindependent. This leaves you free to select a best of breed strategy for your servers, platforms, and tools. Servlets have access to the entire family of Java APIs, including the JDBC API to access enterprise databases. Servlets can also access a library of HTTP-specific calls and receive all the benefits of the mature Java language, including portability, performance, reusability, and crash protection. Today servlets are a popular choice for building interactive Web applications. Third-party servlet containers are available for Apache Web Server, Microsoft IIS, and others. Servlet containers are usually a component of Web and application servers, such as BEA WebLogic Application Server, IBM WebSphere, Sun Java System Web Server, Sun Java System Application Server, and others JDOM JDOM [JDO08] is an API developed to provide a Java-Based solution for accessing, manipulating, and outputting XML data from Java code. It provides a robust, light-weight means of reading and writing XML data without the complex and memory-consumptive options that current API offerings provide Acegi-Security Acegi Security [Sec08] is a powerful, flexible security solution for enterprise software (particularly with Spring). It provides comprehensive authentication, authorization, instance-based access control, channel security and human user detection capabilities RRDTool RRDtool [Oet08] was written by Tobi Oetiker, the author of MRTG. It is, effectively, the next generation of MRTG, with a complete reimplementation of MRTGs graphing and logging features. MRTG works great for simple network monitoring, but thats really all it was originally intended to do. These days people are using MRTG to monitor everything from router bandwidth, to memory and disk statistics. There are a number of drawbacks to MRTG however. On the graphing front, MRTG graphs always use a Y axis starting at 0, if you only want to see the relevant values in a range, you re out of luck. You are significantly limited to the number of different values that can be graphed, if you want to see the network throughput of 10 different servers you re probably going to be forced to use 10 different graphs. The list goes on and on. The point is that RRDtool fills in the gaps that MRTG leaves 5
22 State of the Art wanting, and provides for open customization that was difficult if not impossible before. But, MRTG has one thing that RRDtool doesn t, simplicity. Many Network Admins who know more about air purifiers than UNIX systems are using MRTG on a regular basis, thanks to tools like cfgmaker and indexmaker, coupled with simple and basically straightforward config syntax. RRDtool isn t quite so simple though, at least at first. Almost all functions are provided by a single tool: rrdtool. The same program is used to create databases, modify, tune and update them, generate graphs, and even make backup dumps JRobin JRObin [Van08] is an API written by Sasa Markovic and Arne Vandamme to make a 100% Java tool of the functionalities of RRDtool. It acts exactly as RRDtool excepts that is written in Java allowing to take full party of Java portability and to simplify the life of the ones that perfer Java SNMP4j SNMP4J is an object oriented SNMP API for Java Managers and Agents. SNMP4J is an enterprise class free open source and state-of-the-art SNMP implementation for Java TM 2SE 1.4 or later. SNMP4J supports command generation (managers) as well as command responding (agents). Its clean object oriented design is inspired by SNMP++, which is a well-known SNMPv1/v2c/v3 API for C++. The SNMP4J Java SNMP API provides the following features: SNMPv3 with MD5 and SHA authentication and DES and AES 128, AES 192, and AES 256 privacy. Pluggable Message Processing Models with implementations for MPv1, MPv2c, and MPv3 All PDU types. Pluggable transport mappings. UDP and TCP are supported out-of-the-box. Pluggable timeout model. Synchronous and asynchronous requests. Command generator as well as command responder support. Free open source with the Apache license model Java or later 6
23 State of the Art Logging based on Log4J Row-based efficient asynchronous table retrieval with GETBULK. Multi-threading support LOG4j Almost every large application includes its own logging or tracing API. In conformance with this rule, the E.U. SEMPER project decided to write its own tracing API. This was in early After countless enhancements, several incarnations and much work that API has evolved to become log4j [Fou08], a popular logging package for Java. As know logging can be very complex but is an important aspect of development and maintenance, with the use of an API as log4j this is made simpler and allows to have better performance, a problem that comes of inserting code for logging point Jetty Jetty [Jet08] is an open-source, standards-based, full-featured web server implemented entirely in Java. It is released under the Apache 2.0 licence and is therefore free for commercial use and distribution. First created in 1995, Jetty has benefitted from input from a vast user community and consistent and focused development by a stable core of lead developers. There are many more examples of Jetty in action on the Jetty Powered Page that has selections from among the tens of thousands of production Jetty instances. However, as Jetty aims to be as unobtrusive as possible, countless websites and products are based around Jetty, but Jetty is invisible! Jetty can be used as: a stand-alone traditional web server for static and dynamic content a dynamic content server behind a dedicated HTTP server such as Apache using mod proxy an embedded component within a Java application Castor Castor [Cas08] is an Open Source data binding framework for Java. It s the shortest path between Java objects, XML documents and relational tables. Castor provides Java-to-XML binding, Java-to-SQL persistence, and more. Castor XML is an XML databinding framework. Unlike the two main XML APIs, DOM (Document Object Model) and SAX (Simple API for XML) which deal 7
24 State of the Art with the structure of an XML document, Castor enables one to deal with the data defined in an XML document through an object model which represents that data. Castor XML can marshal almost any bean-like Java Object to and from XML. In most cases the marshalling framework uses a set of ClassDescriptors and Field- Descriptors to describe how an Object should be marshalled and unmarshalled from XML. For those not familiar with the terms marshal and unmarshal, it s simply the act of converting a stream (sequence of bytes) of data to and from an Object. The act of marshalling consists of converting an Object to a stream, and unmarshalling from a stream to an Object PostgreSQL PostgreSQL [Pos08] is a powerful, open source relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness. It runs on all major operating systems, including Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), and Windows. It is fully ACID compliant, has full support for foreign keys, joins, views, triggers, and stored procedures (in multiple languages). It includes most SQL92 and SQL99 data types, including INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and TIMESTAMP. It also supports storage of binary large objects, including pictures, sounds, or video. It has native programming interfaces for C/C++, Java,.Net, Perl, Python, Ruby, Tcl, ODBC, among others, and exceptional documentation. An enterprise class database, PostgreSQL boasts sophisticated features such as Multi-Version Concurrency Control (MVCC), point in time recovery, tablespaces, asynchronous replication, nested transactions (savepoints), online/hot backups, a sophisticated query planner/optimizer, and write ahead logging for fault tolerance. It supports international character sets, multibyte character encodings, Unicode, and it is locale-aware for sorting, case-sensitivity, and formatting. It is highly scalable both in the sheer quantity of data it can manage and in the number of concurrent users it can accommodate. There are active PostgreSQL systems in production environments that manage in excess of 4 terabytes of data. Some general PostgreSQL limits are included in the table FindBugs FindBugs is a static analysis tool that examines classes or JAR files looking for potential problems by matching bytecodes against a list of bug patterns. It allows 8
25 State of the Art Table 2.1: General PostgreSQL limits Limit Value Maximum Database Size 6 Unlimited Maximum Table Size 32 TB Maximum Row Size 1.6 TB Maximum Field Size 1 GB Maximum Rows per Table Unlimited Maximum Columns per Table depending on column types Maximum Indexes per Table Unlimited to clean the code and to provide better quality, but as all static analysis tools it will have some false positives. 2.2 Platforms overview items Overview items is a tool created by Critical Software and adapted by Critical Links to provide configuration utilities for edgeboxs. More specifically, the general aims of the solution include the ability to offer a set of utilities, termed the Network Operations Center, in such a way as to centralize and manage all the services presented by the edgebox network [Sou06]. Briefly, the major functions provided by this system are: The centralized and integrated configuration of all the existing edgebox units in a network. Pre-provisioning, ability to pre-configure a network of edgebox units. The centralized gathering of alarms. It is important to have a global vision of the network condition with an indication of the places where problems might occur and which require immediate intervention. Access control and auditing of executed operations. It is important for operators to be able, at any moment in time, to decide who has access to which utility and to identify Who did What and When. Additionally, it is important to guarantee the confidentiality of the information produced or maintained in the system only authorized users should have access to it. 9
26 State of the Art OpenNMS Overview OpenNMS [Ope08] is the world s first enterprise grade network monitoring platform developed under the open source model. It consists of a community supported opensource project as well as a commercial services, training and support organization. Currently OpenNMS focuses on three areas: service polling, data collection, and event management. In addition to service polling, OpenNMS can collect SNMP data from network devices running SNMP agents. It stores the data using RRDTool or JRobin and can display it as reports in the webui. There are configurable thresholds (such as disk space and CPU utilization) to generate events when the thresholds are met. One important aspect of data collection on the scale of an enterprise is the need to automate as much as possible. It is very difficult to configure data collection on 20,000 devices manually. OpenNMS has the concept of a system, defined by a particular System Object ID (systemoid), which matches devices with the data to collect from them. The last main functional area is event management and notifications. OpenNMS generates events corresponding to outage detection and exceeded thresholds, etc.. In addition, it can receive and display external events such as SNMP traps. Figure 2.1: OpenNMS concrete architecture [Shi02] As it s been mentioned OpenNMS has been designed from its inception to be enterprise-grade and for those purposes the following information it s stated from the OpenNMS group: 10
27 State of the Art High performance (vertical scaling): A single instance of OpenNMS supports monitoring of a large number of nodes (tens of thousands, hundreds of thousands) from a single server. Automation: OpenNMS minimizes the amount of manual configuration and reconfiguration needed by automatically performing tasks on a regular basis, like discovering new nodes, detecting services on new and existing nodes, and gathering response time and performance data. Rule-based configuration (policy-based): Flexible rules can be used to specify what services are polled on certain devices, which SNMP data is collected and how often, and to whom various notifications should be delivered, without having to explicitly identify and configure each host in the monitoring system. All of these features made OpenNMS one high-end monitoring solution being easy to use and configure and with the code made available enabling customizations to overcome the special needs of determined NMS. OpenNMS is built upon three main components the webui in jsp, the engine in Java and the database in postgresql. The webui is where administrators can make some configurations and where they can monitor the network; it provides a graphical interface and can construct graphics based on the data collected. The engine as various daemons that perform different tasks, the ones identified in this study and that seamed relevant for our implementation are: Eventd is responsible for handling all the events generated; Trapd is responsible for listening SNMP traps on the standard port; Dhcpd is responsible for listening DHCP requests; Capsd - is responsible to collect all the capabilities for a node after been notified by the discovery, and to load all the data into the database; Scriptd is responsible for executing scripts; Rtcd is responsible to maintain data required so as to calculate availability; Pollerd is responsible for polling on services on a node; Discovery is responsible for discovering nodes on the network; Vacuumd is responsible to run periodic updates against the database for database maintenance work; There are other daemons in OpenNMS that where identified but it couldn t be made a good description of their main functions. 11
28 State of the Art 2.3 Summary and Conclusions The chapter introduced the different technologies that will be present in the project and the overview of the two solutions for integration. The technologies used where limited by the use of OpenNMS as the main project. 12
29 Chapter 3 Project Analysis Problem description As the edgebox solution evolved the need for its remote management raised. So its previous solution, items, that only provided configuration management and some alarms become obsolete it was need to expand that solution. Initial was made a study to see which management and monitoring solution existed and which ones were closer to the features intended, but there was none that covered all that features. OpenNMS was the one closer to what was wanted and allowed to expand. Initially the solution adopted combined OpenNMS, for monitoring, and items, for configuring. But it was an inefficient solution so it drove to the problem of integrating the two solutions in one. This new solution will provide monitoring and configuration capabilities for the edgebox. 3.1 Requirements Analysis This section is dedicated to the requirements analysis. Where will be described the requirements defined for accomplish the objectives Functional requirements The functional requirements capture the intended behavior of the system. With the use of use cases this requirements are easier to understand and create a baseline for development. The figure 3.1 represents the use cases that will be implemented in the system. The use cases are divided in two main package: items package OpenNMS package 13
30 Project Analysis Figure 3.1: General use case diagram Actors OpenNMS admin: actor from original OpenNMS solution that as full access to all functionalities. Extends CPE Admin. CPE Admin: actor responsible for administrating the items functionalities, this are, managing CPE Groups and managing profiles. Extends CPE Manager. CPE Manager: actor responsible for managing tasks. Extends User. User: actor from original OpenNMS, it can consult the information available. OpenNMS system: actor that represents calls from the OpenNMS engine to the task engine. Cron: actor that represents calls from the cron to the task engine. Pepserver: actor from edgebox that receives the requests to the edgebox and sends responses to that requests. itmestaskmanagement: actor that represents the process where the task engine is execute items Package This package represents the functionalities to import from the previous items solution; the figure 3.2 represents the diagram for the package. 14
31 Project Analysis Figure 3.2: items Package use case diagram Figure 3.3: Group Management Package use case diagram 15
32 Project Analysis CPE Group Management Package This package contains the use cases for CPE Group Management; the figure 3.3 represents the diagram for the package. UC.1 Name: Create CPE Group The user will be able to create a new CPE Group Actors: OpenNMS Admin, CPE Admin Assumptions: Priority: High Name: Actors: Assumptions: Priority: UC.2 Modify CPE Group The user will be able to modify a CPE Group OpenNMS Admin, CPE Admin The CPE Group that s going to be modified exists High Name: Actors: Assumptions: Priority: UC.3 Delete CPE Group The user will be able to delete a CPE Group OpenNMS Admin, CPE Admin The CPE Group that s going to be deleted exists High UC.4 Name: List CPE Group Will be made available for the user a list of CPE Groups Actors: OpenNMS Admin, CPE Admin Assumptions: Priority: High Profile Management Package This package contains the use cases for Profile Management; the figure 3.4 represents the diagram for the package. 16
33 Project Analysis Figure 3.4: Profile Management use case diagram Name: Actors: Assumptions: Priority: UC.5 Create profile The user will be able to create a new profile by adding and configuring the operations and by giving a name to the profile OpenNMS Admin, CPE Admin High Name: Actors: Assumptions: Priority: UC.6 Modify profile The user will be able to modify a profile OpenNMS Admin, CPE Admin The profile that s going to be modified exists High Name: Actors: Assumptions: Priority: UC.7 Delete profile The user will be able to delete a profile OpenNMS Admin, CPE Admin The profile that s going to be deleted exists High 17
34 Project Analysis Figure 3.5: Task Management use case diagram UC.8 Name: List profiles Will be made for the user a list of profiles Actors: OpenNMS Admin, CPE Admin Assumptions: Priority: High UC.9 Name: Filter profiles It allows to refine the list of profiles Actors: OpenNMS Admin, CPE Admin Assumptions: Priority: High UC.10 Name: Sort profiles For ordering the profiles Actors: OpenNMS Admin, CPE Admin Assumptions: Priority: High Task Management Package This package contains the use cases for Task Management, the figure 3.5 represents the diagram for the package. 18
35 Project Analysis UC.11 Name: Create task The user will be able to create a new task Actors: OpenNMS Admin, CPE Admin, CPE Manager Assumptions: Priority: High Name: Actors: Assumptions: Priority: Name: Actors: Assumptions: Priority: UC.12 Modify task The user will be able to modify a task OpenNMS Admin, CPE Admin The task that s going to be modified exists High UC.13 Delete profile The user will be able to delete a task OpenNMS Admin, CPE Admin, CPE Manager The task that s going to be deleted exists High UC.14 Name: List tasks Will be made for the user a list of tasks Actors: OpenNMS Admin, CPE Admin, CPE Manager Assumptions: Priority: High UC.15 Name: Filter tasks It allows to refine the list of tasks Actors: OpenNMS Admin, CPE Admin, CPE Manager Assumptions: Priority: High UC.16 Name: Sort tasks For ordering the tasks Actors: OpenNMS Admin, CPE Admin, CPE Manager Assumptions: Priority: High 19
36 Project Analysis Figure 3.6: Access Management use case diagram Access Management Package This package contains the use cases for Access Management; the figure 3.6 represents the diagram for the package. UC.17 Name: Create user The administrator will be able to create a new user Actors: OpenNMS Admin, CPE Admin Assumptions: Priority: High Name: Actors: Assumptions: Priority: UC.18 Delete user The administrator will be able to delete a user OpenNMS Admin, CPE Admin The user to delete exists High UC.19 Name: Define role Define what kind of role a user will have in the system Actors: OpenNMS Admin, CPE Admin Assumptions: Priority: High 20
37 Project Analysis Figure 3.7: Task Engine use case diagram Name: Actors: Assumptions: Priority: UC.20 Create user group The administrator will be able to create a new user group OpenNMS Admin, CPE Admin High Name: Actors: Assumptions: Priority: UC.21 Delete user group The administrator will be able to delete a user group OpenNMS Admin, CPE Admin The user to delete exists High Task Engine Package This package contains the use cases for Task Engine; the figure 3.7 represents the diagram for the package. 21
38 Project Analysis Name: Actors: Assumptions: Priority: Name: Actors: Assumptions: Priority: Name: Actors: Assumptions: Priority: Name: Actors: Assumptions: Priority: UC.22 Call itemstaskmanagemnt This use case represents a call to the process item- STaskManagemnt that is responsible for sending, schedule and unschedule tasks. OpenNMS system, Cron The process exists and can be executed High UC.23 Send task A task is sent to the pepserver to be processed. itemstaskmanagemnt There s a connection to the pepserver High UC.24 Receive response A task as been processed by the pepserver and the response is received by the itemstaskmanagemnt. itemstaskmanagemnt There s a connection to the pepserver High UC.25 Receive task status A task has been executed, all the operations have been performed, and the itemstaskmanagemnt receives a response of the pepserver if it was successful or failed. itemstaskmanagemnt There s a connection to the pepserver High Name: Actors: Assumptions: Priority: UC.26 Receive alive The OpenNMS catches an SNMP trap which represented an alive and sends it to itemstaskmanagemnt. itemstaskmanagemnt High 22
39 Project Analysis Name: Actors: Assumptions: Priority: Name: Actors: Assumptions: Priority: UC.27 Schedule task The task is schedule in the cron. itemstaskmanagemnt High UC.28 Unschedule task The task is unschedule in the cron. itemstaskmanagemnt High The next use cases are present only to allow a simple understand of some information transaction, these use cases aren t part of the solution to develop they belong to the use cases of the pepserver solution. Name: Actors: Assumptions: Priority: Name: Actors: Assumptions: Priority: Name: Actors: Assumptions: Priority: UC.29 Receive task A task is received by the pepserver to be processed. Pepserver UC.30 Send response A task as been processed by the pepserver and a response is sent to itemstaskmanagemnt. Pepserver UC.31 Send task status A task has been executed, all the operations have been performed, and the pepserver sends if it was successful or failed. Pepserver 23
40 Project Analysis Figure 3.8: OpenNMS package use case diagram OpenNMS Package The OpenNMS package shows the main use cases for the OpenNMS solution, the figure 3.8 represents the diagram for the package. Node Package Node package represents the use cases that will expand the way nodes are viewed in OpenNMS with items. Name: Actors: Assumptions: Priority: Name: Actors: Assumptions: Priority: UC.32 Add node to CPE group In the node view it will be possible to add that specific node to a CPE Group OpenNMS Admin, CPE Admin There are CPE groups High UC.33 Remove node from CPE group In the node view it will be possible to remove that specific node from a CPE Group OpenNMS Admin, CPE Admin The node belongs to the CPE group High 24
41 Project Analysis Name: Actors: Assumptions: Priority: UC.34 Create edgebox credentials Create the credentials for the edgebox by adding the user and the password for that particular edgebox OpenNMS Admin, CPE Admin The node is an edgebox High Name: Actors: Assumptions: Priority: UC.35 Modify edgebox credentials Modify the credentials for the edgebox by modifying the user and/or the password for that particular edgebox OpenNMS Admin, CPE Admin The node is an edgebox High Name: Actors: Assumptions: Priority: UC.36 Access edgebox-management service Quick link to access the webadmin for an edgebox using the saved credentials OpenNMS Admin, CPE Admin The node is an edgebox High Name: Actors: Assumptions: Priority: UC.37 View edgebox status A group of status about an edgebox will be displayed OpenNMS Admin, CPE Admin, CPE Manages, User The node is an edgebox and there are credentials for that edgebox High Node list Package Node list package is a group of use cases to improve the way nodes are listed in OpenNMS and to have some items operations in the same view. 25
42 Project Analysis UC.38 Name: View asset information Show the asset information for the nodes been listed Actors: OpenNMS Admin, CPE Admin, CPE Manages, User Assumptions: Priority: High Name: Actors: Assumptions: Priority: UC.39 Add node to CPE Group Allows the administrator to add a selected node to a selected CPE Group OpenNMS Admin, CPE Admin, CPE Manages, User There are CPE Groups High Name: Actors: Assumptions: Priority: UC.40 Remove node from CPE Group Allows the administrator to remove a selected node from a selected CPE Group OpenNMS Admin, CPE Admin, CPE Manages, User The node belongs to the CPE Group High UC.41 Name: Filter nodes Filters the nodes according to the search parameters Actors: OpenNMS Admin, CPE Admin, CPE Manages, User Assumptions: Priority: High UC.42 Name: Sort nodes For ordering the nodes. Actors: OpenNMS Admin, CPE Admin, CPE Manages, User Assumptions: Priority: Low 26
43 Project Analysis Figure 3.9: Domain diagram Information requirements Class Domain The class domain represents the way that information will be processed, and as we can see in figure 3.9 there are five main classes: Node, Status, CPEGroup, Profile and Task. The Node class defines all the information and operations need to process nodes. The Status class defines all the information and operations need to process status for edgebox nodes. The Services class is used to process the services existent in edgebox, which will be retrieved for status information. The CPEGroup class defines all the information and operations need to process groups. The Profile class defines all the information and operations need to process profiles. The Task class defines all the information and operations need to process tasks. The TaskEvent class is responsible for treatment of the log events relative to tasks Relational Model The relational model defines the database schema and how the information is going to be stored in the database. The figure 3.10 represents part of that schema according to the new tables added to the original OpenNMS database schema, in appendix A it can be consulted all the schema. 27
44 Project Analysis Figure 3.10: items part in database Table: Primary keys: items profiles name Attribute Type Attributes: name varchar(50) description varchar(255) username varchar(50) usergroup varchar(50) createdate timestamp modifydate timestamp profiledata text Foreign keys: Constrains: unique(name) 28
45 Project Analysis Table: Primary keys: items tasks taskid Attribute Type Attributes: taskid integer name varchar(50) cpe integer cpegroupname varchar(50) profilename varchar(50) description varchar(255) username varchar(50) usergroup varchar(50) startdate varchar(50) enddate varchar(50) period varchar(50) type varchar(1) state varchar(1) Foreign keys: Constrains: cpe,profilename Table: Primary keys: items tasksevents eventid,taskid Attribute Type Attributes: eventid integer taskid integer status integer senddate varchar(50) enddate varchar(50) Foreign keys: Constrains: taskid Table: Primary keys: items credentials nodeid Attribute Type Attributes: nodeid integer username varchar(50) password varchar(50) Foreign keys: Constrains: nodeid 29
46 Project Analysis Non-Functional requirements Non-functional requirements are very important on the creation of software because they allow to better execute the implementation of the intended product use cases with better quality and less risks. Availability it must be available all the time. Dependencies it depends on Linux, ethernet connection and PostgreSQL database. Extensibility it must allow adding new features Open-Source the source code is produced under the GNU GPL license. Performance it must deliver information in a time considered satisfactory to the user. Quality it must comply with the quality standard used in Critical Links Scalability it must be capable of support large number of nodes and operations over them. Security it must be secure in all its layers. Usability it must be simple allowing the user to interact with minimum effort. 3.2 Architecture Analysis The systems architecture will have as base the OpenNMS architecture been added a layer for the items integration. In the figure 3.11 can be seen the different parts that will compose this architecture. The webui this is where the user will interact with the OpenNMS engine and items engine. The OpenNMS engine this compiles all the functionalities of gathering data and monitoring the network. The items engine this performs specific operations over edgeboxs. The PostgreSQL database this is the database were all data is stored. Security - all layers must have the most security possible. 30
47 Project Analysis Figure 3.11: System Architecture 3.3 Test Cases Test cases reflect how a use case should be performed and what are the expected results. Next are listed all the test cases according to its use cases. Steps: Expected results: T.1 Create a CPE Group (UC.1) In this test it will be created a CPE Group in the webui. 1 Go to items. 2 Select CPE s Group Management. 3 Select add new CPE Group. 4 Configure the group. 5 Save group. A new group created in the XML file and listed in the webui. Steps: Expected results: T.2 Modify a CPE Group (UC.2) In this test it will be modified a CPE Group in the webui. 1 Go to items. 2 Select CPE s Group Management. 3 Select the CPE Group to modify. 4 Modify the configuration. 5 Save group. The group will be updated in the XML file. 31
48 Project Analysis Steps: Expected results: Steps: Expected results: Steps: Expected results: Steps: Expected results: T.3 Delete a CPE Group (UC.3) In this test it will be deleted a CPE Group in the webui. 1 Go to items. 2 Select CPE s Group Management. 3 Select the CPE Group to delete. 4 Confirm. The group removed from the XML and not listed. T.4 List CPE s Groups (UC.4) In this test it will be list the CPE s Groups in the webui. 1 Go to items. 2 Select CPE s Group Management. 3 A list of CPE s Groups will be shown. See all the groups that exist in the XML listed in the webui. T.5 Create a profile (UC.5) In this test it will be created a profile from the webui. 1 Go to items. 2 Select Profiles Management. 3 Select add new profile. 4 Insert the name of the profile and comments. 5 Select operation. 5.1 Configure operation. 5.2 Save configuration. 6 Save profile. A new profile created in the database and shown in the list of profiles in the webui. T.6 Modify a profile (UC.6) In this test it will be modified a profile from the webui. 1 Go to items. 2 Select Profiles Management. 3 Select the profile to modify. 4 Select operation. 4.1 Configure operation. 4.2 Save configuration. 5 Save profile. The profile will be updated in the database. 32
49 Project Analysis Steps: Expected results: Steps: Expected results: Steps: Expected results: Steps: Expected results: Steps: Expected results: T.7 Delete a profile (UC.7) In this test it will deleted a profile from the webui. 1 Go to items. 2 Select Profiles Management. 3 Select the profile to delete. 4 Confirm deleting. The profile will be deleted from the database as the tasks associated with it. T.8 List profiles (UC.8) In this test it will be list the profiles in the webui. 1 Go to items. 2 Select Profiles Management. 3 A list of profiles will be shown. See a list of profiles in the webui. T.9 Filter profiles (UC.9) In this test it will be filter profiles in the webui. 1 Go to items. 2 Select Profiles Management. 3 Insert name to filter. 4 Press search. See a list of profiles in the webui according to the search. T.10 Sort profiles (UC.10) In this test it will be sorted profiles in the webui. 1 Go to items. 2 Select Profiles Management. 3 Press the column to sort. See the list of profiles in the webui sorted by the column selected. T.11 Create a task (UC.11) In this test will it be created a task in the webui. 1 Go to items. 2 Select Tasks Management. 3 Select add new task. 4 Configure the task. 5 Save task. A new task created in the database and shown in the list of tasks in the webui. 33
50 Project Analysis Steps: Expected results: T.12 Modify a task (UC.12) In this test it will be modified a task in the webui. 1 Go to items. 2 Select Tasks Management. 3 Select the task to modify. 4 Modify the configuration. 5 Save task. The task will be updated in the database. Steps: Expected results: T.13 Delete a task (UC.13) In this test it will be deleted a task in the webui. 1 Go to items. 2 Select Tasks Management. 3 Select the task to delete. 4 Confirm. The task will be deleted from the database. Steps: Expected results: T.14 List tasks (UC.14) In this test it will be list the tasks in the webui. 1 Go to items. 2 Select Tasks Management. 3 A list of tasks will be shown. See a list of tasks in the webui. Steps: Expected results: T.15 Filter tasks (UC.15) In this test it will be filter tasks in the webui. 1 Go to items. 2 Select Tasks Management. 3 Insert name to filter. 4 Press search. See a list of tasks in the webui according to the search. Steps: Expected results: T.16 Sort tasks (UC.16) In this test it will be sorted tasks in the webui. 1 Go to items. 2 Select Tasks Management. 3 Press the column to sort. See the list of tasks in the webui sorted by the column selected. 34
51 Project Analysis Steps: Expected results: T.17 Create a user (UC.17) In this test it will be created a new user. 1 Go to Admin. 2 Select Configure Users, Groups and Roles. 3Select Configure Users. 4 Select add new user. 5 Insert credentials for new user. 6 Configure user. 7 Save user. The user is created in the XML file and listed in the webui. Steps: Expected results: T.18 Delete a user (UC.18) In this test it will be deleted a user. 1 Go to Admin. 2 Select Configure Users, Groups and Roles. 3 Select Configure Users. 4 Select the user to delete. 5 Confirm. The user is deleted from the XML file. Steps: Expected results: T.19 Define the role for a user (Administrator) (UC.19) In this test it will be defined the role for a user. 1 Add a user. 2 Edit [OPENNMS HOME]/etc/magicusers.properties. 3 Add the user to role.admin.users. 4 Restart OpenNMS. The user will only have access according to the role. 35
52 Project Analysis Steps: Expected results: T.20 Create a user group (UC.20) In this test it will be created a user group. 1 Go to Admin. 2 Select Configure Users, Groups and Roles. 3 Select Configure Groups. 4 Select Add new group. 5 Insert name and comment. 6 Confirm. 7 Select users. 8 Save. The group will be added to the XML file and listed in the webui. Steps: Expected results: T.21 Delete a user group (UC.21) In this test it will be deleted a user group. 1 Go to Admin. 2 Select Configure Users, Groups and Roles. 3 Select Configure Groups. 4 Select the group to delete. 5 Confirm. The group will be deleted from the XML file. Steps: T.22 Call itemstaskmanagemnt process (simple) (UC.22) In this test the process will be called in the command line. 1 Open shell. 2 Go to OPENNMS HOME\bin. 3 Enter execitemstaskmanagement.sh [state taskstatus alive] [type] [taskid] [source]. 4 The process will execute. Expected results: The process will execute and the operations performed will be logged in OPEN- NMS HOME\logs\webapp\iTEMSTaskManagemnt.lo g 36
53 Project Analysis Steps: T.23 Call itemstaskmanagemnt process (webui) (UC.22) In this test theprocesss will be called using the webui. 1 Go to items. 2 Select Task Management. 3 Select Add new task. 4 Configure the task. 5 Save. 6 Theprocesss will be called. Expected results: Theprocesss will execute and the operations performed will beloggedd in OPEN- NMS HOME\logs\webapp\iTEMSTaskManagemnt.lo g Steps: T.24 Call itemstaskmanagemnt process (cron) (UC.22) In this test it will be called thprocessss in the command line. 1 Edit \etc\crontab. 2 Insert a new line with the format: [minute] [hour] [day] [mount] [dayofweek] root OPEN- NMS HOME\bin\execItemsTaskManagement.sh [state taskstatus alive] [type] [taskid] [source]. 3 The processes will be called at the shedulled time in the crontab. Expected results: The process will execute and the operations performed will be logged in OPEN- NMS HOME\logs\webapp\iTEMSTaskManagemnt.lo g T.25 Send a task (UC.23) Test if a task is sent to the pepserver. Steps: 1 Perform test T.23 Expected results: The task will be sent and the result can be confirmed in OPEN- NMS HOME\logs\webapp\iTEMSTaskManagemnt.log. 37
54 Project Analysis T.26 Receive response (UC.24) Steps: 1 Perform test T.23 Test for receiving confirmation response of task processed bytheh pepserver. Expected results: The pepserver will respond and the result can be confirmed in OPEN- NMS HOME\logs\webapp\iTEMSTaskManagemnt.lo g and in the webui in tasks logs. T.27 Receive task status (UC.25) Test to receive the status of a task. Steps: 1 Perform test T.23 Expected results: Update of the status in the database and it can be viewed in task logs in the webui T.28 Receive alive (UC.26) Test to receive an alive. Steps: 1 2 Configure a profile for the operation items alive 3 Perform test T.23 selecting that profile Expected results: There will be a log of the received alive in OPEN- NMS HOME\logs\webapp\iTEMSTaskManagemnt.log Steps: Expected results: T.29 Schedule task (UC.27) Test to see if the task is schedule in the cron. 1 Perform test T.23 configuring the task to be unique or periodic. The task will be schedule in the crontab file. Steps: Expected results: T.30 Unschedule task (UC.28) Test to see if the task is unschedule in the cron. 1 Perform test T.23 configuring the task to be unique 2 Wait until task executes. 3 Confirm crontab. The task will beunschedulede in the crontab file. 38
55 Project Analysis Steps: Expected results: T.31 Add a node to CPE Group in node page (UC.32) In this test it will be added a node to a CPE Group in the node view page. 1 Go to the node page. 2 In Group Management select the CPE Group to add the node to. 3 The node is added automatically. The node will be added to the selected CPE Group. Steps: Expected results: T.32 Remove a node from CPE Group in node page (UC.33) In this test it will be removed a node from a CPE Group in the node view page. 1 Go to the node page. 2 In Group Management select the CPE Group to remove the node from. 3 Confirm. The node will be removed from the selected CPE Group. Steps: Expected results: T.33 Create edgebox credentials (UC.34) In this test it will be created the credentials for an edge- BOX. 1 Go to the node page. 2 Select credentials. 3 Insert user name and password. 4 Save. The credentials are inserted in the database. Steps: Expected results: T.34 Modify edgebox credentials (UC.35) In this test it will be modified the credentials for an edgebox. 1 Go to the node page. 2 Select credentials. 3 Modify user name and/or password. 4 Save. The credentials are updated in the database. 39
56 Project Analysis T.35 Access the edgebox-management service (UC.36) Steps: Expected results: In this test it will be accessed the edgebox webadmin. 1 Go to the node page. 2 Select edgebox-management. 3 A new window will appear. A new window of webadmin, authenticated with the credentials existent in the database for that node. Steps: Expected results: T.36 View edgebox status (UC.37) In this test it will be viewed the edgebox status. 1 Go to the node page. 2.1 The status will be shown in the node page. 2.2 Select status. Information about the status of the edgebox. Steps: Expected results: T.37 View asset information in node list (UC.38) In this test it will be viewed the asset information in the node list page. 1 Go to the node list page. 2 The asset information will be shown for each node. See asset information for each node. Steps: Expected results: T.38 Add a node to a CPE Group in node list (UC.39) In this test it will be added a node to a CPE Group in the node list page. 1 Go to the node list page. 2 Select the node. 3 Select the operation to add a node to a CPE Group. 4 Select the CPE Group. 5 The node will be added automatically. The node will be added to the CPE Group in the XML file and will be shown in the webui. 40
57 Project Analysis Steps: Expected results: Steps: Expected results: Steps: Expected results: T.39 Remove a node from a CPE Group in node list (UC.40) In this test it will be removed a node from a CPE Group in the node list page. 1 Go to the node list page. 2 Select the node. 3 Select the operation to remove a node from a CPE Group. 4 Select the CPE Group. 5 Confirm. The node will be removed from the CPE Group in the XML file and will be shown in the webui. T.40 Filter nodes (UC.41) In this test it will be filter the nodes in the node list page. 1 Go to the node list page. 2 Insert the filter criterions. 3 Press search. See a list of nodes in the webui according to the search. T.41 Sort nodes (UC.42) In this test it will be sorted the nodes in the node list page. 1 Go to the node list page. 2 Select the column. See a list of nodes in the webui sorted by the column selected. 3.4 Summary and Conclusions The functional requirements are a simplified set of use cases for the functionalities to export from the original items solution to the integrated one. It is composed of some use cases for the rebuild of the node list and others for the new information to be added to the nodes that are edgeboxs. From these requirements where created the necessary information requirements to retrieve and store data. The test cases represent the necessary tests to be performed so the solution is considered viable to be used. 41
58 Project Analysis 42
59 Chapter 4 Implementation This chapter describes the different steps performed to achieve the integrated solution between OpenNMS and items. It starts to show an integration strategy that was adopted during the implementation. Next is shown the relevant generated code. Finally configuration details are exposed to show how this allow to take full party of the solution developed. 4.1 Integration Strategy The integration strategy is divided in three phases. Phase one is to rebuild the node list page so its better for network management. Phase two is to add some new option to the node page for better monitor edgeboxs. Phase three is to create a package for items in OpenNMS Phase one The principal aspects of the rebuild of the node page are the filter options added to the page, the management options and the table view for the nodes (figure 4.1). The filter options are composed of the paremeters shown on the table; these parameters came from different sources, which make an AND between all of them. The different sources for the parameters came of the use of the OpenNMS code for retrieving that information and because of that it were made two methods that made the merge of the searches, the mergenodes and the mergenodeswithassets. The mergenodes is a method that receives two searches containing lists of nodes and returns one list of nodes with the nodes that appeared in the two searches. 43
60 Implementation Figure 4.1: Node List rebuild The mergenodeswithassets receives a list of assets and a list of nodes returning a list of nodes that are the nodes that were in the list of assets. The management options allow performs some operations over the nodes. When one of these operations is applied the correspondent servlet is called. This performs the necessary steps in Java to perform the operation using the input provided by the HTTP post. In this implementation there are two operations Add to group and Remove from group. The table view is the result of the merges of the filter options with visual reference to the overall in the last 24 hours Phase two The phase two add to the node view some new options and more information regarding edgeboxs, this options are edgebox-management, Status and credentials. The edgebox-management is made available by detecting which nodes have the edgebox-management service running.this service is collected by OpenNMS, by making a scan to that service in port 8011 that is the port were the service runs. Them the service is available by an hiper-link to it, if there are credentials available it will automatically login, if not it will be asked to insert them. Figure 4.2: New node navigation bar options for edgebox 44
61 Implementation The status will be made available in the same manner as edgebox-management. To retrieve the status is necessary to send a set of messages. These messages are formated in XML and send over HTTPS. First it s needed to establish the secure connection for each request to retrieve the status. To do this it s used the credentials that exist for that edgebox to create a cookie that will be used in all the requests. There are four different types of requests that have particular XML messages. The figure 4.3 represents a flow diagram to get the status information. The localeinformation method retrieves information regarding the serial number, hardware description, number of users allowed, version, revision and build. The networkinformation method retrieves information regarding two XML messages, one to retrieve status and timestamp of the WAN and the other to retrieve ethernet configuration parameters for the WAN. The systeminformation method retrieves information about the CPU usage, system memory usage, storage usage and the uptime. The firewallinformation method retrieves information for the services, authorization, firewall and Nat. For each service it retrieves the information about which services are open and in which interface (WAN - External, LAN - Internal, DMZ - Enterprise). In the appendix C can be consulted the XML messages exchanged to retrieve the status of an edgebox. To be possible to fetch the status information it s necessary to configure the credentials for the edgebox. These initially don t exist been inserted in the database, in future alterations it will be updated Phase three CPE Groups Management There were two possible implementations to the CPE Group Management, one was to use a XML based approach, used in OpenNMS to store users and users groups, and the other to create in the database the table correspondent. For the implementation it was used the first, in order to use some of the OpenNMS concepts and to see if it would be efficient. In this approach first it must be created a XML schema for the CPE group, this schema will be used by Castor to generate the classes for manipulating the XML file for the CPE groups. For better manipulation of the objects retrieved it were created two classes, CPEGroupManager and CPEGroupFactory. When adding a new group it will be called a servlet (AddNewCPEGroupServlet) that sees if the group that is been added exists or not. If it exists it will be sent a request to insert a different name, if it not exists it will be created an object that will be stored in the session so it can be used when adding CPE s and it 45
62 Implementation Figure 4.3: Status retrieving 46
63 Implementation Figure 4.4: CPE Group management in node page will redirect to the modify CPE group page. When finishing modifying a servlet (UpdateCPEGroupServlet) will be called to add the selected CPE s to the group that was saved in the session, then another servlet (SaveCPEGroupServlet) is called to save the group to the XML file. The operation to modify a CPE Group is similar to add a CPE Group. The difference is in the first part. When modifying a servlet (ModifyCPEGroupServlet) is called to retrieve the selected CPE group and saves it to the session so it can be modified and them the same steps as in adding a group are performed. The CPE groups can be modified in more two places, in the node page (figure 4.4) and in the node list (figure 4.5). In the node page the servlet called (AddCPEToGroupServlet) adds the node to the selected group by fetching the selected group from the XML file and creating an object of that CPE group, them adds the node to the object and finally the object is saved to the XML file. In the node list page the servlet (AddAllCPEToGroupServlet) called can perform two operations according to the input received. One is to add the selected nodes to the selected CPE group and the other is to add all the nodes in the search to the selected CPE group. The remove operations perform the same things as in the add operations, but instead of adding, it removes nodes from the CPE Group Profiles Management The creation of new profiles is made in a similar way as in the creation of CPE Groups. When adding the profile there is a servlet (AddNewProfileServlet) that sees if the profile exists or not. If it exists it will be sent a request to insert a different name, if it not exists it will be created an object that will be stored in the session Figure 4.5: CPE Group management in node list page 47
64 Implementation Figure 4.6: State machine for tasks so it can be used when adding operations and it will redirect to the modify profile page. In the modify profile page for each operation there are a corresponding form and servlet that updates the profile object, that as been saved in the session, with the configured parameters for the operation. When finishing configuring the profile a servlet (SaveProfileServlet) will be called to save the profile to the database, converting the profile into a XML message composed of the configured operations. An example of this message can be consulted in appendix C Tasks Management In tasks management the creation and modification of a task is made in the same form, been a flag that identifies if the task is new or to modify. When the task is new the servlet (SaveTaskServlet) called will insert the task in the database and the new task id will be returned to be used when calling the process itemstaskmanagement. When modifying a task the information about the task is fetched from the database and the form is fill. After modifying and when saving the servlet (Save- TaskServlet) will update the database and call the process itemstaskmanagement. 48
65 Implementation The task engine (itemstaskmanagement) is a process that executes different actions according to the arguments that it receives. One of those arguments is the type of task and depending on that type there will be performed different actions. If the type is immediate the method execimediatetask is called and it will get the data for that task from the database. With that data it sees if it s only a CPE or a CPE Group, if it s a CPE Group will perform a cycle. For each CPE it will call the method sendtask that will retrieve the host address by using the node id and the service id for edgebox-management. With that address and with the credentials for that host it will make a connection to retrieve a cookie that will be used for sending the XML message of the profile associated with the task. Before sending the XML message it inserts in the database a new taskevent and add the returned event id to the XML message, this id identifies the message in future communications. If the type is unique and the source is the webui it will be made a schedule in the cron so the task will be performed in the schedule time. For this is created a line that will be added to the crontab file with the format: S t r i n g cronline = minute+ +hour+ + +day+ +month+ r o o t +System. getproperty (OPENNMS HOME PROPERTY)+ / bin / execitemstaskmanagement. sh +s t a t e+ +type+ +t a s k I d+ cron \n If the type is unique and the source is the cron it means that task is to be executed and the method execimediatetask is called and when it finishes the task is unscheduled of the cron. As in for the type unique the type periodic executes in the same manner, except when the source is the cron and the method execimediatetask finishes executing it will call the method newscheduletask that unschedules the task executed and sees if there are a new task to schedule according to the period and the finished date defined, if it has a new task to schedule it returns the new date and a new schedule is made in the cron. Another action of the task engine is to receive the status of the tasks sent and update their status in the database. This is made by calling itemstaskmanagement with the argument taskstatus that will call the method taskstatus that is responsible of interpret the string that comes with the status and update it in the database according to the message id that comes in the same string. The call of itemstaskmanagement is made by OpenNMS trough the actiond daemon that s responsible of executing external commands in OpenNMS and is called by eventd which is the daemon that receives the event created by the trap sent with the task status. 49
66 Implementation Figure 4.7: Complete task execution 50
67 Implementation Access Management The access management implemented is only the use of the existing solution of Open- NMS access management. This means that the access management is made by using Acegi-security. This control is made by adding to the file applicationcontext-acegisecurity.xml the files or directory and respective role. The roles are defined in the class Authentication. Then using request.isuserinrole(authentication.admin ROLE) it will return a boolean about the active user role, if it is associated with the role it will return true, else it returns false. 4.2 Generated code Here it is described some important aspects of code that was generated. The mergenodes method was created because of the way OpenNMS retrieves nodes from searches. In OpenNMS was already implemented methods that retrieved nodes according to some criterion, but this methods acted alone and what was wanted was to make an AND of all criterion, thus the creation of this method. The method compares the nodes in one list with the nodes in the other list; all that are common to both lists are added to a new one that is returned. public Node [ ] mergenodes ( Node [ ] n1, Node [ ] n2 ) { i f ( n1 == null ) return n2 ; i f ( n2 == null ) return n1 ; List <Node> n o d e s L i s t = new LinkedList <Node >(); } int i = 0 ; while ( n1. l e n g t h > i ) { for ( int j = 0 ; j < n2. l e n g t h ; j++) { i f ( n1 [ i ]. getnodeid ( ) == n2 [ j ]. getnodeid ( ) ) { n o d e s L i s t. add ( n1 [ i ] ) ; } } i ++; } i f ( n o d e s L i s t. s i z e ( ) > 0) return n o d e s L i s t. toarray (new Node [ n o d e s L i s t. s i z e ( ) ] ) ; else return null ; 51
68 Implementation To the servlets to work is necessary to make them available to the JSP server, this is made in the web.xml file by adding an element servlet that as a name and the class that the name will associate with. Next is added the element servlet-mapping that allows calling the class in HTML code as a url. <! s e r v l e t f o r i n s e r t i n g c r e d e n t i a l > <s e r v l e t> <s e r v l e t name>i n s e r t S t a t u s C r e d e n t i a l s</ s e r v l e t name> <s e r v l e t c l a s s> org. opennms. web. items. s t a t u s. I n s e r t S t a t u s C r e d e n t i a l s S e r v l e t </ s e r v l e t c l a s s> </ s e r v l e t>... <s e r v l e t mapping> <s e r v l e t name>i n s e r t S t a t u s C r e d e n t i a l s</ s e r v l e t name> <url p a t t e r n>/items/ i n s e r t S t a t u s C r e d e n t i a l s</ url pattern> </ s e r v l e t mapping>... document. c r e d e n t i a l s. a c t i o n= items/ i n s e r t S t a t u s C r e d e n t i a l s ;... Some times it s necessary to pass a JSP variable to a Java variable. To do this it is first necessary to set a new JSP EL variable that will have the value of the JSP variable that we want to pass to Java variable, next is used the jsp:usebean element that locates or instantiates a Bean with a specific id and type, in this case it will locate the JSP EL and instantiate it so it can be used as a Java variable. <td width= 15% v a l i g n= top a l i g n= c e n t e r > <c : s e t var= task value= ${ taskevent. t a s k I d } /> <j s p : u s e B e a n i d= task type= java. lang. I n t e g e r /> <a h r e f= items/ t a s k s v i e w / t a s k D e t a i l. j s p? t a s k I d=<%=task %> > <%=TaskFactory. gettask ( task ). getname ( ) %> </a> </ td> The method convertstringtodoc is used to convert the XML message in string to a Document object so it can be manipulated using JDOM API. 52
69 Implementation private s t a t i c Document convertstringtodoc ( S t r i n g xmldoc ) { // b u i l d e r SAXBuilder b u i l d e r = null ; // xml document Document doc = null ; try { b u i l d e r = new SAXBuilder ( f a l s e ) ; doc = b u i l d e r. b u i l d (new StringReader ( xmldoc ) ) ; } catch ( IOException i o e ) { doc = null ; } catch ( Exception e ) { doc = null ; } } return doc ; For every XML message it exists a method to create an object that represents the message, this method constructs the object according to the elements and attributes of the message. Next is the example of the construction of the message for the items contact operation. public Element builditemscontactconfigurationxml ( ) { Element message = new Element ( Message ) ; message. s e t A t t r i b u t e ( s e r v i c e, items ) ; // c r e a t e s command element Element command = new Element ( Command ) ; command. s e t A t t r i b u t e ( name, s e t ) ; command. s e t A t t r i b u t e ( r e s u l t, ) ; message. addcontent ( command ) ; // c r e a t e s c o n f i g u r a t i o n element and c h i l d r e n Element c o n f i g = new Element ( C o n f i g u r a t i o n ) ; Element s e r v e r s E l = new Element ( S e r v e r s ) ; Element s e r v e r E l = new Element ( Server ) ; s e r v e r E l. addcontent ( itemscontactconfigurationhostnameorip ) ; s e r v e r s E l. addcontent ( s e r v e r E l ) ; Element a l i v e E l = new Element ( KeepAlive ) ; a l i v e E l. addcontent ( I n t e g e r. t o S t r i n g ( itemscontactconfigurationkeepalive ) ) ; c o n f i g. addcontent ( s e r v e r s E l ) ; c o n f i g. addcontent ( a l i v e E l ) ; 53
70 Implementation message. addcontent ( c o n f i g ) ; return message ; } And for every XML message it too exists a method to read the content of the message. In the next example is shown the reading of the items contact operation message. public void readitemscontactconfigurationxml ( Element message ) { } itemscontactconfiguration = true ; Element c o n f i g = message. getchild ( C o n f i g u r a t i o n ) ; Element s e r v e r s E l = c o n f i g. getchild ( S e r v e r s ) ; Element s e r v e r E l = s e r v e r s E l. getchild ( Server ) ; itemscontactconfigurationhostnameorip = s e r v e r E l. gettext ( ) ; Element a l i v e E l = c o n f i g. getchild ( KeepAlive ) ; itemscontactconfigurationkeepalive = I n t e g e r. p a r s e I n t ( a l i v e E l. gettext ( ) ) ; In order to retrieve some information its needed to retrieve a cookie for future connections. This is made by calling the method getcookieonlogin. First it is created the string for connection using the protocol HTTPS them if the authentication is successful (response code 200) a cookie is sent and saved in a variable for use in future connection. public S t r i n g getcookieonlogin ( S t r i n g webserver, S t r i n g user, S t r i n g password ) { S t r i n g c = ; try { S t r i n g data = URLEncoder. encode ( j username, UTF 8 ) + = + URLEncoder. encode ( user, UTF 8 ) ; data += & + URLEncoder. encode ( j password, UTF 8 ) + = + URLEncoder. encode ( password, UTF 8 ) ; data += & + URLEncoder. encode ( l o g i n, UTF 8 ) + = + URLEncoder. encode ( Login, UTF 8 ) ; URL u r l = new URL( webserver ) ; HttpsURLConnection conn = getsecureconnection ( u r l ) ; conn. setdooutput ( true ) ; conn. setconnecttimeout ( ) ; OutputStreamWriter wr = new OutputStreamWriter ( conn. getoutputstream ( ) ) ; 54
71 Implementation wr. w r i t e ( data ) ; wr. f l u s h ( ) ; i f ( conn. getresponsecode ()==200) c = conn. g e t H e a d e r F i e l d s ( ). get ( Set Cookie ). get ( 0 ) ; else c= ; wr. c l o s e ( ) ; } catch ( IOException e ) { c = ; l o g. e r r o r ( e ) ; } catch ( Exception e ) { c = ; l o g. e r r o r ( e ) ; } } return c ; The logging is all made using the log4j API, but to use it with OpenNMS some configurations in the code are needed. First is created a constant containing the category that is defined in the configuration file. Next is added a Category object. Them when the object that we want to log is created a prefix is defined and is obtained the object where it will be made the logging. / The l o g 4 j c a t e g o r y used to l o g messages. / private s t a t i c f i n a l S t r i n g LOG4J CATEGORY = OpenNMS. items ; Category l o g ;... ThreadCategory. s e t P r e f i x (LOG4J CATEGORY) ; l o g = ThreadCategory. g e t I n s t a n c e ( this. g e t C l a s s ( ) ) ; l o g. i n f o ( Getting s t a t u s! ) ; Configuration In order to all that was implemented work correctly the next configuration files had to be altered: 55
72 Implementation capsd-configuration.xml; poller-configuration.xml; snmp-config.xml; eventconf.xml; categories.xml; log4j.properties. They were altered in the project so when the solution is build it is ready to use, without the need of changing the files. The capsd-configuration.xml is the file where are configured the services to be discovered for monitoring by capsd. In this file it was added the edgebox-management service so OpenNMS could discover it. This is added as a protocol because OpenNMS tests the existence of a particular network service through the use of protocols. <p r o t o c o l p l u g i n p r o t o c o l= edgebox Management c l a s s name= org. opennms. netmgt. capsd. p l u g i n s. HttpsPlugin scan= on user d e f i n e d= f a l s e > <property key= port value= 8011 /> <property key= timeout value= 5000 /> <property key= r e t r y value= 1 /> </ p r o t o c o l p l u g i n> The protocol-plugin tag as the next attributes: protocol: This is the name of the protocol. class-name: This defines the protocol class that will be used to test for the service. scan: Capsd scans can be turned on or off per protocol with this attribute. user-defined: The Web UI allows for the dynamic creation of new services. This attribute tracks whether or not the service was added by the user. It is composed of properties that for edgebox-management are: port: the port where the service is to be discovered and monitored (8011). 56
73 Implementation timeout: the time in milliseconds to wait for a response (1). retry: the number of attempts made to detect the service(5000). The poller-configuration.xml is the file where it s configured the packages of services to be monitored. The edgebox-management service was added to be monitored and show on the webui. <s e r v i c e name= edgebox Management i n t e r v a l= user d e f i n e d= f a l s e s t a t u s= on > <parameter key= r e t r y value= 1 /> <parameter key= timeout value= 5000 /> <parameter key= port value= 8011 /> <parameter key= u r l value= / /> </ s e r v i c e> The snmp-config.xml is the file where is configured the different SNMP versions for SNMP data collection. To be able to receive the traps send by edgebox is necessary to configure the SNMPv3, since these traps come in SNMPv3. This is made by adding a tag definition where the next attributes are configured: security-name: the username configured; auth-passphrase: the authentication passphrase; auth-protocol: the authentication protocol (MD5 SHA); privacy-passphrase: the privacy passphrase; privacy-protocol: the privacy protocol (AES DES); <d e f i n i t i o n version= v3 s e c u r i t y name= items auth passphrase= auth p r o t o c o l= MD5 privacy passphrase= privacy p r o t o c o l= DES > < s p e c i f i c xmlns= > </ s p e c i f i c> </ d e f i n i t i o n> 57
74 Implementation The eventconf.xml is the file where events handled by eventd daemon are configured. Because events are the main way of monitoring a network this file was growing astronomically and the OpenNMS team changed so it could be possible to add events trough external files. This is made with the tag event-file. <event f i l e>events / edgebox. xml</ event f i l e> The edgebox.xml is the file where edgebox events are configured. The two more importants to this implementation are the alive trap event and the Task executed event. These events are configured using the following tags: event: the base element, all events start with it. mask: element specific for SNMP traps. These elements consists of maskelement tags, and the event will only match if all the defined tags are met. varbind: is used to filter by the content of the SNMP trap. uei: an identifier for the event. event-label: the label of the event. descr: description of the event. logmsg: is a summary of the event. values: The attribute dest can have different logndisplay: log the event in the database and display it in the webui. logonly: log the event only in the database. suppress: don t log it in the database and don t display it. donotpersist: don t log it in the database, but send it to other daemons that are listening discardtraps: this is only valid to traps coming via trapd, making trapd to discard the trap without creating the event. severity: represents the grade of importance of the event. autoaction: used to call external processes. The next event is configured to match the SNMP traps containing alive: in the first variable of the trap. 58
75 Implementation <event> <mask> <maskelement> <mename>g e n e r i c</mename> <mevalue>3</ mevalue> </ maskelement> <varbind> <vbnumber>1</ vbnumber> <vbvalue> a l i v e :%</ vbvalue> </ varbind> </mask> <u e i>c r i t i c a l l i n k s / edgebox / items / edgebox / a l i v e</ u e i> <event l a b e l>edgebox Alive Trap</ event l a b e l> <d e s c r> %parm [ a l l ]% </ d e s c r> <logmsg d e s t= l o g n d i s p l a y >a l i v e trap</ logmsg> <s e v e r i t y>normal</ s e v e r i t y> <a u t o a c t i o n> [OPENNMS HOME] / bin / execitemstaskmanagement. sh a l i v e %parm [ a l l ]% </ a u t o a c t i o n> </ event> The next event is configured to match the SNMP traps containing executer: or profile: in the first variable of the trap. <event> <mask> <maskelement> <mename>g e n e r i c</mename> <mevalue>3</ mevalue> </ maskelement> <varbind> <vbnumber>1</ vbnumber> <vbvalue>e x e c u t e r :%</ vbvalue> <vbvalue> p r o f i l e :%</ vbvalue> </ varbind> </mask> <u e i>c r i t i c a l l i n k s / edgebox / items / edgebox</ u e i> <event l a b e l>edgebox task</ event l a b e l> <d e s c r> %parm [ a l l ]% </ d e s c r> <logmsg d e s t= l o g n d i s p l a y >Task executed</ logmsg> <s e v e r i t y>normal</ s e v e r i t y> <a u t o a c t i o n> [OPENNMS HOME] / bin / execitemstaskmanagement. sh t a s k S t a t u s %parm [ a l l ]% </ a u t o a c t i o n> </ event> 59
76 Implementation The categories.xml is the file that allows to configure categories of devices according to the rule defined. <c a t e g o r y> <l a b e l><! [CDATA[ edgebox ] ]></ l a b e l> <comment>this c a t e g o r y i n c l u d e s a l l managed i n t e r f a c e s which are running an edgebox. </comment> <normal>99.99</ normal> <warning>97</ warning> <s e r v i c e>edgebox Management</ s e r v i c e> <r u l e><! [CDATA[ isedgebox Management ] ]></ r u l e> </ c a t e g o r y> The log4j.properties is the file where configurations for logging, which will be used by the log4j API, are made. # items l o g 4 j. c a t e g o r y.opennms. items=debug, ITEMS l o g 4 j. a d d i t i v i t y.opennms. items=f a l s e l o g 4 j. appender. ITEMS=org. apache. l o g 4 j. RollingFileAppender l o g 4 j. appender. ITEMS. MaxFileSize =100MB l o g 4 j. appender. ITEMS. MaxBackupIndex=4 l o g 4 j. appender. ITEMS. F i l e=@ i n s t a l l. webapplogs. dir@ / items. l o g l o g 4 j. appender. ITEMS. l a y o ut=org. apache. l o g 4 j. PatternLayout l o g 4 j. appender. ITEMS. l a y o ut. ConversionPattern=%d % 5p [% t ] %c {1} : %m%n 60
77 Chapter 5 Conclusions This last chapter reflets the results along all the project exposing the accomplished objectives and future work. 5.1 Accomplished Objectives Since the project is integration between two solutions the first objective was to identify a way to do this. This was accomplished by first studying the OpenNMS solution. With this study it was possible to define the points of integrations in OpenNMS and what type of technologies it was using. With that study performed it was identified what features of items would be integrated with OpenNMS and what strategy would be adopted. Then after the definition of the integration strategy, the integration was accomplished by phases. The first phase created a better page to list the nodes with some information about them and a better search engine. The second phase added particular information about the edgeboxs to the OpenNMS project. And the third phase introduced configuration of the edgeboxs with the definition of profiles and tasks, been the task engine the most important to perform the bridge to apply the tasks to the edgeboxs. In conclusion it was accomplished the integration of the features of items with the OpenNMS so it could be made a unique solution to manage and configure edgeboxs and the improvements to OpenNMS interface. All the tests that where defined where performed and their expected results where achieved. 61
78 Conclusions 5.2 Future work There are some improvements to be made. One improvement is to implement the capacity of receiving pending tasks and act according to what was defined. The pending tasks are intended to be used when an edgebox isn t yet present in the network and when it is a particular configuration that is configured will be applied to it when it sends an alive. For this to work will be necessary to create a specific form to add pending tasks that will have the serial number of the edgebox and the credentials to be able to perform the configurations. Other improvements are to add a better and easy to configure access management, so it isn t necessary to restart OpenNMS every time the role of a user is changed. 62
79 References [Cas08] Castor. The castor project, Available in last consulted in 17 june [Fou08] Apache Software Foundation. Log4j, Available in apache.org/log4j/1.2/index.html, last consulted in 17 june [JDO08] JDOM. Jdom, Available in last consulted in 17 june [Jet08] Jetty. Jetty, Available in last consulted in 17 june [Oet08] Tobi Oetiker. Rrdtool, Available in rrdtool/, last consulted in 17 june [Ope08] OpenNMS. Opennms, Available in last consulted in 17 june [Pos08] PostgreSQL. Postgresql, Available in org/, last consulted in 17 june [Sec08] Acegi Security. Acegi security, Available in acegisecurity.org/, last consulted in 17 june [Shi02] Basem Shihada. Conceptual & concrete architectures of open network management system. Technical report, University of Waterloo, April [Sou06] Fernando Marques & Helder Sousa. items edge - quick guide. Dezembro [Sun08a] Sun. Java servlet technology overview, Available in sun.com/products/servlet/overview.html, last consulted in 18 june [Sun08b] Sun. Javaserver pages overview, Available in com/products/jsp/overview.html, last consulted in 18 june [Van08] Sasa Markovic & Arne Vandamme. Jrobin, Available in Page, last consulted in 17 june [Wik08] Wikipedia. Simple network management protocol, Available in http: //en.wikipedia.org/wiki/simple Network Management Protocol, last consulted in 17 june
80 REFERENCES [Wor08] W3C World Wide Web Consortium. Extensible markup language, Available in last consulted in 17 june
81 Appendix A OpenNMS database This appendix contains the different parts that compose the OpenNMS database. Figure A.1: OpenNMS database - First part 65
82 OpenNMS database Figure A.2: OpenNMS database - Second part Figure A.3: OpenNMS database - Third part 66
83 OpenNMS database Figure A.4: OpenNMS database - Fourth part Figure A.5: OpenNMS database - Fifth part 67
84 OpenNMS database 68
85 Appendix B CPE Group XML schema This is the schema created to be used by Castor to generate classes for manipulating the XML file for CPE Groups. <?xml version= 1. 0 encoding= UTF 8?> <schema targetnamespace= h t t p : // xmlns. opennms. org / xsd / cpegroups xmlns= h t t p : //www. w3. org /2001/XMLSchema x m l n s : x s i= h t t p : //www. w3. org /2001/XMLSchema i n s t a n c e xmlns:typ= h t t p : // xmlns. opennms. org / xsd / types x m l n s : t h i s 2= h t t p : // xmlns. opennms. org / xsd / c a t e g o r i e s x m l n s : t h i s= h t t p : // xmlns. opennms. org / xsd / cpegroups xmlns:ns2= h t t p : //www. w3. org /1999/ xhtml xmlns:ns= h t t p : //www. w3. org /2001/XMLSchema xmlns:hfp= h t t p : //www. w3. org /2001/XMLSchema hasfacetandproperty > <annotation> <documentation> XML Schema f o r the cpegroups. xml c o n f i g u r a t i o n f i l e. </ documentation> </ annotation> <import namespace= h t t p : // xmlns. opennms. org / xsd / types schemalocation= types. xsd /> <element name= c p e g r o u p i n f o > <annotation> <documentation> Top l e v e l element f o r the cpegroups. xml c o n f i g u r a t i o n f i l e. </ documentation> </ annotation> <complextype> <sequence> <element maxoccurs= 1 minoccurs= 1 r e f= t y p : h e a d e r /> <element maxoccurs= 1 minoccurs= 0 r e f= t h i s : c p e g r o u p s /> </ sequence> </ complextype> </ element> <element name= cpegroups > <complextype> 69
86 CPE Group XML schema <sequence> <element maxoccurs= unbounded minoccurs= 0 r e f= t h i s : c p e g r o u p /> </ sequence> </ complextype> </ element> <element name= cpegroup > <complextype> <sequence> <element maxoccurs= 1 minoccurs= 1 name= name type= s t r i n g /> <element maxoccurs= 1 minoccurs= 0 name= comments type= s t r i n g /> <element maxoccurs= unbounded minoccurs= 0 name= cpe type= s t r i n g /> </ sequence> </ complextype> </ element> </ schema> 70
87 Appendix C XML messages C.1 Status retrieve Next are the messages exchanged with the pepserver to retrieve the status of an edgebox. REQUEST >>>>>>>>> PEP s y s t e m : : w e b l o c a l e <?xml version= 1. 0 encoding= UTF 8?> <Message s e r v i c e= Locale > <Command name= get r e s u l t= /> <C o n f i g u r a t i o n> <L i c e n s e I n f o /> <Version /> </ C o n f i g u r a t i o n> </ Message> END REQUEST PEP s y s t e m : : w e b l o c a l e >>>>>>>>> RESPONSE <?xml version= 1. 0 encoding= UTF 8?> <Message s e r v i c e= Locale > <Command name= get r e s u l t= s u c c e s s /> <C o n f i g u r a t i o n> <L i c e n s e I n f o> <CustomerName>d e v e l o p e r s t e s t i n g image f o r 4. 6</CustomerName> <LicenseID> </ LicenseID> <S u b s c r i p t i o n /> <HardwareDescription>VMWARE 1 s t image</ HardwareDescription> </ L i c e n s e I n f o> <Version name= edg eos v e r s i o n 4. 6 r e v i s i o n= b u i l d= s /> </ C o n f i g u r a t i o n> </ Message> END RESPONSE REQUEST >>>>>>>>> PEP s t a t e : : s y s b u s d <?xml version= 1. 0 encoding= UTF 8?> <Message s e r v i c e= sysbusd > <Command name= get r e s u l t= /> <C o n f i g u r a t i o n> <S e r v i c e name= wan /> </ C o n f i g u r a t i o n> </ Message> END REQUEST 71
88 XML messages PEP s t a t e : : s y s b u s d >>>>>>>>> RESPONSE <?xml version= 1. 0 encoding= UTF 8?> <Message s e r v i c e= sysbusd > <Command name= get r e s u l t= s u c c e s s /> <C o n f i g u r a t i o n> <S e r v i c e name= wan r e l o a d= t r u e > <Message>[ Mon 02 Jun : 2 3 : 4 4 WEST] DHCP up</ Message> </ S e r v i c e> </ C o n f i g u r a t i o n> </ Message> END RESPONSE REQUEST >>>>>>>>> PEP network::pppoe <?xml version= 1. 0 encoding= UTF 8?> <Message s e r v i c e= e x t e r n a l l a n > <Command name= get r e s u l t= > <Status /> </Command> <C o n f i g u r a t i o n> <Type /> <IP /> <Netmask /> <Gateway /> <PrimaryDNS /> <SecondaryDNS /> <PPPoE> <Username /> <Password /> <Authentication /> <KeepAlive /> <IP f i x e d= /> <DNS s p e c i f i e d= > <Primary /> <Secondary /> </DNS> <VPI /> <VCI /> <Encapsulation /> <Modem /> </PPPoE> </ C o n f i g u r a t i o n> </ Message> END REQUEST PEP network::pppoe >>>>>>>>> RESPONSE <?xml version= 1. 0 encoding= UTF 8?> <Message s e r v i c e= e x t e r n a l l a n > <Command name= get r e s u l t= s u c c e s s > <Status>Up</ Status> </Command> <C o n f i g u r a t i o n> <Type>dhcp</Type> <IP> </IP> <Netmask> </Netmask> <Gateway> </Gateway> <PrimaryDNS> </PrimaryDNS> <SecondaryDNS></ SecondaryDNS> <PPPoE> <Username>user@no i s p. com</ Username> 72
89 XML messages <Password></ Password> <Authentication>Chap and Pap</ Authentication> <KeepAlive>no</ KeepAlive> <IP f i x e d= no /> <DNS s p e c i f i e d= no > <Primary></ Primary> <Secondary></ Secondary> </DNS> <VPI>0</VPI> <VCI>35</VCI> <Encapsulation>LLC</ Encapsulation> <Modem>none</Modem> </PPPoE> </ C o n f i g u r a t i o n> </ Message> END RESPONSE REQUEST >>>>>>>>> PEP system:: system management <?xml version= 1. 0 encoding= UTF 8?> <Message s e r v i c e= snmpmanagement > <Command name= get r e s u l t= /> <C o n f i g u r a t i o n> <CPUIdle /> <Memory> <TotalMemory /> <FreeMemory /> </Memory> <Disk> <TotalDisk /> <FreeDisk /> </ Disk> <SystemUptime /> </ C o n f i g u r a t i o n> </ Message> END REQUEST PEP system:: system management >>>>>>>>> RESPONSE <?xml version= 1. 0 encoding= UTF 8?> <Message s e r v i c e= snmpmanagement > <Command name= get r e s u l t= s u c c e s s /> <C o n f i g u r a t i o n> <CPUIdle>83</ CPUIdle> <Memory> <TotalMemory>383072</ TotalMemory> <FreeMemory>5904</ FreeMemory> </Memory> <Disk> <TotalDisk> </ TotalDisk> <FreeDisk> </ FreeDisk> </ Disk> <Disk> <TotalDisk> </ TotalDisk> <FreeDisk> </ FreeDisk> </ Disk> <SystemUptime> 0d 0h 46m</ SystemUptime> </ C o n f i g u r a t i o n> </ Message> END RESPONSE REQUEST >>>>>>>>> PEP s e c u r i t y : : f i r e w a l l 73
90 XML messages <?xml version= 1. 0 encoding= UTF 8?> <Message s e r v i c e= f i r e w a l l > <Command name= get r e s u l t= /> <C o n f i g u r a t i o n> <A u t h o r i z a t i o n /> <F i r e w a l l /> <S e r v i c e s name= e x t e r n a l= i n t e r n a l= e n t e r p r i s e= /> <B l a c k L i s t /> </ C o n f i g u r a t i o n> </ Message> END REQUEST PEP s e c u r i t y : : f i r e w a l l >>>>>>>>> RESPONSE <?xml version= 1. 0 encoding= UTF 8?> <Message s e r v i c e= f i r e w a l l > <Command name= get r e s u l t= s u c c e s s /> <C o n f i g u r a t i o n> <A u t h o r i z a t i o n>on</ A u thorization> <F i r e w a l l>on</ F i r e w a l l> <S e r v i c e s name= e x t e r n a l= i n t e r n a l= e n t e r p r i s e= > <Entry e n t e r p r i s e= yes name= f l a s h o p e r a t o r e x t e r n a l= yes i n t e r n a l= yes /> <Entry e n t e r p r i s e= yes name= dns e x t e r n a l= yes i n t e r n a l= yes /> <Entry e n t e r p r i s e= yes name= smtp e x t e r n a l= yes i n t e r n a l= yes /> <Entry e n t e r p r i s e= yes name= ssh e x t e r n a l= yes i n t e r n a l= yes /> <Entry e n t e r p r i s e= yes name= imap e x t e r n a l= yes i n t e r n a l= yes /> <Entry e n t e r p r i s e= yes n ame= webadmin e x t e r n a l= yes i n t e r n a l= yes /> <Entry e n t e r p r i s e= yes name= f t p e x t e r n a l= yes i n t e r n a l= yes /> <Entry e n t e r p r i s e= yes name= http e x t e r n a l= yes i n t e r n a l= yes /> <Entry e n t e r p r i s e= yes name= pop3 e x t e r n a l= yes i n t e r n a l= yes /> <Entry e n t e r p r i s e= yes name= n a g i o s e x t e r n a l= yes i n t e r n a l= yes /> <Entry e n t e r p r i s e= yes name= c t i e x t e r n a l= yes i n t e r n a l= yes /> <Entry e n t e r p r i s e= yes name= monit e x t e r n a l= yes i n t e r n a l= yes /> <Entry e n t e r p r i s e= yes name= r a d i u s e x t e r n a l= no i n t e r n a l= yes /> <Entry 74
91 XML messages e n t e r p r i s e= yes name= ldap externa l= no i n t e r n a l= yes /> <Entry e n t e r p r i s e= yes name= munin e x t e r n a l= no i n t e r n a l= yes /> <Entry e n t e r p r i s e= yes name= voip e x t e r n a l= yes i n t e r n a l= yes /> <Entry e n t e r p r i s e= yes name= snmp e x t e r n a l= yes i n t e r n a l= yes /> <Entry e n t e r p r i s e= yes name= samba e x t e r n a l= yes i n t e r n a l= yes /> <Entry e n t e r p r i s e= yes name= items e x t e r n a l= yes i n t e r n a l= yes /> </ S e r v i c e s> <B l a c k L i s t /> </ C o n f i g u r a t i o n> </ Message> END RESPONSE REQUEST >>>>>>>>> PEP s e c u r i t y : : n a t <?xml version= 1. 0 encoding= UTF 8?> <Message s e r v i c e= nat > <Command name= get r e s u l t= > <Status /> </Command> <C o n f i g u r a t i o n> <NAT s t a t e= > <Entry i p= netmask= i n t e r f a c e= /> </NAT> <Forwarding> <Entry e i n t e r f a c e= eport= i i p= i p o r t= /> </ Forwarding> </ C o n f i g u r a t i o n> </ Message> END REQUEST PEP s e c u r i t y : : n a t >>>>>>>>> RESPONSE <?xml version= 1. 0 encoding= UTF 8?> <Message s e r v i c e= nat > <Command name= get r e s u l t= s u c c e s s > <Status /> </Command> <C o n f i g u r a t i o n> <NAT s t a t e= o f f /> <Forwarding /> </ C o n f i g u r a t i o n> </ Message> END RESPONSE C.2 Profile operations Complete XML message stored in the table items profiles with all the operations configured, each Message tag in the Configuration tag represents one operation and 75
92 XML messages it configuration. <?xml version= 1. 0 encoding= UTF 8?> <Message s e r v i c e= items > <Command name= s e t r e s u l t= /> <C o n f i g u r a t i o n> <Message s e r v i c e= Executer > <Command name= s e t r e s u l t= /> <C o n f i g u r a t i o n> <F i l e> <User>1</ User> <Pass>1</ Pass> <Server> </ Server> <Path>we</ Path> </ F i l e> </ C o n f i g u r a t i o n> </ Message> <Message s e r v i c e= items > <Command name= s e t r e s u l t= /> <C o n f i g u r a t i o n> <S e r v e r s> <Server> </ Server> </ S e r v e r s> <KeepAlive>5</ KeepAlive> </ C o n f i g u r a t i o n> </ Message> <Message s e r v i c e= voip > <Command name= a c t i v a t e g729 r e s u l t= /> <C o n f i g u r a t i o n /> </ Message> <Message s e r v i c e= SystemUpdate > <Command name= s e t c o n f i g r e s u l t= /> <C o n f i g u r a t i o n> <Status></ Status> <UpdateMode i n t e r v a l= 6 s t a r t h o u r= 0 : 0 n o t i f i c a t i o n= none > manual </UpdateMode> <Packages></ Packages> <Log></ Log> </ C o n f i g u r a t i o n> </ Message> <Message s e r v i c e= SystemUpdate > <Command name= upgrade r e s u l t= /> <C o n f i g u r a t i o n> <Status></ Status> <Packages></ Packages> </ C o n f i g u r a t i o n> </ Message> <Message s e r v i c e= backup > <Command name= s c h e d u l e r e s u l t= /> <C o n f i g u r a t i o n> <Active>yes</ Active> <Hour>0</ Hour> <Minute>0</ Minute> <Location>f t p : // username:password@adress / path</ Location> <Type>standard</Type> </ C o n f i g u r a t i o n> </ Message> <Message s e r v i c e= backup > <Command name= backup r e s u l t= /> 76
93 XML messages <C o n f i g u r a t i o n> <Location>f t p : // username:password@adress / path</ Location> <Type>standard</Type> <BackupNow>y es</backupnow> </ C o n f i g u r a t i o n> </ Message> <Message s e r v i c e= backup > <Command name= removeschedule r e s u l t= /> <C o n f i g u r a t i o n> <Active>no</ Active> </ C o n f i g u r a t i o n> </ Message> <Message s e r v i c e= SystemConfig > <Command name= s e t r e s u l t= /> <C o n f i g u r a t i o n> <D i s c l a i m e r>d i s c l a i m e r t e x t</ D i s c l a i m e r> <LandingText>Landing Text</ LandingText> <Logo> <User>username</ User> <Pass>password</ Pass> <Server>a d r e s s</ Server> <Path>path</ Path> </ Logo> </ C o n f i g u r a t i o n> </ Message> <Message s e r v i c e= MailScanner > <Command name= download i n s t a l l r e s u l t= /> <C o n f i g u r a t i o n> <Engine>sophos</ Engine> <User>username</ User> <Pass>password</ Pass> <Server>a d r e s s</ Server> <Path>path</ Path> </ C o n f i g u r a t i o n> </ Message> <Message s e r v i c e= MailScanner > <Command name= remove r e s u l t= /> <C o n f i g u r a t i o n> <Engine>sophos</ Engine> </ C o n f i g u r a t i o n> </ Message> <Message s e r v i c e= MailScanner > <Command name= only update i d e r e s u l t= /> <C o n f i g u r a t i o n> <Engine>sophos</ Engine> </ C o n f i g u r a t i o n> </ Message> <Message s e r v i c e= f i r e w a l l > <Command name= s e t r e s u l t= /> <C o n f i g u r a t i o n> <A u t h o r i z a t i o n>o f f</ A u thorization> <F i r e w a l l>o f f</ F i r e w a l l> <WanICMPEcho>d i s a b l e</wanicmpecho> <S e r v i c e s> <Entry e n t e r p r i s e= no name= webadmin e x t e r n a l= no /> <Entry name= dns e x t e r n a l= no /> <Entry name= f l a s h o p e r a t o r e x t e r n a l= no /> <Entry name= smtp e x t e r n a l= no /> <Entry name= ssh e x t e r n a l= no /> <Entry name= imap e x t e r n a l= no /> 77
94 XML messages <Entry name= f t p e x t e r n a l= no /> <Entry name= http e x t e r n a l= no /> <Entry name= pop3 e x t e r n a l= no /> <Entry name= n a g i o s e x t e r n a l= no /> <Entry name= c t i e x t e r n a l= no /> <Entry name= monit e x t e r n a l= no /> <Entry name= r a d i u s e x t e r n a l= no /> <Entry name= ldap e x t e r n a l= no /> <Entry name= munin e x t e r n a l= no /> <Entry name= voip e x t e r n a l= no /> <Entry name= snmp e x t e r n a l= no /> <Entry name= samba e x t e r n a l= no /> <Entry name= items e x t e r n a l= no /> </ S e r v i c e s> <B l a c k L i s t></ B l a c k L i s t> </ C o n f i g u r a t i o n> </ Message> <Message s e r v i c e= w e b f i l t e r i n g > <Command name= download i n s t a l l r e s u l t= > <Status></ Status> </Command> <C o n f i g u r a t i o n> <B l a c k l i s t enabled= yes > <User>username</ User> <Pass>password</ Pass> <Server>f t p a d d r e s s</ Server> <Path>path</ Path> <Entry enabled= yes >b l a c k l i s t</ Entry> </ B l a c k l i s t> </ C o n f i g u r a t i o n> </ Message> <Message s e r v i c e= date > <Command name= s e t r e s u l t= /> <C o n f i g u r a t i o n> <Day>1</Day> <Month>1</Month> <Year>1</ Year> <Hour>1</ Hour> <Minute>1</ Minute> <Second>1</ Second> <TimeZone>Europe/ Lisbon</ TimeZone> <TimeZones></ TimeZones> <Daylight>No</ Daylight> <NTP a c t i v e= Yes ></NTP> </ C o n f i g u r a t i o n> </ Message> <Message s e r v i c e= e x t e r n a l l a n > <Command name= s e t r e s u l t= /> <C o n f i g u r a t i o n> <Type>DHCP</Type> <IP></ IP> <Netmask></ Netmask> <Gateway></ Gateway> <PrimaryDNS></PrimaryDNS> <SecondaryDNS></ SecondaryDNS> <PPPoE> <Username></ Username> <Password></ Password> <Authentication>PAP or CHAP</ Authentication> <KeepAlive>no</ KeepAlive> 78
95 XML messages <IP f i x e d= yes /> <DNS s p e c i f i e d= yes > <Primary></ Primary> <Secondary></ Secondary> </DNS> <VPI></VPI> <VCI></VCI> <Encapsulation> </ Encapsulation> </PPPoE> </ C o n f i g u r a t i o n> </ Message> </ C o n f i g u r a t i o n> </ Message> 79
MIB Explorer Feature Matrix
MIB Explorer Feature Matrix Lite Pro Android Standards and Protocols Supported SNMPv1 (RFC 1157), SNMPv2c (RFC 1901/1905), and SNMPv3 (RFC 3412-3417). Transport Protocols UDP, TCP, and. All transport protocols
SNMP and OpenNMS. Part 2 OpenNMS
SNMP and OpenNMS Part 2 OpenNMS Parts of this presentation were shamelessly copied from a presentation by the project's maintainer, Tarus Balog with the author's permission. Zeev Halevi NMS - ISO Definition:
High Level Design Distributed Network Traffic Controller
High Level Design Distributed Network Traffic Controller Revision Number: 1.0 Last date of revision: 2/2/05 22c:198 Johnson, Chadwick Hugh Change Record Revision Date Author Changes 1 Contents 1. Introduction
The syslog-ng Store Box 3 F2
The syslog-ng Store Box 3 F2 PRODUCT DESCRIPTION Copyright 2000-2014 BalaBit IT Security All rights reserved. www.balabit.com Introduction The syslog-ng Store Box (SSB) is a high-reliability and high-performance
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications White Paper Table of Contents Overview...3 Replication Types Supported...3 Set-up &
CatDV Pro Workgroup Serve r
Architectural Overview CatDV Pro Workgroup Server Square Box Systems Ltd May 2003 The CatDV Pro client application is a standalone desktop application, providing video logging and media cataloging capability
NMS300 Network Management System
NMS300 Network Management System User Manual June 2013 202-11289-01 350 East Plumeria Drive San Jose, CA 95134 USA Support Thank you for purchasing this NETGEAR product. After installing your device, locate
The syslog-ng Premium Edition 5LTS
The syslog-ng Premium Edition 5LTS PRODUCT DESCRIPTION Copyright 2000-2013 BalaBit IT Security All rights reserved. www.balabit.com Introduction The syslog-ng Premium Edition enables enterprises to collect,
A Brief. Introduction. of MG-SOFT s SNMP Network Management Products. Document Version 1.3, published in June, 2008
A Brief Introduction of MG-SOFT s SNMP Network Management Products Document Version 1.3, published in June, 2008 MG-SOFT s SNMP Products Overview SNMP Management Products MIB Browser Pro. for Windows and
Release 6.2.1 System Administrator s Guide
IBM Maximo Release 6.2.1 System Administrator s Guide Note Before using this information and the product it supports, read the information in Notices on page Notices-1. First Edition (January 2007) This
DiskPulse DISK CHANGE MONITOR
DiskPulse DISK CHANGE MONITOR User Manual Version 7.9 Oct 2015 www.diskpulse.com [email protected] 1 1 DiskPulse Overview...3 2 DiskPulse Product Versions...5 3 Using Desktop Product Version...6 3.1 Product
The syslog-ng Store Box 3 LTS
The syslog-ng Store Box 3 LTS PRODUCT DESCRIPTION Copyright 2000-2012 BalaBit IT Security All rights reserved. www.balabit.com Introduction The syslog-ng Store Box (SSB) is a high-reliability and high-performance
Chapter 1 - Web Server Management and Cluster Topology
Objectives At the end of this chapter, participants will be able to understand: Web server management options provided by Network Deployment Clustered Application Servers Cluster creation and management
Simple Network Management Protocol
CHAPTER 4 This chapter gives an overview of (SNMP). It contains the following sections: Overview, page 4-1 SNMP Versioning, page 4-2 SNMP and Cisco Unified CM Basics, page 4-3 SNMP Basic Commands, page
WhatsUp Gold v11 Features Overview
WhatsUp Gold v11 Features Overview This guide provides an overview of the core functionality of WhatsUp Gold v11, and introduces interesting features and processes that help users maximize productivity
Efficiency of Web Based SAX XML Distributed Processing
Efficiency of Web Based SAX XML Distributed Processing R. Eggen Computer and Information Sciences Department University of North Florida Jacksonville, FL, USA A. Basic Computer and Information Sciences
Xythos WebFile Server Architecture A Technical Guide to the Core Technology, Components, and Design of the Xythos WebFile Server Platform
Xythos WebFile Server Architecture A Technical Guide to the Core Technology, Components, and Design of the Xythos WebFile Server Platform Copyright Xythos Software, Inc. 2006 All Rights Reserved TABLE
TNT SOFTWARE White Paper Series
TNT SOFTWARE White Paper Series Event Log Monitor White Paper: Architecture T N T Software www.tntsoftware.com TNT SOFTWARE Event Log Monitor Architecture 2000 TNT Software All Rights Reserved 1308 NE
The syslog-ng Premium Edition 5F2
The syslog-ng Premium Edition 5F2 PRODUCT DESCRIPTION Copyright 2000-2014 BalaBit IT Security All rights reserved. www.balabit.com Introduction The syslog-ng Premium Edition enables enterprises to collect,
Using MySQL for Big Data Advantage Integrate for Insight Sastry Vedantam [email protected]
Using MySQL for Big Data Advantage Integrate for Insight Sastry Vedantam [email protected] Agenda The rise of Big Data & Hadoop MySQL in the Big Data Lifecycle MySQL Solutions for Big Data Q&A
Monitoring Traffic manager
Monitoring Traffic manager eg Enterprise v6 Restricted Rights Legend The information contained in this document is confidential and subject to change without notice. No part of this document may be reproduced
Network Attached Storage. Jinfeng Yang Oct/19/2015
Network Attached Storage Jinfeng Yang Oct/19/2015 Outline Part A 1. What is the Network Attached Storage (NAS)? 2. What are the applications of NAS? 3. The benefits of NAS. 4. NAS s performance (Reliability
In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal
Paper Title: Generic Framework for Video Analysis Authors: Luís Filipe Tavares INESC Porto [email protected] Luís Teixeira INESC Porto, Universidade Católica Portuguesa [email protected] Luís Corte-Real
The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.
The EMSX Platform A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks A White Paper November 2002 Abstract: The EMSX Platform is a set of components that together provide
ORACLE DATABASE 10G ENTERPRISE EDITION
ORACLE DATABASE 10G ENTERPRISE EDITION OVERVIEW Oracle Database 10g Enterprise Edition is ideal for enterprises that ENTERPRISE EDITION For enterprises of any size For databases up to 8 Exabytes in size.
Sisense. Product Highlights. www.sisense.com
Sisense Product Highlights Introduction Sisense is a business intelligence solution that simplifies analytics for complex data by offering an end-to-end platform that lets users easily prepare and analyze
Managing your Red Hat Enterprise Linux guests with RHN Satellite
Managing your Red Hat Enterprise Linux guests with RHN Satellite Matthew Davis, Level 1 Production Support Manager, Red Hat Brad Hinson, Sr. Support Engineer Lead System z, Red Hat Mark Spencer, Sr. Solutions
WhatsUpGold. v3.0. WhatsConnected User Guide
WhatsUpGold v3.0 WhatsConnected User Guide Contents CHAPTER 1 Welcome to WhatsConnected Finding more information and updates... 2 Sending feedback... 3 CHAPTER 2 Installing and Configuring WhatsConnected
SOA REFERENCE ARCHITECTURE: WEB TIER
SOA REFERENCE ARCHITECTURE: WEB TIER SOA Blueprint A structured blog by Yogish Pai Web Application Tier The primary requirement for this tier is that all the business systems and solutions be accessible
Novell Access Manager
J2EE Agent Guide AUTHORIZED DOCUMENTATION Novell Access Manager 3.1 SP3 February 02, 2011 www.novell.com Novell Access Manager 3.1 SP3 J2EE Agent Guide Legal Notices Novell, Inc., makes no representations
Application Servers - BEA WebLogic. Installing the Application Server
Proven Practice Application Servers - BEA WebLogic. Installing the Application Server Product(s): IBM Cognos 8.4, BEA WebLogic Server Area of Interest: Infrastructure DOC ID: AS01 Version 8.4.0.0 Application
The Benefits of Verio Virtual Private Servers (VPS) Verio Virtual Private Server (VPS) CONTENTS
Performance, Verio FreeBSD Virtual Control, Private Server and (VPS) Security: v3 CONTENTS Why outsource hosting?... 1 Some alternative approaches... 2 Linux VPS and FreeBSD VPS overview... 3 Verio VPS
MANAGING NETWORK COMPONENTS USING SNMP
MANAGING NETWORK COMPONENTS USING SNMP Abubucker Samsudeen Shaffi 1 Mohanned Al-Obaidy 2 Gulf College 1, 2 Sultanate of Oman. Email: [email protected] [email protected] Abstract:
RUGGEDCOM NMS for Linux v1.6
Welcome to RNMS 1 Installation 2 RUGGEDCOM NMS for Linux v1.6 Notes on RNMS 3 Installation Upgrades 4 09/2013 Copyright 2013 Siemens AG All rights reserved. Dissemination or reproduction of this document,
Our Technology.NET Development services by Portweb Inc.
View Yourself Anywhere TM Our Technology.NET Development services by Portweb Inc. Portweb Inc. is working in Microsoft.NET technology since 2009. We have extensive experience in.net Development Technologies
Firewall Builder Architecture Overview
Firewall Builder Architecture Overview Vadim Zaliva Vadim Kurland Abstract This document gives brief, high level overview of existing Firewall Builder architecture.
Copyright 2014 Jaspersoft Corporation. All rights reserved. Printed in the U.S.A. Jaspersoft, the Jaspersoft
5.6 Copyright 2014 Jaspersoft Corporation. All rights reserved. Printed in the U.S.A. Jaspersoft, the Jaspersoft logo, Jaspersoft ireport Designer, JasperReports Library, JasperReports Server, Jaspersoft
Version 14.0. Overview. Business value
PRODUCT SHEET CA Datacom Server CA Datacom Server Version 14.0 CA Datacom Server provides web applications and other distributed applications with open access to CA Datacom /DB Version 14.0 data by providing
Enhanced Connector Applications SupportPac VP01 for IBM WebSphere Business Events 3.0.0
Enhanced Connector Applications SupportPac VP01 for IBM WebSphere Business Events 3.0.0 Third edition (May 2012). Copyright International Business Machines Corporation 2012. US Government Users Restricted
IBM Rational Web Developer for WebSphere Software Version 6.0
Rapidly build, test and deploy Web, Web services and Java applications with an IDE that is easy to learn and use IBM Rational Web Developer for WebSphere Software Version 6.0 Highlights Accelerate Web,
Network Management System (NMS) FAQ
Network Management System (NMS) FAQ Q: How does the NMS work? A: The Cooper NMS is a powerful, flexible and highly scalable wireless and fixed network management solution for thousands of network nodes
NetCrunch 6. AdRem. Network Monitoring Server. Document. Monitor. Manage
AdRem NetCrunch 6 Network Monitoring Server With NetCrunch, you always know exactly what is happening with your critical applications, servers, and devices. Document Explore physical and logical network
WhatsUp Gold v11 Features Overview
WhatsUp Gold v11 Features Overview This guide provides an overview of the core functionality of WhatsUp Gold v11, and introduces interesting features and processes that help users maximize productivity
Niagara IT Manager s Guide
3951 Westerre Parkway, Suite 350 Richmond, VA 23233 804.747.4771 Phone 804.747.5204 FAX Niagara IT Manager s Guide A White Paper An IT Manager s Guide to Niagara This document addresses some of the common
What Is the Java TM 2 Platform, Enterprise Edition?
Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today
BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0 Service Pack: 2. Feature and Technical Overview
BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0 Service Pack: 2 Feature and Technical Overview Published: 2010-06-16 SWDT305802-1108946-0615123042-001 Contents 1 Overview: BlackBerry Enterprise
Configuring SNMP. 2012 Cisco and/or its affiliates. All rights reserved. 1
Configuring SNMP 2012 Cisco and/or its affiliates. All rights reserved. 1 The Simple Network Management Protocol (SNMP) is part of TCP/IP as defined by the IETF. It is used by network management systems
Whitepaper. Business Service monitoring approach
Whitepaper on Business Service monitoring approach - Harish Jadhav Page 1 of 15 Copyright Copyright 2013 Tecknodreams Software Consulting Pvt. Ltd. All Rights Reserved. Restricted Rights Legend This document
1 File Processing Systems
COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.
Assignment One. ITN534 Network Management. Title: Report on an Integrated Network Management Product (Solar winds 2001 Engineer s Edition)
Assignment One ITN534 Network Management Title: Report on an Integrated Network Management Product (Solar winds 2001 Engineer s Edition) Unit Co-coordinator, Mr. Neville Richter By, Vijayakrishnan Pasupathinathan
Monitoring PostgreSQL database with Verax NMS
Monitoring PostgreSQL database with Verax NMS Table of contents Abstract... 3 1. Adding PostgreSQL database to device inventory... 4 2. Adding sensors for PostgreSQL database... 7 3. Adding performance
O p e n N M S. Marcin Rybacki OpenNMS
O p e n N M S Marcin Rybacki OpenNMS Plan What is OpenNMS? Requirements Discovery Data collection Events Definitions: Network Management Managing TCP/IP addressable devices and the things that make them
Management, Logging and Troubleshooting
CHAPTER 15 This chapter describes the following: SNMP Configuration System Logging SNMP Configuration Cisco NAC Guest Server supports management applications monitoring the system over SNMP (Simple Network
OnCommand Unified Manager
OnCommand Unified Manager Operations Manager Administration Guide For Use with Core Package 5.2 NetApp, Inc. 495 East Java Drive Sunnyvale, CA 94089 U.S. Telephone: +1(408) 822-6000 Fax: +1(408) 822-4501
MALAYSIAN PUBLIC SECTOR OPEN SOURCE SOFTWARE (OSS) PROGRAMME. COMPARISON REPORT ON NETWORK MONITORING SYSTEMS (Nagios and Zabbix)
MALAYSIAN PUBLIC SECTOR OPEN SOURCE SOFTWARE (OSS) PROGRAMME COMPARISON REPORT ON NETWORK MONITORING SYSTEMS (Nagios and Zabbix) JANUARY 2010 Phase II -Network Monitoring System- Copyright The government
WHITE PAPER. Domo Advanced Architecture
WHITE PAPER Domo Advanced Architecture Overview There are several questions that any architect or technology advisor may ask about a new system during the evaluation process: How will it fit into our organization
Availability Digest. www.availabilitydigest.com. Raima s High-Availability Embedded Database December 2011
the Availability Digest Raima s High-Availability Embedded Database December 2011 Embedded processing systems are everywhere. You probably cannot go a day without interacting with dozens of these powerful
A Guide to Understanding SNMP
A Guide to Understanding SNMP Read about SNMP v1, v2c & v3 and Learn How to Configure SNMP on Cisco Routers 2013, SolarWinds Worldwide, LLC. All rights reserved. Share: In small networks with only a few
S y s t e m A r c h i t e c t u r e
S y s t e m A r c h i t e c t u r e V e r s i o n 5. 0 Page 1 Enterprise etime automates and streamlines the management, collection, and distribution of employee hours, and eliminates the use of manual
THE CHALLENGE OF ADMINISTERING WEBSITES OR APPLICATIONS THAT REQUIRE 24/7 ACCESSIBILITY
THE CHALLENGE OF ADMINISTERING WEBSITES OR APPLICATIONS THAT REQUIRE 24/7 ACCESSIBILITY As the constantly growing demands of businesses and organizations operating in a global economy cause an increased
zen Platform technical white paper
zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant
Monitoring VMware-based Virtual Infrastructures with OpenNMS
Monitoring VMware-based Virtual Infrastructures with OpenNMS Christian Pape 1, Ronny Trommer 2 Abstract Today s IT infrastructure is more and more being virtualized. Almost every kind of component like
Open EMS Suite. O&M Agent. Functional Overview Version 1.2. Nokia Siemens Networks 1 (18)
Open EMS Suite O&M Agent Functional Overview Version 1.2 Nokia Siemens Networks 1 (18) O&M Agent The information in this document is subject to change without notice and describes only the product defined
High Availability Essentials
High Availability Essentials Introduction Ascent Capture s High Availability Support feature consists of a number of independent components that, when deployed in a highly available computer system, result
Software Requirement Specification For Flea Market System
Software Requirement Specification For Flea Market System By Ilya Verlinsky, Alexander Sarkisyan, Ambartsum Keshishyan, Igor Gleyser, Andrey Ishuninov 1 INTRODUCTION 1.1 Purpose 1.1.1 Purpose of SRS document
FileNet System Manager Dashboard Help
FileNet System Manager Dashboard Help Release 3.5.0 June 2005 FileNet is a registered trademark of FileNet Corporation. All other products and brand names are trademarks or registered trademarks of their
Application Discovery Manager User s Guide vcenter Application Discovery Manager 6.2.1
Application Discovery Manager User s Guide vcenter Application Discovery Manager 6.2.1 This document supports the version of each product listed and supports all subsequent versions until the document
Security Correlation Server Quick Installation Guide
orrelog Security Correlation Server Quick Installation Guide This guide provides brief information on how to install the CorreLog Server system on a Microsoft Windows platform. This information can also
syslog-ng Store Box PRODUCT DESCRIPTION Copyright 2000-2009 BalaBit IT Security All rights reserved. www.balabit.com
syslog-ng Store Box PRODUCT DESCRIPTION Copyright 2000-2009 BalaBit IT Security All rights reserved. www.balabit.com Introduction Log messages contain information about the events happening on the hosts.
NNMi120 Network Node Manager i Software 9.x Essentials
NNMi120 Network Node Manager i Software 9.x Essentials Instructor-Led Training For versions 9.0 9.2 OVERVIEW This course is designed for those Network and/or System administrators tasked with the installation,
Workflow Templates Library
Workflow s Library Table of Contents Intro... 2 Active Directory... 3 Application... 5 Cisco... 7 Database... 8 Excel Automation... 9 Files and Folders... 10 FTP Tasks... 13 Incident Management... 14 Security
No.1 IT Online training institute from Hyderabad Email: [email protected] URL: sriramtechnologies.com
I. Basics 1. What is Application Server 2. The need for an Application Server 3. Java Application Solution Architecture 4. 3-tier architecture 5. Various commercial products in 3-tiers 6. The logic behind
IBM Campaign Version-independent Integration with IBM Engage Version 1 Release 3 April 8, 2016. Integration Guide IBM
IBM Campaign Version-independent Integration with IBM Engage Version 1 Release 3 April 8, 2016 Integration Guide IBM Note Before using this information and the product it supports, read the information
DEPLOYMENT GUIDE. Deploying F5 for High Availability and Scalability of Microsoft Dynamics 4.0
DEPLOYMENT GUIDE Deploying F5 for High Availability and Scalability of Microsoft Dynamics 4.0 Introducing the F5 and Microsoft Dynamics CRM configuration Microsoft Dynamics CRM is a full customer relationship
OnCommand Performance Manager 1.1
OnCommand Performance Manager 1.1 Installation and Setup Guide For Red Hat Enterprise Linux NetApp, Inc. 495 East Java Drive Sunnyvale, CA 94089 U.S. Telephone: +1 (408) 822-6000 Fax: +1 (408) 822-4501
Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents
Agent Languages Requirements Overview Java Tcl/Tk Telescript Evaluation Franz J. Kurfess, Cal Poly SLO 211 Requirements for agent Languages distributed programming large-scale (tens of thousands of computers)
Configuring and Managing Token Ring Switches Using Cisco s Network Management Products
Configuring and Managing Token Ring Switches Using Cisco s Network Management Products CHAPTER 12 Cisco offers several network management applications that you can use to manage your Catalyst Token Ring
VX Search File Search Solution. VX Search FILE SEARCH SOLUTION. User Manual. Version 8.2. Jan 2016. www.vxsearch.com [email protected]. Flexense Ltd.
VX Search FILE SEARCH SOLUTION User Manual Version 8.2 Jan 2016 www.vxsearch.com [email protected] 1 1 Product Overview...4 2 VX Search Product Versions...8 3 Using Desktop Product Versions...9 3.1 Product
How To Use The Correlog With The Cpl Powerpoint Powerpoint Cpl.Org Powerpoint.Org (Powerpoint) Powerpoint (Powerplst) And Powerpoint 2 (Powerstation) (Powerpoints) (Operations
orrelog SQL Table Monitor Adapter Users Manual http://www.correlog.com mailto:[email protected] CorreLog, SQL Table Monitor Users Manual Copyright 2008-2015, CorreLog, Inc. All rights reserved. No part
Analyzing Network Servers. Disk Space Utilization Analysis. DiskBoss - Data Management Solution
DiskBoss - Data Management Solution DiskBoss provides a large number of advanced data management and analysis operations including disk space usage analysis, file search, file classification and policy-based
MarkLogic Server. Database Replication Guide. MarkLogic 8 February, 2015. Copyright 2015 MarkLogic Corporation. All rights reserved.
Database Replication Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-1, February, 2015 Copyright 2015 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Database Replication
DEPLOYMENT GUIDE Version 1.1. Deploying F5 with Oracle Application Server 10g
DEPLOYMENT GUIDE Version 1.1 Deploying F5 with Oracle Application Server 10g Table of Contents Table of Contents Introducing the F5 and Oracle 10g configuration Prerequisites and configuration notes...1-1
Introducing the BIG-IP and SharePoint Portal Server 2003 configuration
Deployment Guide Deploying Microsoft SharePoint Portal Server 2003 and the F5 BIG-IP System Introducing the BIG-IP and SharePoint Portal Server 2003 configuration F5 and Microsoft have collaborated on
Security Correlation Server Quick Installation Guide
orrelogtm Security Correlation Server Quick Installation Guide This guide provides brief information on how to install the CorreLog Server system on a Microsoft Windows platform. This information can also
Oracle WebLogic Server 11g Administration
Oracle WebLogic Server 11g Administration This course is designed to provide instruction and hands-on practice in installing and configuring Oracle WebLogic Server 11g. These tasks include starting and
Integrating VoltDB with Hadoop
The NewSQL database you ll never outgrow Integrating with Hadoop Hadoop is an open source framework for managing and manipulating massive volumes of data. is an database for handling high velocity data.
An introduction to creating JSF applications in Rational Application Developer Version 8.0
An introduction to creating JSF applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Although you can use several Web technologies to create
Comparison of SNMP. Versions 1, 2 and 3
Comparison of SNMP 1 Comparison of SNMP Versions 1, 2 and 3 Eddie Bibbs Brandon Matt ICTN 4600-001 Xin Tang April 17, 2006 Comparison of SNMP 2 During its development history, the communities of researchers,
Monitoring Windows Servers and Applications with GroundWork Monitor Enterprise 6.7. Product Application Guide October 8, 2012
Monitoring Windows Servers and Applications with GroundWork Monitor Enterprise 6.7 Product Application Guide October 8, 2012 Table of Contents Introduction...3 Definitions and Abbreviations...3 GroundWork
Network Probe User Guide
Network Probe User Guide Network Probe User Guide Table of Contents 1. Introduction...1 2. Installation...2 Windows installation...2 Linux installation...3 Mac installation...4 License key...5 Deployment...5
2012 LABVANTAGE Solutions, Inc. All Rights Reserved.
LABVANTAGE Architecture 2012 LABVANTAGE Solutions, Inc. All Rights Reserved. DOCUMENT PURPOSE AND SCOPE This document provides an overview of the LABVANTAGE hardware and software architecture. It is written
IBM Campaign and IBM Silverpop Engage Version 1 Release 2 August 31, 2015. Integration Guide IBM
IBM Campaign and IBM Silverpop Engage Version 1 Release 2 August 31, 2015 Integration Guide IBM Note Before using this information and the product it supports, read the information in Notices on page 93.
How To Understand Network Performance Monitoring And Performance Monitoring Tools
http://www.cse.wustl.edu/~jain/cse567-06/ftp/net_traffic_monitors2/ind... 1 of 11 SNMP and Beyond: A Survey of Network Performance Monitoring Tools Paul Moceri, [email protected] Abstract The growing
IBM TSM DISASTER RECOVERY BEST PRACTICES WITH EMC DATA DOMAIN DEDUPLICATION STORAGE
White Paper IBM TSM DISASTER RECOVERY BEST PRACTICES WITH EMC DATA DOMAIN DEDUPLICATION STORAGE Abstract This white paper focuses on recovery of an IBM Tivoli Storage Manager (TSM) server and explores
10. Java Servelet. Introduction
Chapter 10 Java Servlets 227 10. Java Servelet Introduction Java TM Servlet provides Web developers with a simple, consistent mechanism for extending the functionality of a Web server and for accessing
To use MySQL effectively, you need to learn the syntax of a new language and grow
SESSION 1 Why MySQL? Session Checklist SQL servers in the development process MySQL versus the competition To use MySQL effectively, you need to learn the syntax of a new language and grow comfortable
ZABBIX. An Enterprise-Class Open Source Distributed Monitoring Solution. Takanori Suzuki MIRACLE LINUX CORPORATION October 22, 2009
ZABBIX An Enterprise-Class Open Source Distributed Monitoring Solution Takanori Suzuki MIRACLE LINUX CORPORATION October 22, 2009 Outline Biography ZABBIX New release ZABBIX 1.8 Activity in Japan Biography
11.1. Performance Monitoring
11.1. Performance Monitoring Windows Reliability and Performance Monitor combines the functionality of the following tools that were previously only available as stand alone: Performance Logs and Alerts
