Jul 10 2007

Awstats on Tomcat

Catégorie : Linux,Tomcat,Web serverCharles Collier @ 11:35 pm

Added on September 4th, 2008

The original war file is no longer available, please find a copy here

 

I’ve found this little tutorial two years ago and it helps me a lot with awstats on tomcat, i hope it can be useful for you….

AwStats
Author: John Smith (first website found) it seems to have a mirror here

Tomcat statistics

Requirements

  • Perl 5.2 or above
  • Tomcat 5 (I can’t see any reason for Tomcat 4 not to work, I haven’t tried it, though)
  • awstats.war file (see downloads) >> The original war file is no longer available, please find a copy here

Changing Tomcat access logs format

Tomcat access logs format isn’t exactly what we need. We could also have modified AWStats configuration files, but with the loss of important information. Thus, let’s make Tomcat logs compatible with AWStats. Logs are configured in [Tomcat_install]/conf/server.xml. They might look something like:

<Valve className=“org.apache.catalina.valves.AccessLogValve” directory=“logs” prefix=“localhost_access_log.” suffix=“.txt” pattern=“common” resolveHosts=“false”/>

Normally this lines are commented. Just take in mind they should appear, uncommented, within your Host definition.

We will replace the valve definition with this one:

<Valve className=“org.apache.catalina.valves.AccessLogValve” directory=“logs” prefix=“www_mydomain_com_access_log.” suffix=“.log” pattern=“combined” fileDateFormat=“dd-MM-yy” resolveHosts=“false”/>

Enable Perl scripts

Tomcat has disabled by default CGI executions. This is because CGIs do not conform Tomcat security box. But we know exactly what we are going to do, aren’t we ….. ?

The only thing you need to do is renaming [Tomcat_install]/server/lib/servlets-cgi.renametojar to [Tomcat_install]/server/lib/servlets-cgi.jar. This will enable AWStats Perl scripts to execute on Tomcat server. When it’s done, restart Tomcat.

There is something more done through awstats.war file’s web.xml. You might want to look at this file once downloaded.

Install AWStats

AWStats is included in awstats.war file, therefore you will not need to install AWStats by hand.

Deploy awstats.war file. Will suffice copying this file into [Tomca_install]/webapps folder, but in case your Tomcat is configured not to auto-deploy war files, unzip it yourself. By default would create an [Tomca_install]/webapps/awstats folder.

Although you could change default context, isn’t a good idea. At least not to start with. Better make it work and then think about changing things.

Configure AWStats

This is the hardest part, did you already take a coffe?

First we will make some assumptions, are these ones:

  • awstats.war was deployed into /awstats default context. See Install AWStats.
  • Our domain is www.mydomain.com.

Now, go to [Tomca_install]/webapps/awstats/WEB-INF/cgi-bin folder. Next instructions make the assumption this is your current working folder.

  1. Copy awstats.model.conf into awstats.www.mydomain.com.conf.
  2. Edit awstats.www.mydomain.com.conf.

You can use any text editor of your preference. Now, we will change some file default values. You must look for the attributes and change their values as shown below:

LogFile="[TI]/webapps/awstats/WEB-INF/tools/logresolvemerge.pl [TI]/logs/*.log |"

LogType=W

LogFormat=1



LogSeparator=" "



SiteDomain="www.mydomain.com"



DNSLookup=1



DirData="."



DirCgi="/cgi-bin"



DirIcons="/awstats/icon"

Remember replacing [TI] with full path to Tomcat. And www.mydomain.com with your domain name.

Update site statistics.

Here you have two choices:

  1. Set AllowToUpdateStatsFromBrowser=1 in awstats.www.mydomain.com.conf file, see above. This will allow updating from the web browser with: http://www.mydomain.com/awstats/cgi-bin/awstats.pl?config=www.mydomain.com&update=1.
  2. Using Telnet or SSH, go to [Tom ca_install]/webapps/awstats/WEB-INF/cgi-bin folder and run perl awstats.pl -config=www.mydomain.com -update.

View site statistics.

Type http://www.mydomain.com/awstats/cgi-bin/awstats.pl?config=www.mydomain.com. That was all.

Creating separated domain statistics.

From the instructions above, everything is valid for creating separated domain statistics, except for one thing:

Inside your awstats.www.mydomain.com.conf we said:

LogFile=“[TI]/webapps/awstats/WEB-INF/tools/logresolvemerge.pl [TI]/logs/*.log |”

This line was gathering the whole set of log files, and this is against having statistics appart for each domain. We should replace this line to match the log files for the corresponding domain, as we said when changing Tomcat access logs format:

LogFile=“[TI]/webapps/awstats/WEB-INF/tools/logresolvemerge.pl [TI]/logs/www_mydomain_com*.log |”

Important! Don’t omit the asterisk in pointing the log files. Take in mind that Tomcat will create an access log file for each day, and that final file’s name will include the date.


Jun 15 2007

Information Request

Catégorie : Linux,Nagios,News,Oracle,Supervision,Tips and tricksCharles Collier @ 12:06 am

You’d like to have a post or a tutorial about linux (redhat, fedora) Oracle (database, 10g, RAC or OAS – oracle application suite), Nagios, Cacti,…

Feel free to ask and i’ll try to answer to your question.
Leave a comment with your question.


Jun 07 2007

Oracle start/stop init script

Catégorie : Database,Linux,Oracle,Oracle DatabaseCharles Collier @ 12:05 am

#################################
# Oracle Start/Stop init script #
# v1 – nuxora.com #
#################################

case “$1″ in

start)
echo -n “Starting Oracle Databases: ”
echo “—————————————————-” >> /var/log/oracle
date +”! %T %a %D : Starting Oracle Databases as part of system up.” >> /var/log/oracle
echo “—————————————————-” >> /var/log/oracle
su – oracle -c dbstart >> /var/log/oracle
echo “Done.”
echo -n “Starting Oracle Listeners: ”
su – oracle -c “lsnrctl start” >> /var/log/oracle
echo “Done.”
echo “”
echo “—————————————————-” >> /var/log/oracle
date +”! %T %a %D : Finished.” >> /var/log/oracle
echo “—————————————————-” >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
stop)
echo -n “Shutting Down Oracle Listeners: ”
echo “—————————————————-” >> /var/log/oracle
date +”! %T %a %D : Shutting Down Oracle Databases as part of system down.” >> /var/log/oracle
echo “—————————————————-” >> /var/log/oracle
su – oracle -c “lsnrctl stop” >> /var/log/oracle
echo “Done.”
rm -f /var/lock/subsys/oracle
echo -n “Shutting Down Oracle Databases: ”
su – oracle -c dbshut >> /var/log/oracle
echo “Done.”
echo “”
echo “—————————————————-” >> /var/log/oracle
date +”! %T %a %D : Finished.” >> /var/log/oracle
echo “—————————————————-” >> /var/log/oracle
;;
restart)
echo -n “Restarting Oracle Databases: ”
echo “—————————————————-” >> /var/log/oracle
date +”! %T %a %D : Restarting Oracle Databases as part of system up.” >> /var/log/oracle
echo “—————————————————-” >> /var/log/oracle
su – oracle -c dbstop >> /var/log/oracle
su – oracle -c dbstart >> /var/log/oracle
echo “Done.”
echo -n “Restarting Oracle Listeners: ”
su – oracle -c “lsnrctl stop” >> /var/log/oracle
su – oracle -c “lsnrctl start” >> /var/log/oracle
echo “Done.”
echo “”
echo “—————————————————-” >> /var/log/oracle
date +”! %T %a %D : Finished.” >> /var/log/oracle
echo “—————————————————-” >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
*)
echo “Usage: oracle {start|stop|restart}”
exit 1
esac


Jun 06 2007

Cacti – présentation

Catégorie : Cacti,Linux,SupervisionCharles Collier @ 10:26 pm

Cacti est un logiciel de monitoring. Il est souvent classé parmi les logiciels de supervision (comme sur nuxora ;-) il est classé au meme endroit que Nagios exemple) mais il n’est pas fait pour etre un lociel d’alerte.
Basé sur la puissance de stockage de données de RRDTool. Il combine les avantages et concepts de MRTG avec RRDTool, tout en les restituant dans une nouvelle interface web  (php/mysql) beaucoup plus convivial.

Cacti permet à l’aide de SNMP ou de script (shell, bash, perl, php, sql…)de representer graphiquement l’evolution dasn le temps de points de mesures: CPU, espace disque, utilisation RAM, swap, nombre de connexion Oracle, hit sur un serveur web (apache),…..

La force de cacti se traduit par l’existence de template que l’on peut directement appliquer sur un serveur. Prenons l’exemple d’un serveur web (apache+mysql), il suffira de choisir le template correspondant à ce type de serveur (il faudra au préalable l’avoir défini une premiere fois) et nous aurons directemen en place, les mesures de base lié au serveur (CPU, disuqe, RAM…) mais aussi pour apache (hits, …) et mysql (nb de transactions,….)

Cet outil est complémenatire à Nagios et vous permettra au mieux de suivre jour apres jour l’evolution de vos serveurs, de réaliser aisnsi du capacity planning mais aussi de diagnostiquer des incidents en etudiant les courbes de la veille. Combiné à Nagios, ce duo supervison/monitoring se rendra vite indispensable une fois installé.


Jun 06 2007

Nagios – présentation

Catégorie : Linux,Nagios,SupervisionCharles Collier @ 10:22 pm

Nagios (anciennement appelé Netsaint) est un logiciel de supervision sous licence GPL. Il permet de surveiller un Système d’information intégralement. Son fonctionnement est très simple, un moteur ordonnance l’ensemble des taches de supervision. Ces taches unitaires sont le résultat de l’utilisation d’un plugin. Il existe aujourd’hui plus d’une centaine de ces plugins. Un plugin est un petit programme, ou script qui va tester le bon fonctionnement d’un service/programme/équipement/…. Le résultat s’affiche à travers une console web (paramétrable avec différents filtres, pour obtenir des vues métiers/opérationnelles/…) et indique un des 4 états possibles:

  1. OK (tout va bien)
  2. WARNING (le seuil d’alerte est dépassé)
  3. CRITICAL (le service a un problème)
  4. UNKNOWN (impossible de connaître l’état du service)

Les différents points pouvant être supervisés sont quasi illimités, tout ce qui peut être scripté est “supervisable”. Les services SMTP, POP3, HTTP, NNTP, ICMP, SNMP, LDAP ,… n’importe quel service windows ou daemon linux, la CPU, l’espace disque, la RAM…. L’ensemble de cette supervision est réalisé à l’aide:

  • d’une interrogation directe en snmp
  • d’un script shell
  • d’un plugin codé en C++, Perl, Python, Ruby, PHP, C#, …..

Le tout pouvant être encapsulé dans une connexion ssh et/ou à travers un tunnel SSL

Ces tests peuvent être faits de trois manières:

  • à distance et de façon continue (depuis le serveur Nagios)
  • depuis le serveur cible et de façon continue(en faisant appel à NRPE – Nagios remote plugin execution)
  • Depuis le serveur cible et en cas d’alerte (a l’aide du daemon NSCA qui scrute en permanence l’état du service à monitorer et ne renvoie une information qu’en cas de changement d’état)

Les “filtres” pour créer des vues sont paramétrables et permettent de configurer l’accès suivant les personnes/groupes qui peuvent alors acquitter par exemple des alertes ou en recevoir suivant leur appartenance à des groupes via mail/sms

J’utilise Nagios depuis 2004, c’est un tres bon produit. Comme pour tous logiciels, il est perfectible, mais se distingue vraiment par rapport à ses concurrents (propriétaire inclus)

Liens:
Nagios
Nagiosexchange (un site regroupant beaucoup de plugins)


Jun 01 2007

Fedora 7

Catégorie : Linux,NewsCharles Collier @ 12:38 pm

The new release of Fedora is avalaible: “Fedora 7″.

 Here are the new features:

  • Kernel 2.6.21 (what’s new deals with FireWire, Hard drive P-Ata, Wifi)
  • Xen 3.1 and KVM
  • Smolt
  • GNOME 2.18
  • KDE 3.5.6
  • Compiz 0.3.6
  • Firefox 2.0
  • Thunderbird 2.0
  • OpenOffice.org 2.2
  • KOffice 1.6.2
  • The Gimp 2.2.14
  • Dev.Eclipse 3.2, Mono 1.2.3, Python 2.5

Please remember also to use “Pungi” to create your own linux distribution

Download it and test it : FedoraProject.org.


May 30 2007

NuxOra a marqué une petite pause

Catégorie : Linux,News,OracleCharles Collier @ 12:18 am

NuxOra a marqué une petite pause durant fin Avril et le mois de Mai et sera de nouveau actif des le debut du mois de Juin.

Les projets en cours:

  • La documentation Jboss
  • Une documentation OAS d’administration
  • Quelques notes sur la 10g RAC peut-etre
  • L’avancée du projet NuxOra.net et mes scripts de déploiement automatique Linux, Oracle, Apache, TSM, ….

Apr 11 2007

Debian v.4 – Etch

Catégorie : Debian,Linux,NewsCharles Collier @ 11:23 pm

La derniere version de Linux Debian est enfin sortie: version 4 avec pour nom de code Etch.

Longtemps retardé Etch voit enfin le jour. La version supporte onze architectures, Gnome (moteur graphique) a été mis jour, Etch embarque également Iceweasel et Icedove, des versions respectives de Firefox et Thunderbird, mais dépourvues de la marque Mozilla.


« Page précédentePage suivante »