Developer's Guide

  • Docs Home
  • Community Home

Glossary

Glossary

Daemon

In Unix, a daemon is a computer program that runs in the background rather than under the direct control of a user. Systems often start daemons at boot time: they often serve the function of responding to network requests, hardware activity, or other programs by performing some task.

Component

A component is a Zenoss code abstraction for something attached to a device. Examples of components: network interfaces, fans, CPUs, and hard disks.

Device

A device is defined as a Zenoss code abstraction for a combination of a networked resources hardware and that hardware's operating system. Examples of devices: printers, servers, routers, and switches.

GNU General Public License

The GPL is a widely used free software license.

Internet Control Message Protocol

An extension to the Internet Protocol (IP) defined by RFC 792. ICMP supports packets containing error, control, and informational messages. The PING command, for example, uses ICMP to test an Internet connection.

Management Information Base

A MIB is a description of the OIDs that an SNMP agent supports, and are used to provide human-friendly names and descriptions for OIDS (much like DNS provides human-friendly names for IP addresses). In addition, the a MIB entry also defines the data types of the OID and other meta-data. MIBs are defined using a subset of Abstract Syntax Notation One (ASN.1) defined in "Structure of Management Information Version 2 (SMIv2)" RFC 2578. The software that converts a human-readable MIB into a computer-readable entity is called an MIB compiler. MIBs are hierarchical (tree structured). Notable RFCs are: RFC 1155, "Structure and Identification of Management Information for TCP/IP based Internets", and its two companions, RFC 1213, "Management Information Base for Network Management of TCP/IP-based Internets", and RFC 1157, "A Simple Network Management Protocol."

Modeling

A model is the collection of code abstractions (python objects) that represents actual networked resources. Modeling (creating a model of a) a piece of hardware in your system consists of gathering all of that date possible about that device and creating a device profile based upon that data. This model can be supplemented by hand entered data that is of particular use in creating a more accurate profile (model) of the device. This information can also be re-used to assist in the modeling of hardware producing similar data.

Object Identifier

In the context of SNMP, consists of the object identifier for an object in a Management Information Base (MIB).

Performance Template

A performance template defines how performance data is to be collected. A template defines the data sources to collect, any thresholds and how the data sources should be graphed. There are two types of performance templates: device-level and component.

A device-level template is usually defined manually (the device template being an obvious exception) and do not rely on modeling information. A device-level template must be bound manually and data sources configured.

A component-level template relies on modeling data to determine what and how to monitor a component. A component-level template must not be bound manually or there will be undefined results. Examples of component-level tempates: network interfaces, disks, CPUs.

The rule of thumb to determine if a performance template is a device-level or component-level template is to see if zenmodeler models the component. If you can see new elements in the GUI after running zenmodeler, then a component-level template will be automatically bound. If zenmodeler doesn't find something, then you have a device-level template.

Simple Network Management Protocol

A set of protocols for managing complex networks. The first versions of SNMP were developed in the early 80s. SNMP works by sending messages, called protocol data units (PDUs), to different parts of a network. SNMP-compliant devices, called agents, store data about themselves in Management Information Bases (MIBs) and return this data to the SNMP requesters.

SNMP Trap

When a condition is met on a remote device that is recognized by the SNMP agent on that remote device (eg bad login attempts, processor on fire), the SNMP protocol allows for the remote device to inform the SNMP manager of this event. The SNMP protocol uses the term trap to refer to the alert sent from the agent to the manager.

SNMP Walk

The operation performed using SNMP to gather information about a specific device.

sudo

sudo (substitute user [or superuser] do), is a program in Unix-like operating systems that allows users to run programs with the security privileges of another user (normally the system's superuser) in a secure manner. Users must confirm their identity to sudo by supplying their password before running the target program. Once authentication has taken place, and if the /etc/sudoers file is configured to give the user access to the command requested, then the system allows the command, but logs it. Because sudo is very particular about the format of this configuration file, and errors could cause serious problems, editing should always be done with the provided visudo or sudoedit tool, which checks for correctness before saving.

Virtual Appliance

A virtual appliance is a minimalist virtual machine image designed to run under VMware, providing network applications such as Web servers. Virtual appliances are a subset of the broader class of software appliances. Like software appliances, virtual appliances are aimed to eliminate the installation, configuration and maintenance costs associated with running complex stacks of software. A key concept that differentiates a virtual appliance from a virtual machine is that a virtual appliance is a fully pre-installed and pre-configured application and operating system environment whereas a virtual machine is, by itself, without software Typically a virtual appliance will have a web interface to configure the inner workings of the appliance. A virtual appliance is usually built to host a single application, and so represents a new way of deploying network applications.

Device Management Database

The DMD is the area inside of the ZODB where Zenoss stores device and network configuration information.

Zope Object DataBase

The ZODB is the Object-Oriented DataBase (OODB) used by Zope. The OODB part means that data is not stored in terms of tables, rows and columns, but instead as objects.

ZEO

ZEO is a layer between Zope and the ZODB, and allows multiple Zope servers to share the same ZODB. zenhub (the Zenoss Hub) attaches to the ZODB through ZEO. The terms ZEO (a mechanism to attach to the ZODB) and the ZODB (the actual data store) are used almost synonymously in the text.

Zope Configuration Management Language

ZCML is an XML file that contains information about configuring Zope and Zope Products (such as Zenoss).

Zope Management Interface

The ZMI refers to the user interface provided by the Zope system to create and manage Zope products (Zenoss being a Zope product). The ZMI on a Zenoss system can be accessed by going to the URL of your Zenoss server and adding the name manage to the end. For example: http://yourzenossserver:8080/zport/manage

Macro Exapnsion for TAL

While TAL is used to allow Zope to dynamically add content for a single HTML page, TAL logic can't be shared by multiple pages. METAL macros allow for TAL to be used in multiple places with variable passing (called slots).

Template Attribute Language

TAL is a set of XML elements and tags used by Zope and are incorporated into HTML pages. These XML elements and tags (inside of the tal namespace) allow Zope to programmatically extend a static HTML page and dynamically include content.

Asynchronous JavaScript And XML

AJAX is a set of techniques for writing JavaScript. So AJAX is a state of mind rather than a standard. Generally, something is considered AJAX if it uses the JavaScript XMLHttpRequest() function to retrieve data from a server and presents the returned XML document in a interactive way to the user.