Home | Documentation | Downloads | FAQ | Live demo | Mailing Lists | Screenshots | Subversion |
In order to install SisIYA from source just get the sources from the Subversion using the following command :
svn co https://sisiya.svn.sourceforge.net/svnroot/sisiya sisiya
or form the Downloads section. And give the following commands:
make make install
make configures and compiles the sources. make install installs them. The make command does executes the following commands :
cd src/ && ./bootstrap create && ./configure make && cd .. cd edbc/ && make clean && make && cd .. cd sisiya_server/ && ./bootstrap create && ./configure && make clean && make && cd ..
The make install command does executes the following commands :
cd src/ && make install && cd .. cd sisiya_server && make install && cd .. cd edbc && make install && cd ..
At the moment src, sisiya_server and edbc use different configure and make files and options. This is the reason why I need
to configure, compile and install them with seperate commands. On the top level of the source directory there is a Makefile which has the
above commands in one place. Please refere to this Makefile for up-to-date compile information.
./bootsrtap create command initializes the autoconf/automake environment.
./configure
configures the sources.
make compiles the sources and make install installs SisIYA. Install targets accept
"install_root=/new_root_dir" parameter, so that you can install relative to the new_root_dir. Install scripts are designed
and tested under CentOS 4.2, Fedora Core 4 and RedHat ES4. But I am going to modify them and make them compatible with
other systems. At least I am going to read the LSB and try to be comformed with it.
If your system is not one of the tested systems, you can modify the corresponding files and run the above commands again.
Or just let me know and I would be very glad to help you.
This is the preferred way of installing SisIYA on Linux. There are different packages to install on:
sisiya-edbc-libs-<version>.i386.rpm
sisiya-server-<version>.i386.rpm
sisiya-server-checks-<version>.i386.rpm
sisiya-client-checks<version>.i386.rpm
sisiya-client-systems-<version>.i386.rpm
sisiya-dbscripts-<version>.i386.rpm
sisiya-php-<version>.i386.rpm
Every package hase its own version, because the development is at different stages for each package. The RPM's spec
file contains the version information.
sisiya-edbc-libs package contains shared libraries used by the sisiyad for database operations. This package
is a database connectivity framework written in C++ and for C++ applications. It is far from a complete framework, but
it meets all requirements that SisIYA needs.
sisiya-server package contains the sisiyad daemon which recieves messages from the client systems and
records them in the database. This computer must be accessible from all your client systems.
sisiya-server-checks package contains scripts and programs to check your systems remotely. Therefore you are
going to need access from this computer to your clients that are going to be checked remotely. Normally I install
this package on the same computer, on which the sisiya-server package is installed. This is also the reason for
the package name. These scripts and programs are used to check your systems and send the results to the sisiyad
server.
sisiya-client-checks package contains the software for your clients. There are 5 check scripts available with this
package. These are checks for filesystem, swap, system, load and users.
sisiya-client-systems package contains your site specific hostname directories, which in turn contain
checks that are special for every system. More on this package later.
sisiya-dbscripts contains scripts and SQL files to initialize the SisIYA database. Normally you will
need this package only to initialize the SisIYA database. After that you can use the SisIYA's administration
web interface. This package does not have to be installed on the database server.
sisiya-php contains the web interface to SisIYA. There is also an administration web interface. These
scripts are written in PHP for Apache. The web interface scripts support PostgreSQL and MySQL databases.
Install
sisiya-edbc-libs
sisiya-server
sisiya-server-checks
sisiya-dbscripts
sisiya-php
on the SisIYA server. The SisIYA server is the computer which is going to be used to monitor your systems.
Actually you could install all these components on different computers.
Install the following packages
sisiya-client-checks
sisiya-client-systems
on your client systems. A client system is computer which is going to be monitored by the SisIYA server. You can also
install these packages on the SisIYA server itsel in order to monitor it.
I would recommend that you rebuild the sisiya-client-checks and sisiya-client-systems packages according to your needs. In the sisiya-client-checks package you would need to chanage the hostname for your SisIYA server, which is specified in the sisiya_client.conf file. The sisiya-client-systems package contains directories which are your client systems' hostnames. In these directories you can create soft links to the scripts in the special directory, which comes with the sisiya-client-checks package. And change the default values for error and warning.
In order to build the SisIYA RPM packages:
You will need a Java SDK installed on your build computer. This is needed to compile the SISIYACheckDB.java program, which
is used to check the database systems.
It is usefull to build the SisIYA packages and customize them for your needs. You can use the sisiya-<version>.src.rpm package or you can get the SisIYA sources from cvs server. See SisIYA homepage
for more information on obtaining the sources. If you would like to use the sisiya-<version>.src.rpm follow the
following steps:
I would like to explain the customization (step 3) a little bit more:
rpm2cpio sisiya-<version>.src.rpm | cpio -i
tar xvfz sisiya-<version>.tar.gz
Note: The version here does not contain the release part, which has the source RPM package.
rpmbuild -ta sisiya-<version>.tar.gz
mkdir sisiya_local_dir
vi sisiya_local_dir/local_confs.conf
And enter the following line:
sisiya_server=sisiya.example.org
admins_mail=sisiyaadmins@example.org
Change the sisiya_server and admins_mail according to your needs. The sisiya_server contains the name or IP address of
the server, where the sisiya-server package is installed. The admins_mail contains the e-mail address or e-mail
addresses separete by a comma. Some SisIYA scripts send e-mails to the SisIYA admin(s) requiring attention of the admin.
db/
sisiya_ui/images/
sisiya_server_checks/
sisiya_check/systems/
Customization is an advanced topic which requires in depth knowledge of SisIYA. For more information read the SisIYA administration guide.
At the moment SisIYA supports only MySQL and PostgreSQL database systems. The sisiya-dbscripts package
contains scripts for an initial database configuration. Those scripts help you to create the SisIYA database
and populate it with initial data. Change into the /opt/sisiya-dbscripts directory.
Here is a short description of some files in the /opt/sisiya-dbscripts directory:
Use
man sisiyad
and
man sisiyad.conf
commands to get information about the SisIYA daemon and its configuration file. Don't forget to check and
maybe edit the database related configuration part of the sisiyad.conf file.
The sisiya-php package installs SisIYA's PHP GUI under the /var/www/html/sisiya directory. There is
file called dbconf.php. Here you can edit and change values for the following database configuration parameters:
$dbType="MySQL"; # valid values are MySQL and PostgreSQL
$db_server="localhost"; # host name or IP address of the the SisIYA's database
$db_user="sisiyauser"; # the username to connect to the SisIYA's database
$db_password="sisiyauser1"; # database user's password
$db_name="sisiya"; # name of the SisIYA's database
If you have installed SisIYA's database using the sisiya-dbscripts package scripts, then you can use the initial
administration user admin with password sisiyaadmin1. After successfully accessing the GUI interface, you
can change the password for this user or generate another admin or general users. The difference between admin
users and general users is that general users do not have all permissions that admin users have. The admin user interface
is accessable through the monitoring interface or directly by specifying sisiya_adm.php. For example:
http://sisiya.example.org/sisiya_adm.php
Clients are configured through the sisiya_client.conf configuration file under the /opt/sisiya_client_checks directory.
This file is installed on every computer, which is going to be monitored by SisIYA. Here is a partially listing of the
sisiya_client.conf file:
### SisIYA Server's name or IP address
SISIYA_SERVER=127.0.0.1
### SisIYA server port on which the SisIYA daemon is listenening
SISIYA_PORT=8888
###
### Field seperator, used to seperate fields in the SisIYA message
SP="~"
##########################################################
sisiya_hostname=`hostname`
sisiya_base_dir="/opt/sisiya_client_checks"
sisiya_bin_dir="${sisiya_base_dir}/bin"
sisiya_host_dir="${sisiya_base_dir}/systems/${sisiya_hostname}"
send_message_prog="${sisiya_bin_dir}/sisiya_send_message.sh"
send_message2_prog="${sisiya_bin_dir}/sisiya_send_message2.sh"
sisiyac_prog="${sisiya_bin_dir}/sisiyac"
sisiya_functions="${sisiya_bin_dir}/sisiya_functions.sh"
### status ids
status_info=0
status_ok=1
status_warning=2
status_error=3
###
### service ids, these IDs must be identical with IDs in the SisIYA database
serviceid_system=0
serviceid_filesystem=1
serviceid_cpu=2
serviceid_swap=3
serviceid_load=4
serviceid_smtp=5
This configuration file is actually a BASH script. This configuration file is included from all SisIYA check scripts.
Therefore, BASH syntax apply to this script.
SISIYA_SERVER is the name or the IP address of the SisIYA server. SISIYA_PORT is the the port number where
the SisIYA daemon listens on. sisiya_hostname is the name of the system (in this case the name of the client) for
which the checks are performed. The SisIYA daemon checks this name before recording the results of the checks. Therefore,
it must be a name whic also exists in the SisIYA's database. The sisiya_hostname can either be short hostname or
a fully qualified hostname. The value of this parameter (sisiya_hostname) is also used by the sisiya_all.sh
script to locate the host's systems directory under the /opt/sisiya_client_checks/systems directory. Under this directory
(/opt/sisiya_checks/systems/$sisiya_hostname) are the links to special checks for this system and/or config files
for various scripts. For more info about SisIYA scripts refer to the
SisIYA Administration Guide. SP is the field seperator used to
seperate fields in the SisIYA message. sisiya_base_dir is the top level directory where the SisIYA client package
is installed to. sisiya_bin_dir is the directory where SisIYA binaries and scripts reside. sisiya_host_dir
is the directory where the customization conf files and links to the spacial scripts reside. send_message_prog
is a script, which is used to send one SisIYA message at a time to the SisIYA server. send_message2_prog is another
script, which is used to send multiple SisIYA messages to the SisIYA server. Both of these scripts use the
sisiyac_prog for sending the SisIYA message to the SisIYA server. sisiya_functions is a BASH script,
which contains common functions used in the SisIYA check scripts. status_info, status_ok,
status_warning and status_error are the all possible status IDs used in SisIYA. You do need to change these
status values, unless you also change them in the database. The rest of the configuration file contains service IDs for
various SisIYA checks. These values must also correspond to those in the SisIYA database.