Welcome to It-Slav.Net blog
Peter Andersson
peter@it-slav.net

I've already got a female to worry about. Her name is the Enterprise.
-- Kirk, "The Corbomite Maneuver", stardate 1514.0
18
Dec

Press release:

Open Source Management company op5 expands into Ireland

Partners with Irish enterprise IT solutions company SecureLinx

Stockholm, the 18 December 2008 – Leading Open Source Management Company op5 partners with Irish enterprise IT solutions company SecureLinx. The new partnership is the latest move by op5 to expand its international channel business, which has grown with several new partners in key European markets during fall.

op5 is growing and is now expanding in Europe. Working in partnerships with local expert companies like SecureLinx is fundamental to assure high quality customer satisfaction in any international market. We are excited about this partnership and we see great potential for business in Ireland, says Jan Josephson, Business Development Manager at op5.

Securelinx is an enterprise IT solutions company and leading Novell channel partner providing software, professional services, training and support options to customers in Ireland and UK.

Their solutions combine award-winning software with a unique blend of field experience and expertise to help customers better secure, simplify and manage their IT environments at low cost.

We are partnering with op5 as we see a growing requirement from our enterprise customers to broaden our support portfolio to include a systems monitoring element. As a company with a strong track record with both Linux and Open Source solutions, we had a solid familiarity with the underlying technologies that op5’s tool sets use. The fact that these tool sets are further enhanced and professionalised by a successful company like op5 provides us with an excellent solution to confidently put before our customers, says Brian Farrell, Director, Securelinx.

op5’s products are all about getting control of everyday IT operations. The cost of IT is a growing headache for many enterprises. Maintenance, unplanned downtime and fault discovery is painful and can account for up to 80% of the overall IT expenses. op5 adds control in an easy-to-implement and use manner, featuring an intuitive user interface which enables customers to easily deploy the solution in their entire IT environment. The products work with most moderns systems, both hardware and software, and can, thanks to its open source code, easily be adapted to meet special requirements in each environment. The three main products are op5 Monitor, for monitoring systems and networks; op5 Statistics, which delivers understandable graphics of how systems are working and op5 LogServer, for managing logs and enabling a traceable IT environment.

Filled Under: op5
16
Dec

op5 are proud to announce that op5 have released op5 Logserver 3.3.0

This is a minor upgrade.

Whats new?

  • Summary Reports
  • Bidirectional editing of filters
  • Hierarchical filters
  • Configurable deafult filter per user
  • Bugfixes

Read more about it in the release-notes and changelog

I have hinted about automysqlbackup in an earlier blog. Of course an important script like this should be monitored by Nagios or op5 Monitor. In my opinion the correct way of doing this is using a passive check that sends in the result of the backup into Nagios or op5 Monitor. The backup script is supposed to run every 24 hour. If no result from the script has been reported to Nagios or op5 Monitor within the last 26 hours it will be set to WARNING status.

Read the rest of this entry »

A hint how to generate your own wordpress theme

http://www.yvoschaap.com/wpthemegen/

Filled Under: english, Hints, Links
11
Dec

As everybody else I’m dreaming of getting rich. I live in Sweden, the country with the highest taxes in the world so getting rich by working is impossible. One way of getting rich is winning a lottery and probably the only social accepted way of getting rich in Sweden.

One way of getting rich is buying the correct stock at the right time and price, and sell it after a while for much more. The chance of picking the ultimate stock is very low and I think it can be compared to winning a lottery. The probability of picking a not very bad stock at not that very bad time is higher if you have some knowledge and uses some tools.

I’m a computer geek that totally failed to study Economics at the university (I did that in parallel with my Master Of Science studies) mainly because it was not science, it was more of black magic.

So the conclusion is that I probably will not get rich by my knowledge in Economy but why not try to do it more fun by creating my own graphs of stock values:-)

#!/usr/bin/perl
#Script that graphs some stocks
#peter@it-slav.net
use RRDs;
use Finance::YahooQuote;
$Finance::YahooQuote::TIMEOUT = 60;
useExtendedQueryFormat();

my @symbols=('SWEDA.ST', 'CLASB.ST', 'AXIS.ST', "NOVL", 'ERICB.ST', "INVEB.ST", "\^OMXSPI" );

my $rrd = '/var/rrd_db/stocks';
# define location of images
my $img = '/home/peter/public_html/stocks';

my $cur_time = time();                # set current time
my $end_time = $cur_time ;     # set end

#$value=int(rand(1000));

foreach (@symbols) {
        @quote = getonequote ("$_"); # Get a quote for a single symbol
        #print"@quote\n";
        $quote[0]=&trim($quote[0]);
        print "Ticker:$quote[0]\tName:$quote[1]\tLast_price:$quote[2]\t50d_Mov_Avg:$quote[35]\n";
        if ($quote[35] eq "N/A") {
                $quote[35]=0;
        }

        #&graph (ticket,description,price,movingavarage-50-days)
        &graph ($quote[0],$quote[1],$quote[2],$quote[35]);
}

sub graph
{

        # if rrdtool database doesn't exist, create it
        if (! -e "$rrd/stock$_[0].rrd")
        {
                print "creating rrd database for stock $_[0]...\n";
                RRDs::create "$rrd/stock$_[0].rrd",
                        "-s 86400", #1 day = 24h/day*60min/h*60sec/min= 86400 sec/day
                        "DS:price:GAUGE:172800:U:U", #Heartbeat 2 days = 172800 sec
                         "RRA:AVERAGE:0.5:1:365", #1 year 365 days
                         "RRA:AVERAGE:0.5:1:3650", #10 years 10*365=3650
                        "DS:movingavarage:GAUGE:172800:U:U", #Heartbeat 2 days = 172800 sec
                         "RRA:AVERAGE:0.5:1:365", #1 year 365 days
                         "RRA:AVERAGE:0.5:1:3650"; #10 years 10*365=3650

        }
        if ($ERROR = RRDs::error) { print "$0: failed to create $_[0] database file: $ERROR\n"; }

        # insert values into rrd
        #print "Insert:$_[2]:$_[3] into $rrd/mail$_[0].rrd\n";
        RRDs::update "$rrd/stock$_[0].rrd",
                        "-t", "price:movingavarage",
                        "N:$_[2]:$_[3]";
        if ($ERROR = RRDs::error) { print "$0: failed to insert $_[0] data into rrd: $ERROR\n"; }

        #print "$_[0], \"year\", $_[2], $start_time_year, $_[3], $_[1]\n";
        #SWEDA.ST, "year", 75.75, 1193058922, 127.669, SWEDBANK -A-
        if ($_[3] != 0 ) {
                &CreateGraph($_[0], "year", $start_time_year, "Aktie:$_[1] Ticker:$_[0]");
        } else {
                &CreateGraphLight($_[0], "year", $start_time_year, "Aktie:$_[1] Ticker:$_[0]");
        }
        #&CreateGraph($_[0], "decade", $start_time_decade, $_[1]);

}

sub CreateGraph
{
# creates graph
# inputs: $_[0]: ticketname
#         $_[1]: interval (ie, day, week, month, year)
#         $_[2]: starttime
#         $_[3]: Full name

        RRDs::graph "$img/stocks$_[0]-$_[1].png",
#                "-s -1$_[1]",
                "-t $_[3]",
#                "--lazy",
                "--start=$_[2]",
                "--end=$end_time",
                "-h", "500", "-w", "1100",
                "-a", "PNG",
                "-v It-Slav.Net",
                "--slope-mode",
                "DEF:price=$rrd/stock$_[0].rrd:price:AVERAGE",
                "LINE2:price#FF0000:Kurs:",
                "DEF:movingavarage=$rrd/stock$_[0].rrd:movingavarage:AVERAGE",
                "LINE1:movingavarage#0000FF:Medelvarde 50 dagar:",
                "GPRINT:price:MIN:  Min\\: %6.lf",
                "GPRINT:price:MAX:  Max\\: %6.lf",
                "GPRINT:price:AVERAGE: Avarage\\: %6.lf",
                "GPRINT:price:LAST: Last\\: %6.lf $_[0]\\n";
        if ($ERROR = RRDs::error) { print "$0: unable to generate graph $_[0] $_[1] graph: $ERROR\n"; }
}

sub CreateGraphLight
{
# creates graph
# inputs: $_[0]: ticketname
#         $_[1]: interval (ie, day, week, month, year)
#         $_[2]: starttime
#         $_[3]: Full name

        RRDs::graph "$img/stocks$_[0]-$_[1].png",
#                "-s -1$_[1]",
                "-t $_[3]",
#                "--lazy",
                "--start=$_[2]",
                "--end=$end_time",
                "-h", "500", "-w", "1100",
                "-a", "PNG",
                "-v It-Slav.Net",
                "--slope-mode",
                "DEF:price=$rrd/stock$_[0].rrd:price:AVERAGE",
                "LINE2:price#FF0000:Kurs:",
#                "DEF:movingavarage=$rrd/stock$_[0].rrd:movingavarage:AVERAGE",
#                "LINE1:price#0000FF:Movingavarage_50days:",
                "GPRINT:price:MIN:  Min\\: %6.lf",
                "GPRINT:price:MAX:  Max\\: %6.lf",
                "GPRINT:price:AVERAGE: Avarage\\: %6.lf",
                "GPRINT:price:LAST: Last\\: %6.lf $_[0]\\n";
        if ($ERROR = RRDs::error) { print "$0: unable to generate graph $_[0] $_[1] graph: $ERROR\n"; }
}

sub trim($)
{
        my $string = shift;
#       $string =~ s/^\s+//; #Remove left whitespaces
#       $string =~ s/\s+$//; #Remove right whitespaces
        $string =~ s/\^//; #Remove ^
        return $string;
}

In some cases the "Normal" way of running checks does not work, passive checks might do the job. I have a script the runs every night that backup my MySQL database. If this script fails I would like op5 Monitor or Nagios to send a notification. An active check will not work in this case or is very cumbersome to get it to work. A more elegant solution is to let the backup script send in the result to op5 Monitor or Nagios. This is where passive checks is handy. A passive check trust that some external program will send in the result. It is possible to set check_freshness so if nothing has been sent in to op5 Monitor or Nagios it will react, typically set the status to UNKOWN or CRITICAL.

Read the rest of this entry »

08
Dec

To verify that your site is available from many places around the world use http://just-ping.com/

This is how the test of pinging my host www.it-slav.net looks like:

 location                  result               min. rrt  avg. rrt  max. rrt 
 Santa Clara, U.S.A.       Okay                    190.9     192.3     193.8 
 Florida, U.S.A.           Okay                    162.3     163.3     164.6 
 New York, U.S.A.          Okay                    126.5     127.8     129.1 
 Austin1, U.S.A.           Okay                    172.6     173.2     174.2 
 Austin, U.S.A.            Okay                    171.4     172.0     173.0 
 Vancouver, Canada         Okay                    197.5     198.0     198.9 
 Amsterdam2, Netherlands   Okay                     49.9      50.5      51.2 
 San Francisco, U.S.A.     Okay                    224.9     227.9     231.2 
 Amsterdam3, Netherlands   Okay                     67.4      73.6      82.3 
 Chicago, U.S.A.           Okay                    140.6     141.5     142.2 
 Stockholm, Sweden         Okay                     32.2      32.8      34.0 
 London, United Kingdom    Okay                     62.5      63.1      64.8 
 Cologne, Germany          Okay                     80.6      86.7      93.2 
 Krakow, Poland            Okay                     82.2      83.6      86.0 
 Copenhagen, Denmark       Okay                     50.0      50.6      52.5 
 Amsterdam, Netherlands    Okay                     48.8      49.5      51.4 
 Madrid, Spain             Okay                     87.5      88.2      89.0 
 Munchen, Germany          Okay                     84.3      89.8      97.6 
 Lille, France             Okay                     67.9      69.9      74.2 
 Cagliari, Italy           Okay                     85.4      86.4      88.0 
 Groningen, Netherlands    Okay                     52.2      53.1      54.9 
 Sydney, Australia         Okay                    359.9     362.6     375.4 
 Hong Kong, China          Okay                    320.1     329.3     335.8 
 Zurich, Switzerland       Okay                     80.9      83.5      85.4 
 Nagano, Japan             Okay                    301.3     302.0     302.9 
 Antwerp, Belgium          Okay                     61.8      62.7      65.3 
 Singapore, Singapore      Okay                    349.3     355.0     359.4 
 Porto Alegre, Brazil      Okay                    309.8     314.3     321.2 
 Melbourne, Australia      Okay                    383.9     385.0     386.0 
 Mumbai, India             Okay                    198.6     199.5     202.0 
 Shanghai, China           Okay                    440.3     441.8     443.3 
 Haifa, Israel             Okay                    142.7     144.3     145.9 
 Auckland, New Zealand     Packets lost (10%)      375.7     378.3     384.6 
 Johannesburg, South AfricaOkay                    334.9     337.4     340.5 
04
Dec

I got guitar Hero III as a birthday gift. To make it run I had to install XP SP3 on a Lenovo T60p.

It was a long time since I used windows and I had some real problems just install it:

  • Around 1½ hour just copy the files into the HD even if XP claimed 33 minutes.
  • XP could not find my SATA controller
  • XP could not find my ethernet controller
  • XP could not find my Audio controller

To get the drivers install; it required several reboots, download from one machine and transfer with USB memory stick, different ways of installing every driver, sometimes click on setup, sometimes browse for drivers and so on… The network configuration is horrible.

After a couple of hours I manage to get it running and played the game for about 30 minutes and then the machine crashed and refused to boot. Even when I choosed windows crash mode start with low resolution.

The conclusion is Linux or BSD is MUCH simpler and faster to install.

I admit that I lack windows knowledge but I have used Windows alot except the last 2 years.

I think I will go for Frets on Fire on Ubuntu instead with my new nice Guitar.

A hint for unix or linux gurus is to take a peak at Unix Guru Universe: http://www.ugu.com.

I really like the UGU tip of the day with handy tips, howto, do not and so on…

Subscribe today and learn more and more everyday

30
Nov

I have noticed the last 2 days that I did not receive as many mails as I usually do. The whole family has been ill the last couple of days so I did not spend any time troubleshoot that.

But today I noticed that I’ve only got 1 mail so something must be wrong. I did send an email from my job to my private adress and got the email back with the following message:

<peter@it-slav.net>: cannot update mailbox /var/mail/peter for user peter.
    error writing message: File too large

After some troubleshooting I found the following in the postfix documentation:

mailbox_size_limit (default: 51200000)

The maximal size of any local(8) individual mailbox or maildir file, or zero (no limit). In fact, this limits the size of any file that is written to upon local delivery, including files written by external commands that are executed by the local(8) delivery agent.

This limit must not be smaller than the message size limit.

 

So I changed the mailbox_size_limit = 0 and now everything seems alright again.







Book reviews
FreePBX 2.5
Powerful Telephony Solutions






Asterisk 1.6
Build a feature rich telephony system with Asterisk






Learning NAGIOS 3.0





Cacti 0.8 Network Monitoring,
Monitor your network with ease!