torsdag den 6. marts 2014

NRPE til icinga.aoit.dk

Vejledningen er til Redhat EL baseret distributioner, men konceptet og konfigurationen er den samme.

Installation

For at lette installationen anbefales det at tilføje repoforge til dit rpm reposetory, du kan altid fjerne det bagefter.
Følg vejledningen her http://repoforge.org/use/

Herefter kan du installere nrpe, nagios-plugins og dets afhængigheder på en gang med yum

#yum install nrpe nagios-plugins
Tag en kopi af nrpe konfigurations filen
cp -p /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.orig
Tilføj herefter IP adressen på icinga.aoit.dk, i konfigurationens filen.
allowed_hosts=127.0.0.1,84.22.97.202
Installer nrpe som en service.
#chkconfig --add nrpe
Tilføj service i runlevels
#chkconfig nrpe on --level 3
Start nrpe.
#service nrpe start

Firewall

Der skal åbnes for TCP trafik på port 5666 til din maskine fra 84.22.97.202

Tilpassning

Til forskel fra overvågning af internet services, er der ved lokal overvågning to forskellige måder at opsætte check kommandoer til Icinga.
Den ene, hvor du tillader at AOit sender kommando argumenter til NRPE på din server og du kan derfor bruge AOit's Icinga konfigurator til opsætning af kommandoer ligesom ved opsætning af internet services. Det giver den bedste brugervenlighed men også mindre fleksibilitet til at lave sine helt egne kommandoer.
Den anden måde, hvor der ikke tillades argumenter kræver du selv sætter dine alarmdefinationer op i din lokale konfigurationsfil. Ud over du så kan sammensætte dine helt egne check plugins giver det også en lidt større sikkerhed da du præcist ved hvad dine plugins udføre.

Når du har besluttet dig skal du i konfigurations filen angive hvilen metode du vil bruge.

dont_blame_nrpe=
Sæt til "0" for at tillade argumenter og bruge AOit's Icinga kongigurator.
Sæt til "1" for at selv opsætte check kommandoer og have mere kontrol med hvad der udføres på din server.

Til sidst skal de kommandoer du vil benytte indsættes i konfigurations filen. Nederst i filen kan de se en stribe eksempler på kommando definationer, de skal slettes og erstattes af nye.

Hvis du har valgt at bruge argumenter skal du bruge kommando nedenstående definationer.
På 64bits intel systemer ligger de plugins der køres i /usr/lib64/nagios/plugins, bruge den rigtige stig i forhold til din installation.

command[check_load_nrpe]=/usr/lib64/nagios/plugins/check_load -w $ARG1$ -c $ARG2$
command[check_disk_nrpe]=/usr/lib64/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
command[check_swap_nrpe]=/usr/lib64/nagios/plugins/check_swap -w $ARG1$ -c $ARG2$
command[check_proc_states_nrpe]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
command[check_proc_nrpe]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -C $ARG3$
command[check_procs_nrpe]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$
command[check_sensors_nrpe]=/usr/lib64/nagios/plugins/check_sensors
Hvis du har valgt uden argumenter skal du bruge disse kommandoer. Vær opmærksom på argumenterne er eksempler og bør tilrettes.
command[check_load_nrpe]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_disk0_noarg]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1
command[check_disk1]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hdb1
command[check_disk2]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /mnt/backup
command[check_disk3]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /home
command[check_disk4]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /mnt/das
command[check_swap]=/usr/lib64/nagios/plugins/check_swap -w 75% -c 50%
command[check_zombies]=/usr/lib64/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_proc0]=/usr/lib64/nagios/plugins/check_procs -w 0:0 -c 0:0 -C vnstat
command[check_proc1]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200
command[check_proc2]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200
command[check_proc3]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200
command[check_proc4]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200
command[check_sensors]=/usr/lib64/nagios/plugins/check_sensors

fredag den 14. februar 2014

BOINC for a brighter future

Berkeley Open Infrastructure for Network Computing
Mest kendt er SETI@home the seach for extraterestial at home der for mere end ti år siden
http://boinc.berkeley.edu/download_all.php
Older Linux x86 and x64
wget http://boinc.berkeley.edu/dl/boinc_compat_6.12.22_i686-pc-linux-gnu.sh
./boinc_compat_6.12.22_i686-pc-linux-gnu.sh
mv BOINC /home/boinc
useradd boinc
chown -R boinc:boinc /home/boinc
rpm -qa | grep libstdc++.so.6
if [ !$? ]
then
rpm -ivh libstdc++.so.6
fi
ln -s libstdc++.so.6 libstdc++.so.3
su -c "/home/boinc/boinc > /home/boinc/boinc.log 2>&1 &" boinc
echo "Let it run some bencmarking and ctrl+c when it reaches "Resuming computation"
tail -f /home/boinc/boinc.log
./boinccmd --create_account http://boinc.bakerlab.org/rosetta EMAIL PASSWORD USER
./boinccmd --project-attach http://boinc.bakerlab.org/rosetta KEY
vi /etc/init.d/boinc

chmod +x /etc/init.d/boinc
chkconfig --add boinc

onsdag den 27. februar 2013

Privatliv og Instant messaging

Nedenstående matrix er stjålet fra news.cnet.com som har en god artikel om emnet. I artiklen stilles en række spørgsmål til de store IM udbydere som fx microsoft, google og facebook. Deres svar kan så læses mere fyldestgørende end nedenstående matrix ved at følge linket til artiklen her.

Sikker login Sikker msg Logs user Logs msg Logs periode Gov. wiretapping
AOL AIM Yes Yes Yes No Won't say Won't say
AOL ICQ Yes No Yes No Won't say Won't say
Facebook Chat[1] No No Refused to answer Refused to answer[2] Refused to answer Refused to answer
Google Talk Yes Yes[3] Yes No[4] Four weeks Won't say
Lotus Sametime Yes Yes Yes Configurable Configurable N/A
Windows Live Messenger Yes No[5] No No N/A Won't say
Skype Yes Yes Yes No "A short time" Cannot comply with wiretaps[6]
Yahoo Messenger Yes No Yes No As long as "necessary" Won't say

søndag den 10. februar 2013

Microprocessor og hukommelse

Overordnet

Når du starter en program process på en computer, indlæses programmet i hukommelsen, hvorefter programmet processeres.
Et program består af en masse logiske beregninger der fortages i den centrale processerings enhed, CPU.
Flere processer kan skeduleres til en "time slice" i CPU'en, hvorefter de sættes i kø til de er kørt færdige eller afsluttes.

Hukommelse

I CPU'ens cache holdes de ting som er smartes at have tilgængelig med det samme. Cache hukommelse kommer i to "levels" L1 integreret i selve CPU'en og L2 der sidder lige udenfor. Man kan se det lidt som CPU'ens arbejds hukommelse.
Har CPU'en kigget forgæves i cachen kaldes det "misses" og den må henvende sig i den virtuelle hukommelse, Virtual memory. Det er et abstrakt lag til den reelle program hukommelse i en computer. Man kan se det lidt som CPU'ens data hukommelse.
Dette lag er styret af en "memory manager unit" MMU.

På billedet er den virtuelle hukommelse inddelt i tre typer:
Memory som repræsentere den hurtige RAM i computeren, herfra kan data vidergives fra den virtuelle hukommelse.
SWAP (område) som er en fil eller harddisk forberedt til ind og ud læsning i memory.
Disk eller andet tilsluttet dataudstyr.

MMU'en arbejder med alt hukommelsen inddelt i sider og bruger alt sin tid på at flytte sider ind og ud af memory (paging), så det bedst muligt matcher CPU'ens forespørgsler i den virtuelle hukommelse.
Laves der en forspørgelse på en side der ikke findes i memory kaldes det en "fault", som alt efter om den så findes i SWAP eller på disk kaldes forholdsvis soft eller hard.

tirsdag den 29. januar 2013

Arduino eller Rasberry Pi

Efter som Raspberry Pi vinder frem i folks bevidsthed som en udviklings platform til ADP systemer til fx styring og monitorering, sker det oftere at den sidestilles med Arduino.
Men de to kan ikke sættes op mod hinanden da de udfylder to forskellige roller inden for ADP, og de kan ikke overtages af af hinanden.

Arduino er en opensource prototype platform baseret på en mikrokontroller og der kan frit produceres egne udgaver af Arduino, designet specifikt til opgaven.
Omkostningerne ved produktionen er meget lille, det gælder både komponenternes pris, tilgængelighed og montering. En færdig udviklet styring kan produceres med så lidt som med fem komponenter og være på størrelse med en lighter, hvis man samler det selv og endnu mindre hvis man får en robot til det.

Raspberry Pi er meget mere at sammenligne med en konventionel computer som fx en PC og er baseret på en mikroprocesser. Hardwaren er uhyre kompleks og fyldt med proprietære komponenter, der ikke kan efterlignes og den ikke kan produceres efter eget design.
Tilgengæld får du en fuld funktionel computer med alle de hardware muligheder du kender fra din PC og alle de software muligheder du kender fra linux.
Det kræver selvfølgelig en hel del mere strøm at drive alle disse funktioner, hvilket yderligere begrænser mulighederne for at bruge den til indbyggede enheder.
Formålet med Raspberry Pi er at give alle typer af computer studerende og lærer en billig uddannelses platform. Ikke mindst ved at have en fast standard der kan alt.

Med de mange lag af meget kompleks logik der bruges til at styre alle funktionerne i en Raspberry Pi og med mangel på operativ systemer der ikke ses som uddannelses mæssige udviklings projekter, er der en høj risiko for driftsforstyrrelser på ellers simple styringer.
Det forhold gør sig også gældende når man sammenligner selve mikrokontrolleren med mikroprocessoren. Den lave kompleksitet i en mikrokontroller som i en Arduino gør den langt mere driftsikker.

Opsummering af fordele og funktions områder

Arduino
  • Stabilitet
  • Strøm
  • Størrelse og Format
  • Produktion
Funktions områder:
  • Indlejret elektronik
  • Styringer
  • Datalogging
  • Alarm systemer

Raspberry Pi

  • Kompleks software
  • Hardware
  • Forberedte tilslutninger
Funktions områder:
  • Terminaler og konsoller
  • Servere
  • Uddannelses platform

Inden for hver deres felt er de toppen af poppen når det gælder pris og funktionalitet, derfor ses de også tit i samspil når en installation ikke skal køre i et isoleret miljø.

Baggrunden for opslag og artikler her på AOit er mine mere end sidste ti års erfaringer i drift og brug af LAMP platformen til at løse et utal af opgaver. En platform der består af Linux, Apache, MySQL og PHP. Alle fire frit og åben software og til at presentere data som som information bruger jeg HTML til formatering og CSS til layout.