PIKT

PIKT® is cross-categorical, multi-purpose software for global-view, site-at-a-time system and network administration. Applicability includes system monitoring, configuration management, server and network administration, system security, and many other uses.

PIKT consists of a sophisticated, feature-rich file preprocessor; an innovative scripting language with unique labor-saving features; a flexible, centrally directed process scheduler; a customizing file installer; a collection of powerful command-line extensions; and other useful tools.

The PIKT binaries are written using a combination of C, lex (flex), and yacc (bison). PIKT's configuration combines free-form text files, Pikt scripts, and programs written in other popular scripting languages.

PIKT is in widespread use at thousands of sites around the world, although its popularity is diminished by the perception, real or imagined, that it is complicated to set up and difficult to administer. Recent changes have mitigated the complexity and difficulty somewhat. PIKT's user community is low-profile and not very active.

PIKT was first released publicly on October 17, 1998, and has undergone numerous revisions since then. As of 2007, it is still being actively maintained.

Project Name

PIKT is an acronym: Problem Informant/Killer Tool. PIKT is like a military picket, "a group of soldiers or a single soldier stationed, usually at an outpost, to guard a body of troops from surprise attack" (Webster's New World College Dictionary). A picket's primary mission is to warn of the enemy's advance, but to fight if necessary. Similarly, PIKT's primary task is to warn of problems, but to fix those problems when needed.

Purpose

Systems administrators have long wrestled with the task of writing generalized scripts to monitor systems and deal with recurring problem situations. As conventionally practiced, this approach has numerous disadvantages: it is hard to account for diversity across machines and operating systems; operations are fragile and error-prone; scripts for handling simple tasks are difficult to code, or are hardly worth the effort to maintain; scheduling and managing scripts are time-consuming and repetitive; setup is inflexible; activity and error logging is rudimentary or nonexistent; and the whole mass of scripts and configuration files is nearly impossible to keep track of or even comprehend.

PIKT attempts to solve some of the problems observed in more traditional methods of monitor scripting and managing system configurations. It does this chiefly by means of its preprocessor, piktc, and all the special scripting and file management facilities it provides: per-machine and per-OS #if directives; the #ifdef family of logical switches; #include files (both text files and dynamic process output); macros; environment variables; pinpointed, customizing file installation; automatic backups and restores; change auditing; central scheduling; and so on. PIKT moves scripting toward the kind of full-featured development environment that users of "more serious" languages have long enjoyed.

Uses

PIKT is intended primarily for system monitoring, and secondarily for configuration management, but its versatility and extensibility evoke many other wide-ranging uses.

Suggested uses include: system and network monitor, configuration manager, change auditor, log file analyzer, host-based intrusion detection system (HIDS), process scheduler, macro preprocessor, customizing file installer, document formatter, website content management system, software tester, command-line assistant, etc.

PIKT does none of these things right "out of the box." To get PIKT to do anything, you first have to configure it. Depending on how much you want to do with PIKT, formulating PIKT's eight basic configuration files (and potentially many other include files) can be a non-trivial and lengthy process. Fortunately, it is possible to ease into configuring PIKT, to deploy PIKT in partial configurations, with subsets of the eight basic config file types.

Documentation

PIKT is very well documented. The distribution includes both a comprehensive Reference and Tutorial. Additionally, the PIKT website provides copious examples and sample configurations to get you started.

Portability

PIKT has been ported to run on Linux, Solaris, FreeBSD and several other UNIX variants. By design, it excels at managing a complex of many heterogeneous networked workstations.

License

PIKT is Open Source software distributed under the GNU General Public License version 2 as published by the Free Software Foundation.

Authors

PIKT was written and is currently maintained by Robert Osterlund. Harlan Stenn maintains the automake/autoconf build procedures, and Michel Blanc develops the project's Perl utilities and RPMs.

Although originally created at the University of Chicago (which owns the PIKT trademark), PIKT is no longer affiliated with that institution.

See also

  • Comparison of open source configuration management software
  • List of systems management systems
  • Network management
  • Network monitoring
  • Host-based intrusion detection system
  • Scripting language