11/01/2016

Compress logs by date

Sometimes it happens to find a service which rotates logs but don’t rename them using an easy date format (for example logYYYYMMDD.log), that’s horrible if you have to archive those logs :\

Here is a simple bash script I use to compress them based file modification date, check comments for adapt it to your log names.

download: logmonth_1.0.sh
md5sum: 4b587eb3c2d9ac413d81a0bdc055c6cf

 

04/01/2016

2016 goals

Happy new year to all the four readers of this kender blog :)
I’m really happy that 2015 is gone, for me it was a really hard year, too much stress at work, to much time spent on stupid things and sadly to many people passed, relatives and people I really loved.

I think it’s a good habit to think at new goals for the new year, so that’s my list.

  1. Get rid of old OS’s
    At work and customers It’s plenty of old, really old systems based on Rhel 3, Rhel 4, Windows 2000 (yep, you read right, Windows 2000), Windows 2003.
    We always talk and plan to replace them with new OS’s but those activities always fall in the end of the to-do list, we got to move forward.
  2. Get an Oracle dbms certification
    It’s years I’m planning to get this damn OCA certification, this is the year I got to absolutely do this!!
  3. Move systems to virtualize environment
    I have too many systems and services running on old hardware, IBM xSeries 3xx, old DS4300 storage SAN and many other, I need to virtualize and get rid of these old machines.
  4. Push the KISS model
    Developers and commercials always try to push for more features and more complex environments, I have to push more and more for simple services and get rid of ridiculous complex services.
    If a web application can run an a simple and scalable Tomcat why you have to deploy it on that huge, complex and useless WebSphere Uber Application server cluster?
  5. Get a motocycle license
    Yes, It’s an old story and I reapeat it every year :)
  6. Swim
    I already have a swimming pool subscription in my hands (perhaps the most useful Christmas gift I ever had), It’s time to move my ass and start swimming.
    In past when I did it frequently I felt much better, much less stressed, my blood pressure problems vanished, no more headaches, all seemed better, so why don’t start again?
  7. Get a second Eve account
    I know that’s the less importart, but after a year of Eve experience I feel I’m ready for a second Eve account, my income from planetary interaction can cover a monthly plex so I think it’s the time to make this step.Maybe a Jumpfreighter pilot? :)

10/11/2015

Nagios check_oracle_health

Here we are with a new monitoring post, and remember, every day spent working on Nagios is always a great day! :)

This time I want to talk about an awsome Nagios plugin made by ConSol Labs named check_oracle_health.
As you can imagine this extension works on Oracle database and it’s really incredibly helpful for every sysadmin who works with this product, It’s super easy to implement, It’s super easy to understand and It’s super light and efficient compared to the monstrous official Oracle Enterprise Manager.

Assuming you already have a fully functional Nagios server (it’s not important which versions, I tried this plugin on version 2.9 until the latest) you can choose to install check_oracle_health on the Oracle server itself or on another server who has Oracle client with sqlplus installed (to be honest I haven’t tried this second scenario, but I think can work in the same way).
The plugin can work with perl DBD::Oracle or sqlplus client, in this tutorial I will use sqlplus.

First of all download the plugin tar.gz archive, decompress it and enter in its directory

1

After that procede with the classic configure+make+make install procedure like any other GNU/Linux software source, if you want you can change some options, try “./configure –help” for more informations.

2

3

4

Ok, now we have our plugin ready to work, try to launch /usr/local/nagios/libexec/check_oracle_health to verify it’s ok (check the path if you changed it during the configure phase).
Now the nasty part, as I said I will use sqlplus, which require you’ll set the right environment variables to work (NLS_LANG, ORACLE_HOME, ORACLE_BASE, PATH); you can find them logging the database user (for example oracle) and check the user profile (for example inside the ~/.bash_profile).

5

In our scenario we will use nrpe to remotely run our Nagios services, so we have to export this variables for nrpe daemon, to do this you can insert these variables inside the init script for the nrpe daemon (/etc/init.d/nrpe) or inside any incuded file (for example /etc/sysconfig/nrpe) or inside the unit file if you use systemd.

Now on the Oracle database we have to create a user for the plugin and give it the right grants, you don’t want it to use sys or system, don’t you?
Export your ORACLE_SID variable with the right SID, log into sqlplus and launch these commands (change [PASSWORD] with your supersecure password):

create user nagios identified by [PASSWORD];
grant create session to nagios;
grant select any dictionary to nagios;
grant select on V_$SYSSTAT to nagios;
grant select on V_$INSTANCE to nagios;
grant select on V_$LOG to nagios;
grant select on SYS.DBA_DATA_FILES to nagios;
grant select on SYS.DBA_FREE_SPACE to nagios;

8

Now let’s change the /etc/nagios/nrpe.conf file, the objective is to create a single nrpe command that will be useful for every service we will define inside Nagios configuration.
To archive this you can use this syntax, it uses command arguments so you need dont_blame_nrpe=1 directive inside the nrpg.conf file or arguments will not work.

command[check_oracle]=/usr/local/nagios/libexec/check_oracle_health --connect $ARG1$ --method sqlplus --user nagios --password [PASSWORD] --mode $ARG2$ --warning $ARG3$ --critical $ARG4$

The arguments are quite simple:

  • ARG1 is the SID of the database we want to monitor (check your tnsnames.ora file)
  • ARG2 is the specific check we will do with check_oracle_health (read the official documentation for a full list of modes)
  • ARG3 is the warning threshold (%)
  • ARG4 is the critical threshold (%)

9

Restart nrpe daemon to activate all the changes

10

Now let’s try if everythin works, on the Nagios server launch the check_nrpe plugin to simulate what Nagios daemon will do.
This is the syntax:

check_nrpe -H [host or ip address of nrpe server] -c [nrpe command] -a [list of arguments separated by space]

Remember arguments we defined inside the nrpe.conf file:

  • ARG1 is the SID, for example MYORADB
  • ARG2 is the specific check we will do, for example tablespace-usage
  • ARG3 is the warning threshold, for example 80%
  • ARG4 is the critical threshold, for example 90%

11

The last thing you have to do is to finally configure the nrpe service inside Nagios, here is an example of the syntax:

define service{
  use generic-service
  host_name uberoracle.domain.local
  service_description ORACLE tablespaces use
  check_command check_nrpe!check_oracle!MYORADB tablespace-usage 80 90
  }

Our shiny new Oracle monitor! (on an ugly old Nagios 2.9…)

12

01/10/2015

Dell OMSA https problem

Hi, first of a long (I hope) series of posts in english, I have to get used to it and I think the topic is useful not only to me but also to a few people around the web.

I noticed some problem logging to Dell OMSA through https protocol with new browsers, the problem came from the new security features and the more restrictive browser behavior with this protocol.
Here’s the error accessing OMSA with Google Chrome v. 45.x (ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY)

omsa_https_01

The solution is quite simple, log into OMSA using an older browser (for example Firefox v. 30) and browse to Preferences (link on the homepage header) –> General Settings, and change the SSL Encryption field to “Auto Negotiate”.

omsa_https_02

After that log into your server console and restart OMSA services (in GNU/Linux with srvadmin-services.sh script)

omsa_https_03

Now try to log into OMSA using the newest browser… et voilà!

omsa_https_04

04/09/2015

Diario di un niubbo spaziale, episodio 4

Eve ha molte differenze rispetto altri mmo o mmorpg, ma una cosa che ha certamente in comune è la comunità italiana.

Non chiedetemi perchè ma in ogni gioco noi italiani riusciamo a mandare in vacca ogni iniziativa positiva o degna di nota, nella migliore delle ipotesi passiamo il tempo a litigare tra noi senza alcun ritegno.
Se ci integriamo in gruppi internazionali sappiamo essere eccezionali, fantasiosi, affidabili, disposti a grandi sacrifici, competenti ed estremamente abili, ma una volta in gruppo con altri connazionali finiamo sempre con il litigare l’un l’altro oppure a flammare da mattina a sera su forum e chat varie.
In particolare siamo maestri nell’arte jedi del “si stava meglio quando si stava peggio” oppure nell’evocare presunte superiorità di un gruppo rispetto ad un altro, spesso proclamando il proprio come l’unico vero e inimitabile depositario del puro spirito italiano.
Purtroppo ho vissuto questa brutta tendenza su Lotro, e dal fallimento dell’ottimo progetto di alleanza totalmente italiana ho visto succedere lo stesso anche su Eve Online.

C’è un ulteriore aspetto che però fomenta i flame su Eve, ovvero l’appartenenza alle varie fazioni e l’annessa sindrome del “player elite pvp”.
Dovete sapere infatti che molti giocatori di Eve smaniano all’idea di essere i migliori pvp players del gioco, in particolare del pvp in solitaria, gonfiando il petto ad ogni kill guadagnata in solitario oppure con un piccolo gruppo di compari.
Va da se che costoro vedano il pvp fatto in gruppi corposi (corp o alleanze che siano, non parliamo poi di operazioni colossali organizzate da intere coalizioni di alleanze) come il male assoluto, una pratica riprovevole e utile soltanto ai newbie o senza esperienza pvp, insomma ai giocatori inferiori.
Persino le pratiche tipiche delle grosse flotte, come il fatto di seguire un comandante (detto “anchor”) in combattimento è sintomo di pochezza, di immaturità, di scarsa capacità o di gioco stupido (forse il detto “nessuno nasce imparato” non è più di moda); da notare poi che in molti casi chi afferma questo sono persone che hanno giocato in queste condizioni da molto tempo, e magari solo dopo anni e anni di esperienza hanno maturato le capacità e una visione tattica tali da permettergli di valutare autonomamente le condizioni di gioco e agire di conseguenza.

In questi giorni abbiamo tenuto una importante riunione di corp, la prima dopo tanto tempo e soprattutto dopo la nostra adesione a una grossa alleanza (la quale fa parte della più grande e potente federazione del gioco), durante questo incontro sono emerse diverse critiche al modello di gioco dell’alleanza, vista da alcuni (pochi a dire il vero) come un carrozzone dove vivere tranquilli e in pace, annoiandosi rattando e farmando come cinesi impazziti, insomma lamentandosi dei pochi stimoli forniti dall’alleanza.
Non è la prima volta che sento criticare il gruppo in cui siamo entrati (Circle of Two), li ho sentiti etichettare in tutti i modi di cui nessuno positivo, insomma l’ultima ruota del carro della federazione, spesso portando come dimostrazione la killboard delle operazioni condotte dalla stessa oppure il bilancio delle risorse perse.

L’altra sera però è successo qualcosa che avrebbe dovuto far riflettere tutti, siamo partiti in 250 per una flotta e alla fine della serata avevamo portato a casa un bilancio in isk piuttosto negativo ma avevamo ingaggiato non una, ma ben cinque diverse flotte di cinque diverse alleanze, creando scontri, gatecamp, rappresaglie coinvolgendo alla fine circa 1000 giocatori, il tutto condotto in modo più che buono e facendo venire la tachicardia ad ogni membro della flotta.
Insomma una serata FANTASTICA, divertimento assicurato per tutti, scontri epici (ne più ne meno come quelli dei bellissimi trailer della CCP), grande direzione e una quantità impressionante di content generato in game, insomma fatti e non pugnette.
Forse altri gruppi avrebbero potuto limitare le perdite o mietere più vittime, molti probabilmente non sarebbero nemmeno scesi in campo viste le condizioni non totalmente favorevoli, altri avrebbero optato per una ritirata strategica all’inizio del fight; quello che però importa imho è che l’alleanza abbia creato qualcosa di emozionante, coinvolgente e divertente, delle navi o dei soldi persi francamente me ne importa ben poco (senza contare che le navi sono state tutte rimborsate dall’alleanza stessa, altro vantaggio di un gruppo organizzato).

Se mai qualche nuovo giocatore di Eve dovesse leggere questo post il mio consiglio è quello di non lasciarsi abbindolare da guru pvp o presunti tali, chiedete informazioni e imparate il più possibile da chiunque ne sappia più di voi, ma valutate sempre la visione del gioco in modo molto critico.
Cercate di capire cosa vi piace fare e non lasciatevi influenzare dalle preferenze altrui (sacrosante e rispettabilissime, per carità), ignorate i pettegolezzi malevoli e prima di valutare un gruppo focalizzatevi su cosa può offrirvi e se questo va nella direzione del vostro divertimento.

Se invece siete giocatori esperti permettetemi di dare un consiglio anche a voi, aiutate le nuove leve ma ricordate sempre che la vostra esperienza e il vostro vissuto in game sono totalmente ignoti a loro; provate a riflettere sulle motivazione per cui un determinato modo di giocare vi annoia, forse avete giocato troppo tempo nello stesso modo, quello che però a voi può sembrare scontato e stantio potrebbe essere del tutto nuovo e stimolante per un novellino.

PS: ancora 3 giorni e finalmente potrò portare delle navi logistiche tech 2! Sempre più pro! :D

« Post precedenti | Post successivi »