[Orca-dev] Orca 0.27 released
Blair Zajac
blair at orcaware.com
Thu Nov 14 19:26:42 PST 2002
The long awaited release for Orca 0.27 is finally over!
The direct download URL is
http://www.orcaware.com/orca/pub/orca-0.27.tar.gz
Below are the significant changes made since Orca 0.26, which
was the last production Orca release from March 10, 2000.
Enjoy.
Best,
Blair
NEW IN ORCA 0.27
================
Released November 14, 2002.
1) In orcallator.cfg:
Add support for Znyz Network's 100 Mbit interfaces known by the
znb device name.
Fix a typo in matching on the dmfe 100 Mbit interface statistics.
2) In orcallator/orcallator_running.pl.in:
Have it work with the new orcallator-YYYY-MM-DD and
orcallator-YYYY-MM-DD.XXX style file names.
Warn if the orcallator or percol file is newer than the current
time.
3) In orca_services:
Complete the rename from orcaservices to orca_services by changing
any references to orcaservices to orca_servers in the files
themselves. The file names were properly renamed previously, but
not all of the file contents were.
NEW IN ORCA 0.27b3
==================
Released November 7, 2002.
1) Now require Perl version 5.005_03 instead of 5.004_01. Perl
versions older than this are very broken and cannot even load
Orca. Additionally, CPAN modules are now requiring newer Perl
features which the older ones do not support.
2) In Orca's configuration file, instead of defaulting to LINE1 for
any data parameters appearing in a plot configuration that does
not have its line_type specified, use the last set line_type set
in that plot. If no line_type's are set in a plot, then use LINE1
as the default for all data's in that plot.
3) Rename any orcaservices file and directory names to orca_services
to make the name easier to read.
4) Include and require rrdtool 1.0.40, Digest::MD5 2.20 and Storable
2.05. Include TimeDate 1.14 and Time::HiRes 1.38.
5) All of the Orca mailing lists have moved off of Yahoo! Groups and
are now hosted on orcaware.com using the Mailman mailing list
software. See http://devel.orcaware.com/orca/mailing_lists.html
or http://www.orcaware.com/mailman/listinfo for more information.
The following changes are what's new in orcallator.se 1.35 and the
orcallator.cfg file since version 1.28 which was included with Orca
0.27b2. Most of the changes below are taken advantage of in the
included orcallator.cfg and start_orcallator files.
4) Instead of naming the output files percol-*, name them
orcallator-*.
5) Output eleven new columns named state_* where each column
represents numerically the state of one of the system's substates
as they appear in the DNnsrkcmdit output. The character * is
replaced with the same character that appears in the DNnsrkcmdit
string to represent the particular subsystem. This can be used to
create a single plot that shows how all of the subsystems are
performing. The mapping between successive states is exponential,
so that as the subsystems get in worse conditions, the plots will
show higher values. Patch contributed by Rusty Carruth
<rcarruth at tempe.tt.slb.com>. Make all of the live_rule.se live
and temporary variable names consistent.
6) In orcallator.se, SE 3.2.1 stat.se, mknod is a C-preprocessor
define to _xmknod on x86 systems while on SPARC systems stat.se
declares mknod as a normal function. When stat.se is included
before kstat.se on x86 systems the mknod define causes a compile
error on kstat's mknod variables which are part of the
ks_rfs_proc_v3 and ks_rfs_req_v3 structures. The work around is
to include kstat.se before stat.se.
7) In orcallator.se, changed method used by raw_disk_map to detect
the end of GLOBAL_disk_info to looking for the first short disk
name. This works for SCSI disks and looking for fd or st devices
whichshould work for EIDE devices. Patch contributed by Alan
LeGrand <alegrand at wallace.com>.
8) In orcallator.se, always define USE_RAWDISK to use the new raw
disk code. Previously, USE_RAWDISK was defined only if WATCH_OS
was defined, but if WATCH_DISK was defined and WATCH_OS was not,
then the new raw disk code was not being used. This change makes
the behavior consistent.
9) In orcallator.se, fix a problem where the web access log file
pointer instead of the file descriptor was being passed to
fstat(). Fix a problem where the cached web access log stat()
information wasn't being erased if the log file was successfully
stat()ed but then fopen() failed. Problem noted by Jeremy McCarty
<jeremy at nd.edu>.
10) In orcallator.se, in check_output_log_filename(), stat() was was
being passed a stat_t by value, instead of a pointer to a stat_t.
Only the return value from stat() was being used, so this bug had
no effect upon the logic of the code. Problem noted by Richard
Pettit <richp at setoolkit.com>.
11) In orcallator.se, add support for SE version 3.3. Break
compatibility with SE version 3.1, which was released in April
1999, and older SE versions. Solaris 8 removed the pagesio
variable and in SE 3.3, kstat.se #ifdef's out ks_system_pages's
pagesio variable on Solaris 8 and above, so now orcallator.se only
measures pagesio on Solaris 7 or older. Even with older versions
of SE and orcallator.se which defined and used pagesio on Solaris
8, pagesio would always measure as 0. SE 3.3 finally removed the
compatibility #define from prpsinfo_t to psinfo_t, so now use
psinfo_t. This breaks compatibility with SE 3.1 and older SE
versions.
12) In orcallator.se, add a new measurement, the number of secure web
server processes on the system using the column name #httpsds. If
the environmental variable WEB_SERVER_SECURE is defined, use its
value as the regular expression to match on process names. If
WEB_SERVER_SECURE is not defined, then count the number of
httpsd's. New variable www_server_secure_proc_name to hold the
regular expression. Increase the maximum number of disks that can
be monitored using the RAWDISK code from 512 to 1024 by increasing
MAX_RAWDISKS from 512 to 1024. Reformat and modify the usage
message to fit the new WEB_SERVER_SECURE environmental variable.
NEW IN ORCA 0.27b2
==================
Released October 2, 2001.
1) Orca has a new home page:
http://www.orcaware.com/
All of the links in Orca, orcallator.se and the orcallator.se
configuration file have been updated to point to the new web site.
2) To allow input data files to represent that a measurement is not
available or could not be measured, the letter 'U' can be placed
where the numerical data would normally appear. This is better
than storing an out-of-range value in the input data files. The
'U' is passed to RRDtool which properly handles this unknown
value.
3) Fix a bug where Orca would leave around many defunct bunzip2,
gunzip or uncompress processes when reading compressed input
data files using a separate process to pipe in the uncompressed
data. Orca now closes the pipe when the end of file has been
reached allowing the system to reap the defunct processes.
4) Include and require Digest::MD5 2.16 and Storable 1.0.13.
The following changes are what's new in orcallator.se 1.28 and the
orcallator.cfg file since version 1.23 which was included with Orca
0.26. All of the changes below are taken advantage of in the included
orcallator.cfg and start_orcallator files.
5) In orcallator.cfg.in, the Disk Run Percent plots also match for
disk_runp_sd\d+ in addition to disk_runp_md\d+.
6) In orcallator.se, change the output log filename format from
percol-%Y-%m-%d to percol-%Y-%m-%d-XXX, where XXX is a number
starting at 0 that is incremented anytime the number of output
columns changes or type of data stored in a column changes. This
is in addition to the creation of a new log filename when a new
day starts. Whenever the program needs to create a new log file
for any reason, it will search for the smallest XXX so that there
are no log files named percol-%Y-%m-%d-XXX{,.Z,.gz,.bz2}. If the
COMPRESSOR environmental is set and any uncompressed files are
found while looking for the smallest XXX, they are compressed with
the COMPRESSOR command. orcallator.cfg.in's find_files has been
updated to find the new log filenames generated by orcallator.se
1.28.
7) In orcallator.se, instead of outputting the number of CPUs only
when WATCH_MUTEX is defined, output it when either WATCH_CPU or
WATCH_MUTEX is defined. Only declare and update tmp_mutex if
WATCH_MUTEX defined.
8) In orcallator.se, add three parameters that vmstat outputs to the
output files that orcallator.se generates, #runque, vmstat's `r'
column, which is the number of processes in the run queue waiting
to run on a CPU, #waiting, vmstat's `b' column, which is the
number of processes blocked for resourceses (I/O, paging), and
#swpque, vmstat's `w', the number of proceses runnable but swapped
out. In orcallator.cfg.in add a new plot titled "Processes in Run
Queue/Waiting/Swapped" to plot the new measurements.
9) In orcallator.se, check [wr]lentime to see if an EMC is using a
fake disk for control. EMC disks have a fake disk which commands
are run over to configure the disk array or to get stats from;
they are not real data transfers. They cause 1000 MB/sec writes to
appear in the stats. I still get them but not as often with this
bit of code in. If the I/O which occurred in the last five
minutes is not greater than 1/100sec then it is not a very valid
stat anyway. What hapens is that we can have a small I/O, say
1024 bytes, in a 1/100sec = 1024*100/sec. Make sure to define
HAVE_EMC_DISK_CONTROL to enable this check. Patch contributed by
Damon Atkins <Damon.Atkins at nabaus.com.au>.
10) In orcallator.se, increase MAX_COLUMNS from 512 to 2048.
NEW IN ORCA 0.27b1
==================
Released May 10, 2001.
1) By default, now create an hourly plot that shows the last 1.5
hours of data. Add a global "generate_hourly_plot" configuration
file parameter that when set to 0 turns this plot off. Hourly
plot creation is disabled in orcallator.cfg.in since orcallator.se
by default measures the system every 5 minutes and the plots look
blocky.
2) Fix the warning message in src/orca.pl.in
Use on uninitialized value in array element at (eval X) line 1,
<DATA> line Y
when Orca was run with Perl 5.6.0. This bug was in the filename
sorting subroutine.
This problem is probably responsible for problems where there are
missing data from generated plots. Since the filename sorting
subroutine tells Orca the order in which to load data into the RRD
files and the sorted filename list will have newer data files
listed before older data files, once newer data is entered into an
RRD file you cannot add older data, resulting in missing data in
the output plots.
If this is a problem, then the solution is to remove the RRD files
and rerun Orca with all of the input data files.
3) Add a new command line option named -no-images which suppresses
image generation. Remove the command line option -r which told
Orca to only update the RRD files and not generate HTML and image
files. To replace -r functionality, use both -no-images and
-no-html command line options.
4) Add a new command line option -no-html to instruct Orca to skip
generating HTML files. Patch from Alex Howansky
<alex at wankwood.com>.
5) Add a new command line option -logfile that specifies a filename
that STDOUT and STDERR are redirected to so that all messages,
warnings and errors are printed to the file. Now when a SIGPIPE
is caught, messages will continue to be printed unless -logfile
was not given to Orca. Patch supplied by Bruce Johnson
<Bruce.Johnson at PictureVision.com>.
6) Add a new command line option -daemon that puts Orca in the
background or daemonizes it. It is recommended that when this
command line option is used that -logfile is used. Patch supplied
by Bruce Johnson <Bruce.Johnson at PictureVision.com>.
7) A new contrib directory has been created which is where
contributed scripts and programs will be kept. The first
submissions are:
a) Include the orca_services (was originally named orcaservices
but this is too hard to read) package in the contrib directory
which was written by Carlos Canau <Carlos.Canau at KPNQwest.pt>
and documented by Jose Carlos <jcp at KPNQwest.pt>. This package
allows monitoring of many different types of Unix services,
such as DNS, SMTP, POP, etc.
b) A script to rotate Orca's HTML directory so that the daily
plots can be archived. It is named rotate_orca_graphs.
8) Replace the small color scheme used for automatically cycling
through plot colors with a longer list designed by Guy Dallaire
<gdallair-nospam at criq.qc.ca>.
9) To support configurations where it does not make sense to make all
of the hourly, daily, weekly, monthly, quarterly, and yearly
plots, i.e. when only one measurement per day is made and having
a daily plot would not show anything, Orca now understands the
global configuration file options "generate_hourly_plot",
"generate_daily_plot", "generate_weekly_plot",
"generate_monthly_plot", "generate_quarterly_plot", and
"generate_yearly_plot". When an argument value of 0 is given to
the parameter, the plot is not created. If the particular
parameter is not used or the value is not 0, then the plot is
created.
10) Add a new configuration file option for plots named
"summary_format" which specifies the format for the summary values
as passed to the RRDtool GPRINT function. The same format is used
for each number within a single summary line, but you can specify
multiple "summary_format"'s options if there are multiple plots on
the graph. The default value, which has not changed from previous
Orca versions, is '%9.3lf %S'. Patch from Alex Howansky
<alex at wankwood.com>.
11) Remove the "date_format" configuration option as it was never
supported. This is replaced by a new "date_parse" configuration
file parameter which supports converting arbitrary strings in the
input source data files that somehow represent time into an Unix
epoch time usable by Orca. The "date_parse" parameter appears in
a group field and is an arbitrary Perl subroutine that is given
two arguments, the first being the name of the file where the data
is loaded and the second the string from the "date_source" column
that contains some time information. The subroutine should return
the Unix epoch time. If this option is not specified, then Orca
assumes that the string holds the Unix epoch time.
This Perl subroutine is only used if the file's date source is not
specified to be the file's last modified time as indicated to Orca
by use of the "date_source" file_mtime configuration file option.
12) Remove the "sub_dir" configuration file parameter and now always
create sub directories for RRD, image and HTML files. This
removes the problem when a simple Orca configuration file was used
and Orca did not create subdirectories and then additional groups
where added to the configuration file Orca would begin to use
subdirectories and the existing RRD, image and HTML files would be
in the wrong location. In this case, Orca would reload all of the
input data.
13) Allow the "late_interval" configuration parameter to appear in a
configuration file group. If it does not appear in a group
listing, then use the global "late_interval" value.
14) Add a new configuration file option named "require" that allows
the configuration file to specify the minimum required version of
Orca.
15) Orca now catches SIGPIPEs so the lock directory is properly
removed when Orca's STDOUT and/or STDERR is piped to a process,
such as less, and the piped to process exits before Orca does.
16) Fix a bug where Orca's documentation stated that the configuration
file can specify different data_min, data_max, and data_type's for
each data in a plot but the code did not. Make the modifications
in Orca to support this feature.
17) When loading a configuration file, now do a complete check of it
for errors before quitting, instead of quitting after a single
error.
18) Include and require the following package updates: Digest::MD5
2.13, RRDtool 1.0.33 and Storable 1.0.11.
19) I have a new email address, blair at orcaware.com.
The following changes are what's new in orcallator.se 1.28 and the
orcallator.cfg file since version 1.23 which was included with Orca
0.26. All of the changes below are taken advantage of in the included
orcallator.cfg and start_orcallator files.
20) When orcallator.se was running on a system with an older version
of SE the p_vmstat.scan variable is an integer and the sprintf to
%8.3f fails, resulting in a perceived scan rate of 0 pages per
second. Now always add 0.0 to p_vmstat.scan to get a double.
21) Fix a typo where nil was misspelled as nik.
22) Make sure to check the return from stat() on the web server access
log in case the file is missing. Use fstat() instead of stat()
when a file descriptor is available.
23) Print the portion of time running in idle mode with some process
waiting for block I/O as wio% and otherwise completely idle time
as idle%. Update orcallator.cfg.in to fix a bug in plotting the
CPU usage plots where the idle% time was calculated by subtracting
the user percent time usr% and the system percent time sys% from
100%. This did not take into account the wait on IO time wio%
that the system measures and hence the idle% was overestimated.
Now plot the correct idle% and the wio%.
24) Recoded measure_disk() to access the RAWDISK interface to
sys_kstat device information to allow the activity on Sun's A1000
and Clariion Raid controller drives to be seen. Apparently the
pseudo drivers do not update the kstat interface. It is also
inverts the fix provided by version 1.23 to avoid over-counting md
devices. By suppressing stats from slices and metadevices and
instead reporting on full devices such as c0t0d0 or sd0. Note:
This may have introduced an interaction with the live_rules.se
class monitoring of drive performance. Prevent floppy disks and
tape drives from RAWDISK. Added wio% to measure wait time since
the idle calculation is wrong without this. Prevent filesystems
mounted under /snapshots from being seen. Patch contributed by
Alan LeGrand <alegrand at wallace.com>.
More information about the Orca-dev
mailing list