Dev

Sending SMS from Nagios

logo

Sometimes you need to be able to send SMS from a computer. This is obvious when you’re talking of monitoring your servers. Email alerts are good, but what if you’re sleeping ?
I used to set up a SMS modem, with it’s own SIM card and subscription. This is really easy, using smsd daemon, to send SMS. Just put a formated file in a directory and bam!, you SMS is fired.
But what when you can’t set a SMS Modem in a datacenter ?

Then you have to use an online SMS provider.

  • Good
  • you just have to call an API to send a SMS

  • BAD
  • it’s not free (you pay per SMS when the modem can have an unlimited SMS sending subscription
    it is network dependant ; if you have a network failure, you will never be informed

    Lire la suite de l’article »

    computer stuffs…

    The main purpose of this blog is to act as a reminder, a todo. Here are things i’ve just found and needs a second look at, or more, a testing.

  • Human readable Glassfish Log
  • This is a shell (sh) script that should made things easier when having a look or doing a « tail -f » at Glassfish error logs.

  • Rajeshwar’s Weblog
  • This is a blog, lately talking about Glassfish V3 REST api implementation. As far as I know this is (still) not working with GF v2, which already have JMX and, if you’re a registered Sun user, SNMP. But worth having a look.

  • Beet
  • It seems to me that most of developpers are using Spring framework nowadays. This tool should enable them (or force them ?) to have a deeper look of what the framework is actualy doing. Seriously, comments welcome. May be the weapon of choice for sysadmins like me, dealing with developpers who hide behing their framework (like if the framework was an excuse… huhuhu).

  • PandoraFMS
  • Another monitoring software… well… to be tested.

  • Oracle Database-backed iGoogle Gadgets
  • An interesting thing you can do with Google’s API… It should with any database, but hey, a free software working with Oracle is worth beeing mentioned :)

  • Other Oracle related articles
  • Oracle TimesTen In-Memory Database
  • This is a PDF file dealing with TimesTen Database. This is a product newly (2 or 3 years) bought by Oracle, and well integrated. Embed the database close to the application, in the application server. Data are replicated at startup. You can choose which database, which table, which data using a filter, or even do transformations to the data. You select the synchronization frequency and there you go. I had a session OOW 2009 about that and how it was used to break a CDN application in two parts : one for slow data change (read/write to the DB) and one for massive fast queries on the delivery side. Ok, this use a lot of RAM… but RAM is cheap isn’t it ?

    Now we have some cool things to read and test, don’t we ? :)

    Un peu de lecture…

    Tutoriel sur l’injection SQL : http://st-curriculum.oracle.com/tutorial/SQLInjection/index.htm

    Oracle Performance Tuning Guide

    Un bon blog sur Oracle : http://sysdba.wordpress.com/ 

    A lire sur Python / Django :

    VirtuelEnv, qui permet de gerer des « package d’installation » de Python, et garder la distrib de base « propre »
    Un exemple d’utilisation de VirtualEnv
    Un autre blogger qui parle de VirtualEnv (lire les commentaires)

    Et n’oubliez pas d’installer easy_install :)

    Building MacPorts Py-Mysql on Leopard

    If you installed over your old Tiger or if you are new user, you may have experienced errors when trying to build py-mysql.Py-mysql is a Python module to connect to Mysql.I’m using it to have Django, the Python Web Framework, to connect to Mysql database. This is what I got when trying to install :  

    # port install py-mysql
    --->  Building py-mysql with target build
    Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_python_py-mysql/work/MySQL-python-1.2.2" && /opt/local/bin/python2.4 setup.py build " returned error 1
    Command output: running build
    running build_py
    copying MySQLdb/release.py -> build/lib.macosx-10.3-ppc-2.4/MySQLdb
    running build_ext
    building '_mysql' extension
    /usr/bin/gcc-4.0 -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -fno-common -dynamic -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -Dversion_info=(1,2,2,'final',0) -D__version__=1.2.2 -I/opt/local/include/mysql5/mysql -I/opt/local/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 -c _mysql.c -o build/temp.macosx-10.3-ppc-2.4/_mysql.o
    In file included from /opt/local/include/mysql5/mysql/mysql.h:47,
                     from _mysql.c:40:
    /usr/include/sys/types.h:92: error: duplicate 'unsigned'
    /usr/include/sys/types.h:92: error: two or more data types in declaration specifiers
    error: command '/usr/bin/gcc-4.0' failed with exit status 1
    
    Error: Status 1 encountered during processing.
    

    I tried to upgrade MacPorts… but I already had the latest.

    # port selfupdate
    
    MacPorts base version 1.600 installed
    
    Downloaded MacPorts base version 1.600
    
    The MacPorts installation is not outdated and so was not updated
    selfupdate done!

    I finaly found the solution on http://rob.cogit8.org/blog/2007/Nov/14/installing-django-leopard-mac-os-105/

    Google is everywhere

    Google Chart

    One new API from Google. This one allow you to create charts (graphiques, pour les francophones).

    Philippe Mougin is our guest and comes with a clean example with integration to Apple’s Cocoa programming. Check this here.

    Faire du python dans automator (Leopard)

    http://toxicsoftware.com/run-python-script

    Voila le site d’une personne qui a une solution. Cela interessera particulierement mon ami Akhen, qui fete son anniversaire demain. Tiens, c’est pour toi : http://toxicsoftware.com/run-python-script/

    une fiche memo pour Django

    C’est pas nouveau mais je viens de tomber la dessus. Ca peut etre pratique, surtout que je vais essayer de m’y remettre un peu…
    bref, c’est ici