Processes & Jobs
Similar to the architecture of the Oracle database itself, zztat uses individual processes to perform different tasks. This keeps code simple, more linear and maintainable, and helps to provide a more stable framework. This also opens the door to add new functionality a lot easier compared to having a single huge script. In zztat, a process is essentially an Oracle scheduler program, which is then executed by one or more Oracle scheduler jobs.
Many of the processes can operate in two different core operational modes: PUSH & PULL (as of zztat version 1.0.4 only PUSH is implemented).
Jobs are grouped into different categories based on their function:
Illustration I shows the different types of processes which can be active on a typical zztat target database installation.
- SNAPSHOT triggers metric snapshots to collect data
- REPLICATE replicates the snapshot data to the repository database
- GAUGE executes the gauges
- REACT fires reactions
- PING regularly informs the repository of the target database status
- PURGE ensures the scheduler job logs are regularly archived and cleaned
- MANAGER performs various data cleanup tasks
- STATE_CHECK monitors processes and the framework status
- SYNC handles communication, both locally on the target and with the repository
- EYE is the interface to the zztat eye (coming in zztat patchset 1).
Illustration 1: Target database processes