Syslog/iX for HP 3000 MPE

http://www.bixby.org/mark/syslogix.html
A true syslog() and syslogd for MPE
Last updated September 18, 1999 @ 0406 UTC


What's New


Welcome

This is the official home page for the HP 3000 MPE port of syslog() and syslogd. Check here for the latest news, implemented functionality, known bugs, to-do list, etc. Status reports about major milestones will also be posted to the HP3000-L mailing list and its associated gatewayed newsgroup comp.sys.hp.mpe.

I did this port because it is the foundation for other important packages such as BIND and sendmail.

Please send your comments, questions, and bug reports directly to me, Mark Bixby. Or just post them to HP3000-L.

The platform I used to do this port is an HP 3000 957RX running MPE/iX 6.0 and using the GNU gcc C compiler.

I would like to extend my sincere thanks to HP CSY for providing me with the resources and encouragement to do this port.

The combined porting wisdom from all of my ports can be found in my MPE/iX Porting Guide.

HP began shipping an official supported Syslog/iX bundled with MPE FOS as of 6.0.  HP will properly disavow any knowledge of the unsupported freeware version of Syslog/iX that you're reading about on this page.


System Requirements


What is syslog and why should I care?

Syslog is the standard event logging subsystem for Unix and consists of a server daemon, a client function library, and a client command line utility. You can log to files, terminal devices, logged on users, or even forward to other syslog systems. Syslog can accept data from the local system via an AF_UNIX socket or from any system on the network via an AF_INET UDP socket on port 514. It's pretty cool.

Log messages are prioritized by a combination of facility and urgency level.  The various facilities are listed below:
 
Facility name Description
kern kernel messages
user random user-level messages
mail mail subsystem
daemon system daemons
auth security/authorization messages
syslog internally generated syslogd messages
lpr line printer subsystem, including HP JetDirect interfaces
news Usenet news subsystem
uucp Unix-Unix Copy Program subsystem
cron clock daemon
local0 reserved for local use
local1 reserved for local use
local2 reserved for local use
local3 reserved for local use
local4 reserved for local use
local5 reserved for local use
local6 reserved for local use
local7 reserved for local use

The various urgency levels are listed below (note: this is an ordered list; when you specify a level in syslog.conf, you are selecting that level and all levels above it):
 
Level name Description
emerg system is unusable
alert action must be taken immediately
crit critical conditions
err error conditions
warning warning conditions
notice normal but significant conditions
info informational
debug debugging messages

The configuration file syslog.conf consists of a selector (one or more priority specifiers of the format facility.level) and an action.  Action syntax supported on MPE:
 
Action Description
* :TELL @.@
@.account :TELL @.account
@some.host.name forwards via UDP to another syslogd running on some.host.name
/some/file/name appends the message to /some/file/name
everything else assumed to be a userspec as in :TELL userspec

Many major Internet packages such as the BIND DNS server, the sendmail mail transport, and the INN Usenet server all log to syslog.

Many hardware devices like routers and HP JetDirect interfaces can be configured to log useful data to syslog.


How to Obtain Syslog/iX

  1. Download Syslog using either FTP.ARPA.SYS or some other client
  2. Extract the installation script
  3. Edit the installation script
  4. Run the installation script

Download Syslog using FTP.ARPA.SYS from your HP 3000 (the preferred method).....

:HELLO MANAGER.SYS
:XEQ FTP.ARPA.SYS
open ftp.bixby.org
anonymous
your@email.address
bytestream
cd /pub/mpe
get mover55.prvxl.telesup /tmp/mover55;code=nmprg;rec=128;disc=4096000
get syslog.mover.Z /tmp/syslog.mover.Z
exit

.....Or download using some other generic web or ftp client (the alternate method)

Download the following files (make sure that you use "binary mode" or whatever client feature that is 8-bit clean): Upload those files to your HP 3000 in an 8-bit clean bytestream manner to: Convert mover into something that is executable:
:HELLO MANAGER.SYS
:FILE MOVER55=/tmp/mover55;CODE=NMPRG;DISC=4096000
:XEQ FROMBYTE.HPBIN.SYS '-b /tmp/mover55b *MOVER55'

Then extract the installation script (after both download methods)

:CHDIR /tmp
:XEQ UNCOMPRE.HPBIN.SYS '/tmp/syslog.mover.Z'
:XEQ /tmp/mover55 '-xw /tmp/syslog.mover'
-------------------------------------------------------------------------
MOVER/iX (A.00.02)                  MPE iX - HP3000 System Support Tool
MON, AUG  7, 1995,  8:20 AM          Copyright Hewlett Packard Co. 1995
MOVER/iX is designed for use by Hewlett Packard Support personnel only.

HP SHALL NOT BE LIABLE FOR DAMAGES RESULTING FROM MISUSE OR UNAUTHORIZED
      USE OF THIS PROGRAM. THIS PROGRAM REMAINS THE PROPERTY OF HP.
-------------------------------------------------------------------------

Unloading truck '/tmp/syslog.mover':
 FCODE   SIZE     EOF       LIMIT      ACCESS  FILENAME
Creating directory(ies) in path: 'INSTALL'
     0     1B    4645  2147483647  -rwxr-xr-x  INSTALL
Extract? [Y] | N | Q:  Y
Creating directory(ies) in path: 'JSYSLOGD'
     0    79B       3           3  -rwxr-xr-x  JSYSLOGD
Extract? [Y] | N | Q:  Q

Edit the installation script

Examine the accounting structure creation commands and modify if necessary (adding additional capabilities, choosing a non-system volume set, etc).
:XEQ VI.HPBIN.SYS /tmp/INSTALL

Run the installation script

The SYSLOG accounting structure will be created and then all files will be extracted from the archive.
:XEQ SH.HPBIN.SYS /tmp/INSTALL

Distribution Highlights

README
what you're reading now
INSTALL
the one-time installation script you ran above
JSYSLOGD
the :STREAM job used to run SYSLOGD
SYSLOGD
the syslog server program
libsyslog.a
object code library expected by syslog()-using packages like BIND and sendmail
logger
client test command line program for generating syslog() calls
logger.1
man page for logger
syslog.3
man page for syslog() (not customized for MPE)
syslog.conf
configuration file for SYSLOGD
syslog.h
header include file expected by syslog()-using packages like BIND and sendmail
syslog.pid
Run-time process identifier (PID) of syslogd. For use with the kill(1) command.
syslogd.8
man page for SYSLOGD (not customized for MPE)

How to Compile Syslog

  1. make

How to Run Syslog

  1. Add a 'syslog 514/udp' entry to the file SERVICES.NET.SYS (you can also refer to this file as /etc/services, which is a symbolic link (i.e. alias) to /SYS/NET/SERVICES).
  2. Examine syslog.conf and customize for your own environment.
  3. :STREAM JSYSLOGD.PUB.SYSLOG
  4. Stop Syslog either by :ABORTJOB or kill `cat /SYSLOG/PUB/syslog.pid`

How to Test Syslog

  1. :XEQ /SYSLOG/PUB/logger '-p lpr.info testing 1 2 3'    (this will tell syslogd to print 'testing 1 2 3' on your system console)

MPE/iX Implementation Considerations

There some minor functionality issues to be aware of when comparing Syslog for Unix (Syslog/UX) to Syslog/iX:

Known Bugs Under Investigation


To-Do List


Change History


Mark Bixby