TclMon
Encyclopedia
TclMon is a network monitoring
system, written in platform-independent language Tcl
. TclMon consists of a server that gathers and processes data received from network devices, and the client that provides data visualization, called Netstate.
TclMon is designed to be modular
. The core of TclMon is a small Tcl script that provides some basic framework for different modules and plugins, that can be used to collect data from external devices, save it, analyze it, transfer it, and so on. There is large set of modules that can deeply monitor large set of network devices from many vendors (Cisco Systems
, 3Com
, Allied Telesis
, Zyxel
, Huawei
, etc.), different Internet services (DNS
, HTTP, FTP, Network Time Protocol
(NTP), RADIUS
, SMTP, POP3, etc.), databases (MySQL
, Oracle
), uninterruptible power supplies (APC), and many others.
TclMon is written in pure Tcl
and uses pure Tcl libraries where possible. Netstate client is written in C++
using cross-platform Qt toolkit.
Network monitoring
The term network monitoring describes the use of a system that constantly monitors a computer network for slow or failing components and that notifies the network administrator in case of outages...
system, written in platform-independent language Tcl
Tcl
Tcl is a scripting language created by John Ousterhout. Originally "born out of frustration", according to the author, with programmers devising their own languages intended to be embedded into applications, Tcl gained acceptance on its own...
. TclMon consists of a server that gathers and processes data received from network devices, and the client that provides data visualization, called Netstate.
Overview
The aim of TclMon development was to develop a NMS, which would allow to monitor the dynamic heterogeneous networks that consists of many devices from different vendors. Such system should automatically detect all changes in the configuration of devices, their components and network topology with minimal human intervention. Another requirement for such system is a high flexibility, which enables quick and easy implementation of support for new device classes, as well as device monitoring logic.TclMon is designed to be modular
Modular design
Modular design, or "modularity in design" is an approach that subdivides a system into smaller parts that can be independently created and then used in different systems to drive multiple functionalities...
. The core of TclMon is a small Tcl script that provides some basic framework for different modules and plugins, that can be used to collect data from external devices, save it, analyze it, transfer it, and so on. There is large set of modules that can deeply monitor large set of network devices from many vendors (Cisco Systems
Cisco
Cisco may refer to:Companies:*Cisco Systems, a computer networking company* Certis CISCO, corporatised entity of the former Commercial and Industrial Security Corporation in Singapore...
, 3Com
3Com
3Com was a pioneering digital electronics manufacturer best known for its computer network infrastructure products. The company was co-founded in 1979 by Robert Metcalfe, Howard Charney, Bruce Borden, and Greg Shaw...
, Allied Telesis
Allied Telesis
Allied Telesis is a telecommunications company, formerly Allied Telesyn. Headquartered in Japan, their North American headquarters are in San Jose, California...
, Zyxel
ZyXEL
ZyXEL Communications Corp. , located in Hsinchu, Taiwan, is a manufacturer of DSL and other networking devices. . With headquarters in Taiwan, ZyXEL maintains branch offices in North America, Europe, and Asia...
, Huawei
Huawei
Huawei is a Chinese multinational networking and telecommunications equipment and services company headquartered in Shenzhen, Guangdong, China...
, etc.), different Internet services (DNS
Domain name system
The Domain Name System is a hierarchical distributed naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities...
, HTTP, FTP, Network Time Protocol
Network Time Protocol
The Network Time Protocol is a protocol and software implementation for synchronizing the clocks of computer systems over packet-switched, variable-latency data networks. Originally designed by David L...
(NTP), RADIUS
RADIUS
Remote Authentication Dial In User Service is a networking protocol that provides centralized Authentication, Authorization, and Accounting management for computers to connect and use a network service...
, SMTP, POP3, etc.), databases (MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...
, Oracle
Oracle Database
The Oracle Database is an object-relational database management system produced and marketed by Oracle Corporation....
), uninterruptible power supplies (APC), and many others.
TclMon is written in pure Tcl
Tcl
Tcl is a scripting language created by John Ousterhout. Originally "born out of frustration", according to the author, with programmers devising their own languages intended to be embedded into applications, Tcl gained acceptance on its own...
and uses pure Tcl libraries where possible. Netstate client is written in C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
using cross-platform Qt toolkit.