sobota 22. prosince 2012

pfSense 2.0.2 Auto update


Vyšla nová verze oblíbeného firewalu pfSense. Dozvěděl jsem se to z pfSense Digest http://blog.pfsense.org/ Na oficiálních stránkách změna zatím neproběhla.


Aktualizoval jsem povětšinou z předchozí verze 2.0.1. Je doporučeno aktualizovat pomocí System / Firmware / Auto update. Aktualizace stáhne novou verzi sama, zaktualizuje se a proběhne restart. Po celou dobu bylo spojení funkční. Nastal jen krátký výpadek při rebootu. Zároveň se zaktualizovali i instalované balíčky.

Nová verze pfSense 2.0.2 je hlavně opravnou verzí.

pátek 14. prosince 2012

Zabbix repository - ZabbixZone

 Zabbix jakožto monitorovací systém je možné zprovoznit na všemožných verzích systémů. Ale ve většině případů budete muset kompilovat ze zdrojových kódů, což je plně funkční, ale méně komfortní pro dlouhodobý provoz.

Aktuální verzí Zabbixu je 2.0.4, která vyšla 8.12.2012. Mnoho distribucí má Zabbix ve svých oficiálních repositářích, ale bohužel nejsou moc aktuální.
  • Ubuntu 12.04 LTS - Zabbix 1.8.11
  • Ubuntu 10.04 LTS - Zabbix 1.8.1
  • Ubuntu 8.04 LTS - Zabbix 1.4.2
  • Ubunt 12.10 - Zabbix 2.0.2
  • Debian 6.0.6 - Zabbix 1.8.2
  • Fedora 17 - Repo EPEL
  • CentOS 6 - Repo EPEL
  • RedHat 6.3 - Repo EPEL
Řešením je aktuální Zabbix repository http://repo.zabbixzone.com/, který je dostupný pro distribuce CentOS 5, CentOS 6 and Debian 6 (Squeeze). Spravuje jej Kodai Terashima, který je zaměstnán společností Zabbix SIA. Aktuálnost repository jsem již několikrát prověřil. Existují zde balíčky pro agent, server, proxy, java-gatevay, ale také jen get a sender, které se též mohou hodit.

Operační systém FreeBSD má ve svých portech dokonce obě verze Zabbixu 1.8.x a 2.0.x

Mnou doporučené Operační systémy pro provoz monitorovacího systému Zabbix jsou:
  • CentOS + ZabbixZone
  • Debian + ZabbixZone
  • FreeBSD

Pevně veřím, že společnost RedHat začne vnímat Zabbix jako skutečný enterprice monitorovací systém. A začlení jej do oficiálních repositářů. Naději u mě podporuje fakt, že letošní Zabbix konferenci RedHat sponzoroval jako Gold sponzor.

sobota 8. prosince 2012

Squid3 with SNMP vs Zabbix 2.0


Na domácím testovacim serveru jsem si zprovoznil web proxy Squid verze 3. Chtěl jsem Squid nějak monitorovat. Existují v zásadě dva způsoby, jak na to.
 squid-3.2.3_2       HTTP Caching Proxy

Na wiki zabbix je popsán postup, jak monitorovat pomoci definovaných hodnot v zabbix agentu na serveru, kde Squid běží. Program squidclient, který je součástí Squida dokáže kontaktovat managera Squid, který předá potřebné informace o stavu cache.

Druhá možnost je Squid monitorovat pomocí SNMP. Squid v sobě integruje tuto funkcionalitu, která se musí nadefinovat v konfiguračním souboru. Ve FreeBSD jsem si Squid kompiloval z portů a SNMP je jedna z voleb, ktera musí být zakompilována.

[root@fbsd /var/db/ports/squid32]# make config && make install clean

# snmp config
acl snmp_host src 127.0.0.1
acl snmp_lmnet src 192.168.42.13/32
snmp_port 3401
acl snmppublic snmp_community public
snmp_access allow snmppublic
snmp_access allow snmp_host
snmp_access allow snmp_lmnet
snmp_access deny all


Vlastnosti použítí SNMP ve Squidu jsou podrobně popsány na Wiki projektu. Jsou zde pordobně popsány jednotlivé OID a podpora v jednotlivých verzích web proxy. Ve foru zabbix je ke stažení template zabbix_squid_smnp.xml. Import do Zabbix 2.0.x zobrazuje drobnou chybku, ale položky se vytvoří korektně. Mnou opětovně vyexportovaný template mám zde.

ukázka některých hodnot:
cd /usr/local/etc/squid

snmpwalk -m mib.txt -v2c -Cc -c public fbsd:3401 .1.3.6.1.4.1.3495.1.1
SQUID-MIB::cacheSysVMsize.0 = INTEGER: 71328
SQUID-MIB::cacheSysStorage.0 = INTEGER: 85036
SQUID-MIB::cacheUptime.0 = Timeticks: (16534677) 1 day, 21:55:46.77


snmpwalk -m mib.txt -v2c -Cc -c public fbsd:3401 .1.3.6.1.4.1.3495.1.2
SQUID-MIB::cacheAdmin.0 = STRING: webmaster
SQUID-MIB::cacheSoftware.0 = STRING: squid
SQUID-MIB::cacheVersionId.0 = STRING: "3.2.3"
SQUID-MIB::cacheLoggingFacility.0 = STRING: ALL,1
SQUID-MIB::cacheMemMaxSize.0 = INTEGER: 256
SQUID-MIB::cacheSwapMaxSize.0 = INTEGER: 100
SQUID-MIB::cacheSwapHighWM.0 = INTEGER: 95
SQUID-MIB::cacheSwapLowWM.0 = INTEGER: 90
SQUID-MIB::cacheUniqName.0 = STRING: fbsd


Do template asi jestě přidám nějaký graf, Počet příchozích a odchozích dat, počet aktuálně přihlášených klientů atd. Nasbíraných hodnot je celá řada.

pátek 16. listopadu 2012

Orabbix vs Zabbix 2.0


Dostal jsem za úkol monitorovat databázi Oracle. Volba padla na zatím nevyzkoušený nástroj Orabbix. Jedná se o Java aplikaci, která se přihlašuje do DB Oracle pomocí JDBC a pomocí definovaných dotazů odesílá metriky do Zabbix serveru, kde jsou nadefinovány patřičné hodnoty typu Zabbix trapper.

Popis užití je podrobně popsán zde.

Při konfiguraci jsem narazil na malou záludnost. Název db connection stringu musí být shodný s hostname definovanem v zabbixu, což jsem nikde v dokumentaci nedohledal, snad jen něco málo na fóru zabbix.

DatabaseList=ora-db1,ora-db2 # hostname in zabbix = prefix DatabaseList !!!

#define here your connection string for each database

ora-db1.Url=jdbc:oracle:thin:@192.168.42.142:1521:TESTDB1
ora-db1.User=zabbix
ora-db1.Password=xxxx
ora-db1.QueryListFile=./conf/query.props
 

ora-db2.Url=jdbc:oracle:thin:@192.168.42.143:1521:TESTDB2
ora-db2.User=zabbix
ora-db2.Password=xxxx
ora-db2.QueryListFile=./conf/query.props

Při hledání problému s příjmáním dat v zabbixu jsem narazil na chybu v zabbixu, kterou objevil autor aplikace, popsáno na jeho webu. Alespoň jsem si tím ujasnil, že klíče i hodnoty mohou být kódovány i pomocí base64, což může být matoucí.

úterý 6. listopadu 2012

SSH anonymně pomocí Tor


Pokud používáme v síti Tor a Privoxy viz můj postarší příspěvek. A chceme být anonymní i skrze SSH, budeme potřebovat aplikaci proxy-connect.

Na FreeBSD nainstaluju z portu.

cd /usr/ports/net/proxy-connect && make install clean

SSH se konektí skrze Tor.

ssh username@server.domena.cz -o ProxyCommand="/usr/local/sbin/proxy-connect -4 -S localhost:9050 %h %p"
nebo

ssh -l username -2 1.2.3.4 -o ProxyCommand="/usr/local/sbin/proxy-connect -4 -S localhost:9050 %h %p"


Další možností je:

Add to ~/.ssh/config

Host remote.outside.net
    ProxyCommand /usr/local/sbin/proxy-connect -S socks:1080 %h %p

RedHat Local Repo - reposync createrepo

Rešil jsem takový malý problém. Mám 10 RHEL 6.3 serverů a při jejich aktualizaci nechci balíky stahovat pokaždé z RedHat RHN. S tím že Squid HTTP proxy je jen průtokáčem a nic se nekešuje :-( Komunikace s RHN se provádí skrze xmlrpc bránu.

1352209629.189   1482 192.192.42.13 TCP_MISS/000 2206 CONNECT xmlrpc.rhn.redhat.com:443 - FIRST_UP_PARENT/192.192.42.42 -

První plánované řešení bylo použít RHN Proxy Server. Tento server je součástí komerčního RedHat Network Satellite. Jistou variantou bylo použít komunitní verzi SpaceWalk, ale pro 10 serverů je to moc velký moloch, který se vyplatí používat jen u velkých firem o desítkách serverů.

Pan Google mě přivedl na tento návod. Kde se použije poněkud jednodužší řesení s reposync. Jeden s 10ti serverů vybereme jako ten pro stahovaní repo. Všechny servery jsou registrovány v RHN. 11cty server je CentOS, kde je zprovozněn NFS server, kde je repo fyzicky umístěný.

Vypíši si použité repositáře na RHEL serveru:

yum repolist 
repo id
rhel-x86_64-server-6
rhel-x86_64-server-ha-6
rhel-x86_64-server-supplementary-6


Příkazy pro synchronizaci repository. Je zapotřebí balík yum-utils

reposync -p /data/nfs/repo/ --repoid=rhel-x86_64-server-ha-6 -l
reposync -p /data/nfs/repo/ --repoid=rhel-x86_64-server-supplementary-6 -l
reposync -p /data/nfs/repo/ --repoid=rhel-x86_64-server-6 -l


Pro funkční repo musíme nainstalovat balíček createrepo

yum install createrepo

createrepo /data/nfs/repo/
...
Saving Primary metadata
Saving file lists metadata
Saving other metadata


V adresáři kam se syncují repositáře se vytvoří adresář repodata s metadaty o aktualizacích. Vzhledem k tomu, že tři uvedené repo obsahuji 16GB dat je vytvoření metadat o 9tisících souborech poněkud zdlouhavé.

ls -1 repodata/

filelists.xml.gz
other.xml.gz
primary.xml.gz
repomd.xml


Nastavení yum na jednotlivých RHEL serverech.

vi /etc/yum.repos.d/local.repo

[rhel-localrepo]
name=Local Red Hat Enterprise Linux $releasever - $basearch
baseurl=file:///data/nfs/repo
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release


Vypneme RHN krom aktualizačního serveru.

vi /etc/yum/pluginconf.d/rhnplugin.conf
[main]
enabled = 0


Provedeme aktualizace, za předpokladu, že všechny RHEL servery maji namontován NFS svazek do /data/nfs/repo.

yum clean all
yum list updates
yum update


A na závěr taková rejpavá poznámka. Proč ty komerční krámy musí být tak komplikované? CentOS má veřejné repo a např. Debianí svět má svou APT-Cacher NG.

pondělí 5. listopadu 2012

Bumblebee project


O víkendu se mi do rukou dostal notebook Lenovo IdeaPad G580 s tím, že majitel na něj nainstaloval Ubuntu 12.04 LTS. Ovšem nefungovalo mu OpenGL. Daný HW má v sobě dvě VGA karty.

00:02.0 VGA compatible controller: Intel Corporation Ivy Bridge Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation Device 0de9 (rev ff)


Problém spočívá v tom, že klasické nVidia drivery nejsou funkční. Tento problém jsem měl již v lednu s tehdejším firemním notebookem. Onehdá však nebylo řešení. Od té doby vznikl projekt http://bumblebee-project.org/ , který daný problém řeší.  Projekt řeší podporu NVIDIA Optimus technology pod Linuxem. Osobně bych se při koupi NTB této technologii vyhnul.

Instalace na Ubuntu je velmi jednoduchá.

Přidáme potřebný repozitář.

sudo add-apt-repository ppa:bumblebee/stable

Zaktualizujeme repo data.

sudo apt-get update

Nainstalujeme potřebný balíky.

sudo apt-get install bumblebee bumblebee-nvidia

úterý 30. října 2012

Bráchové


Bráchové
Originally uploaded by SmEjDiL

Není co dodat ...

Samsung Smart TV používá XFS


K mé televizi 37" Samsung UE37ES6100 jsem připojil čtečku karet s Compact Flash a chtěl jsem na ní vyzkoušet nahrávání. TV mě oznámila, že si kartu zformátuje. Po formátu mi oznámila, že je vhodnější použít klasický disk, karta byla pomalá pro zápis. I tak jsem na kartu nahrál část Partičky.

Pak jsem neváhal a vzal jeden postarší 80GB disk co se mi válel pod stolem a pomocí patřičného konvertoru a napájení jej připojil k TV. Při volbě nahrávání mě TV opět vyzvala k formátování disku.

Po nahrávání jsem disk připojil k domácímu PC s OS Linux Ubuntu a mile jsem byl překvapen, když jsem zjistil zě TV používat filesystém XFS. Který je v UNIX/Linux OS doma. Tento žurnálový filesystém uvolnila společnost SGI - Silicon Graphics.

http://cs.wikipedia.org/wiki/XFS
http://en.wikipedia.org/wiki/XFS

Již chápu dotazy známých na téma, já si něco nahraju na disk z TV, ale když to připojím do Window$ tak tam nic není. To bude asi tím, že Win XFS neumějí :-) Samsung má u mě další kladné body.

Uložená nahrávka má vždy 5 souborů.

-rw-r--r-- 1 root root  572 1970-01-01 01:53 20121031021004.ss
-rw-r--r-- 1 root root 921M 1970-01-01 02:18 20121031021004.srf
-rw-r--r-- 1 root root 1,4M 1970-01-01 02:18 20121031021004.mdb
-rwxr-xr-x 1 root root 7,8K 1970-01-01 02:18 20121031021004.inf
-rw-r--r-- 1 root root  89K 1970-01-01 02:18 20121031021004.mta


Popis je např. zde.

Připojení disktu k Linuxu.

Oct 31 20:45:12 negr kernel: [11114.576017] usb 2-1: new high speed USB device using ehci_hcd and address 2
Oct 31 20:45:12 negr kernel: [11114.709809] usb 2-1: configuration #1 chosen from 1 choice
Oct 31 20:45:12 negr kernel: [11115.159838] Initializing USB Mass Storage driver...
Oct 31 20:45:12 negr kernel: [11115.159964] scsi8 : SCSI emulation for USB Mass Storage devices
Oct 31 20:45:12 negr kernel: [11115.160054] usbcore: registered new interface driver usb-storage
Oct 31 20:45:12 negr kernel: [11115.160056] USB Mass Storage support registered.
Oct 31 20:45:17 negr kernel: [11120.161478] scsi 8:0:0:0: Direct-Access     WDC WD80 0BB-00DAA1       3B02 PQ: 0 ANSI: 2 CCS
Oct 31 20:45:17 negr kernel: [11120.162192] sd 8:0:0:0: Attached scsi generic sg4 type 0
Oct 31 20:45:17 negr kernel: [11120.165306] sd 8:0:0:0: [sdd] 156301488 512-byte logical blocks: (80.0 GB/74.5 GiB)
Oct 31 20:45:17 negr kernel: [11120.166082] sd 8:0:0:0: [sdd] Write Protect is off
Oct 31 20:45:17 negr kernel: [11120.170339]  sdd: sdd1
Oct 31 20:45:17 negr kernel: [11120.192840] sd 8:0:0:0: [sdd] Attached SCSI disk
Oct 31 20:45:18 negr kernel: [11121.138362] SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled
Oct 31 20:45:18 negr kernel: [11121.140051] SGI XFS Quota Management subsystem
Oct 31 20:45:18 negr kernel: [11121.141832] XFS mounting filesystem sdd1

Ubuntu 12.04.1 LTS - Browsers

Na svém pracovním notebooku používám 3 prohlížeče. Identifikovány v logu webserveru Apache jsou takto.

FireFox
10.0.42.6 - - [30/Oct/2012:09:00:42 +0100] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:16.0) Gecko/20100101 Firefox/16.0"

Chromium
10.0.42.6 - - [30/Oct/2012:09:01:31 +0100] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.11 (KHTML, like Gecko) Ubuntu/12.04 Chromium/20.0.1132.47 Chrome/20.0.1132.47 Safari/536.11"

Opera
10.0.42.6 - - [30/Oct/2012:09:02:18 +0100] "GET / HTTP/1.1" 200 3390 "-" "Opera/9.80 (X11; Linux x86_64; U; Edition Linux Mint; cs) Presto/2.10.289 Version/12.02"

neděle 28. října 2012

Samsung Smart TV + SERViiO


Po třech letech odkládání jsem konečně zahodil starou CRT TV + jeden z prvních Set-UP boxů Genius DVB-T. Už mě hodně vadilo, že okraje obrazu jsou značně ořezané, ale hlavním důvodem byla jakákoliv absence přehrávat data z FreeNAS.

Původně jsem chtěl plazmu, ale z velikosti TV jsem ustoupil a pořídil LED 37" Samsung UE37ES6100. Televize má integrované DLNA a tak jsem se zaměřil na jeho zprovoznění. Zprvu jsem čekal, že server Fuppes - Free UPnP Entertainment Service integrovaný ve FreeNAS 0.7 bude v TV podporován. Ale TV jej vůbec nevidí. Zaměřil jsem se na DLNA server  Mediatomb, který jsem zprovoznil na domácím FreeBSD serveru.

mediatomb-0.12.1_8  UPnP AV MediaServer

Tento media server se v TV objevil, ale nic z něj nešlo přehrávat. Nakonec jsem objevil Serviio, což je Java Media server. Též jsem jej instaloval na FreeBSD serveru z patřičného portu.

serviio-0.6.2       Transcoding DLNA-server implemented in Java

Tento server Serviio mě velmi mile překvapil. Bez velkého ladění najednou televize ožila. Pomocí GUI konzole jsem přidal adresáře namontované přez NFS z FreeNAS. DLNA server si obsah patřičně ošahal a zaindexoval. Pro každé zažízení v domácí síti, které chce DLNA využívat (TV, Mobil Android, PC Totem+Coherence) je možno přiřadit patřičný profil. Např. mi nešlo přehrávat MKV videa a po nastavení patřičného profilu Samsung TV / Player (C/D-series) k TV. Fungování MKV jsem otestoval a opět mě mile překvapilo fungování titulků skrze DLNA. V TV jsem jen nastavil českou verzi.

Vlastností DLNA server Serviio je celá řada.  Překvapila mě např. funkcionalita ohledně indexování souborů. Server skrze API kontaktuje server TheTVdb.com, výsledkem je možnost hledání filmů podle herců, producentů či režisérů. Po indexaci obsahu jsem pátral v systému, kam si to ukládá. Serviio využívá databázi Derby. Adresář, kam si ukládá svá data /var/db/serviio zabírá nyní 244M.

Další zajímavou funkcionalitou je možnost sledování Online obsahu. Je možno nadefinovat internetová rádia či image gallery. Tyto vlastnosti budou teprve objevovat.

Už se těším až ve FreeBSD bude patřičný port aktualizován na aktuální verzi 1.0.1.

pátek 19. října 2012

RHEL 6.3 Bonding

Na OS RHEL 6.3 jsem rešil zprovoznění dvou síťovek za pomocí Bondingu. Konfigurace v režimu active-backup nebo 1. Nastavení je vcelku jednoduché. Vycházel jsem z oficiálná RedHat dokumentace Using Channel Bonding. Pěkný a ucelený návod je např. zde.

Nalezl jsem i bug, který je spojen s obdobným driverem, který používám na daném serveru. Naštěstí se mě netýkal.

Pro fungování bondigu je nutné aby byli síťovky zapojeny do Switch1 a Switch2. Konfiguraci na úrovni switchů jsem neřešil. Nevím, zda je tam pro bonding něco třeba. To třeba až zase někdy příště.

Driver "Ethernet Channel Bonding Driver" je možno konfigurovat složitěji. Např. se dají síťovky združovat a využít tak protokol LACP atd.

Výpis a informace o driveru pomocí ethtool.

ethtool -i eth0
driver: bnx2
version: 2.2.1
firmware-version: bc 5.2.3
bus-info: 0000:09:00.0


nebo

ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   1000baseT/Full
                                10000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  1000baseT/Full
                                10000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Speed: Unknown!
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: Unknown
        Supports Wake-on: g
        Wake-on: d
        Link detected: yes


Info z lspci

09:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709S Gigabit Ethernet (rev 20)
09:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709S Gigabit Ethernet (rev 20)


Prověříme, zda je přítomen patřičný balik kvuli programu ifenslave.

yum install iputils

Začneme konfigurovat interface eth0 a eth1

cd /etc/sysconfig/network-scripts/

DEVICE="bond0"
IPADDR="192.168.42.13"
NETMASK="255.255.255.0"
GATEWAY="192.168.42.1"
DNS1="192.168.42.10"

HOSTNAME="rhel63-test"
ONBOOT="yes"
BOOTPROTO="none"
USERCTL="no"
NAME="bond0"
BONDING_OPTS="miimon=80 mode=1"

DEVICE="eth0"
NAME="System eth0"
BOOTPROTO="none"
HWADDR="E8:39:35:C0:11:BC"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
UUID="9ae66694-cff1-4cab-99d4-fc7de045369c"
SLAVE="yes"
MASTER="bond0"

DEVICE="eth1"
NAME="System eth1"
BOOTPROTO="none"
HWADDR="E8:39:35:C0:11:BE"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
UUID="badf918c-3cc1-4e77-94c2-c8dc24032133"
SLAVE="yes"
MASTER="bond0"


Nastavíme load kernel modulu.

vi /etc/modprobe.d/bond0.conf
alias netdev-bond0 bonding


Restart síťových rozhraní.

/etc/init.d/network

V /proc můžeme prověřit některé informace.

cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 80
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: e8:39:35:c0:11:bc
Slave queue ID: 0

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: e8:39:35:c0:11:be
Slave queue ID: 0


ifenslave -a
The result of SIOCGIFFLAGS on lo is 49.
The result of SIOCGIFADDR is 7f.00.00.01.
The result of SIOCGIFHWADDR is type 772  00:00:00:00:00:00.
The result of SIOCGIFFLAGS on eth1 is 1043.
The result of SIOCGIFADDR is ffffffac.13.ffffffc8.20.
The result of SIOCGIFHWADDR is type 1  e8:39:35:c0:c0:e6.
 


Danou konfiguraci musím časem prověřit i ve FreeBSD. Zde je vodítko.

pondělí 24. září 2012

Automate Debian install

Sejně jako RedHat a odvozede distribuce mají Kickstart. Debian a odvozené distribuce maji Preseed.

Přehledný popis je na tomto blogu.

pátek 21. září 2012

nComputing on Ubuntu 10.04.4 LTS

Na jedné nejmenované základní škole mají učebnu s 20 terminaly L-300 od nComputing L-Series. Používaji primárně Windows 2008 serveru, který obhospodařuje danou učebnu.
Server pro nComputing s Win běží pod virtualizací. Jelikož zazněl požadavek, že by nebylo na škodu 8-9tým třídám ukázat i jiný OS. Provedl jsem tedy instalaci Linux Ubuntu Desktop 10.04.4 LTS i386. Společnost nComputing poskytuje svůj SW zvaný vSpace server i pro Linuxovou distribuci Ubuntu. Stáhl jsem tedy patřičný zip archív vSpace-L-3.1.4-r11465_release_for_Ubuntu-10.04.zip, který obsahuje deb baličky.

Instalace vSpace je podrobně a přehledně popsána v dokumentaci Ubuntu_10 04 2_L-series_Install_Guide_v0 3_Apr19-2011.pdf. Na instalaci není naprosto nic složitého. Vše jsem provedl v GUI, takže žádná příkazová řádka. Instalaci Linux Desktop i vSpace zvládne kdokoli.

Pro použití v dané škole jsem ještě doinstaloval Likewise Open, které popisuji zde. Rychle a jednoduše se tedy Linux dostal na 20 stanic. Žáci se mohou autentizovat pomocí svých školních účtů. Na Linux serveru (Desktop) se jim po přihlášení založí jejich home adresář a mohou se tak vesele seznamovat s jiným OS než jsou Window$.

Někdy v tomto školním roce zajdu na hospitaci ...

středa 19. září 2012

VMware vSphere Perl SDK

Potřeboval jsem si zprovoznit VMware API a šáhnul jsem po jednom z několika nástrojů, které VMware má k dispozici. Tyto nástroje hodlám použít pro monitorovani ESXi hypervisorů např. dle tohoto návodu na Zabbix fóru.

vSphere Perl SDK jsem si instaloval na třech různých OS. FreeBSD, CentOS a Ubuntu Desktop. Toto SDK má v sobě nejen Perlovské knihovny, ale i připravené CLI příkazy též postavené na Perlu, které umí poměrně hodně věcí. Již dříve jsem si CLI instaloval. Většina API nástrojů je integrována ve virtuálce vMA. Osobně jsem se rozhodl Perl SDK instalovat na své systémy.

FreeBSD 8.x i 9.x

Existuje port, který je momentálně ve verzi 5.0.0. Instalace všech závislostí je velmi snadná.

fetch http://nekde/VMware-vSphere-Perl-SDK-5.0.0-422456.i386.tar.gz
mv VMware-vSphere-Perl-SDK-5.0.0-422456.i386.tar.gz /usr/ports/distfiles/


cd /usr/ports/net/vmware-vsphere-cli && make install


Po instalaci je dobré zohlednit postinstalační zprávu.

========================================================================
Please note that, by default, an underlying Perl module does certificate
verification when communicating with vSphere hosts.

You must create a file that contains the public keys of all of your
vSphere hosts and then configure your Perl scripts to have the following
line:
$ENV{HTTPS_CA_FILE} = "/path/to/file";

If you want to disable this important security feature, you may set the
following variable to 0:
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME}
========================================================================


Balíček se jmenuje přesně takto.

vmware-vsphere-cli-5.0.0 VMware vSphere SDK for Perl with CLI tools

Jakou verzi používáme zjistíme následovně.

perl -MVMware::VIRuntime -e 'print $VMware::VIRuntime::VERSION'
5.0


Pro programování v perlu jsou důležité tyto Perlovské moduly.

VMware::VIM25Runtime
VMware::VIM2Stub
VMware::VIM2Runtime
VMware::VICommon
VMware::VILib
VMware::VIM25Stub


Nutno dodat, že port neobsahuje binárky esxcli!

CentOS 6.3 x86_64

Instalace na této distribuci odvozené od RHEL je poněkud komplikovanější. Je to kombinace tří zdrojů. Některé baličky jsou z oficiálního repositáře. Dále je nutný EPEL a jeden Perl modul jsem musel instalovat ručně.

Instalaci jsem konfrontoval s oficiální dokumentací vsphere-esxi-vcenter-server-51-sdk-for-perl-installation-guide.pdf, kde není instalace kompletní. Sice se část nainstaluje dle návodu, ale spoustu Perl modulů - balíčků musíme instalovat sami. Já si své instalované moduly poznamenám.

Instalace dle návodu k RHEL

yum install openssl-devel libxml2-dev e2fsprogs-dev

Nastavení proxy bylo vyžadováno ...

export ftp_proxy=http://192.168.42.7:8080
export http_proxy=http://192.168.42.7:8080

Stáhneme si instalační soubor.

VMware-vSphere-Perl-SDK-5.1.0-780721.x86_64.tar.gz

tar xvzf VMware-vSphere-Perl-SDK-5.1.0-780721.x86_64.tar.gz
cd vmware-vsphere-cli-distrib && ./vmware-install.pl

Instalátor si žádá následující balíčky o kterých dokumentace píše obecně. Názvy uváděny nejsou.

yum install perl-Archive-Zip perl-Compress-Zlib perl-Crypt-SSLeay perl-Class-MethodMaker perl-HTML-Parser perl-SOAP-Lite perl-XML-SAX perl-ExtUtils-CBuilder perl-libxml-perl perl-XML-LibXML-Common

Né vše je v oficiálním repo.

rpm -i http://ftp.fi.muni.cz/pub/linux/fedora/epel/6/i386/epel-release-6-7.noarch.rpm
yum update
zum install uuid-perl perl-Data-Dump


Instalátor si žádá verzi UUID 0.03 or newer, která není ani v jednom repo.

Doinstalujeme si nástroje pro build.

yum install make gcc libuuid-devel

Na stránce  http://search.cpan.org/~jnh/UUID/UUID.pm si najdeme odkaz ke stažení src.

wget http://search.cpan.org/CPAN/authors/id/J/JN/JNH/UUID-0.04.tar.gz
tar xvzf UUID-0.04.tar.gz && cd UUID-0.04
perl Makefile.PL
make install clean

Instalace již doběhla s varováním, které zatím ignoruji. Co jsem od SDK potřeboval fungovalo.

The following Perl modules were found on the system but may be too old to work
with vSphere CLI:

Compress::Zlib 2.037 or newer
Compress::Raw::Zlib 2.037 or newer
version 0.78 or newer
IO::Compress::Base 2.037 or newer
IO::Compress::Zlib::Constants 2.037 or newer
LWP::Protocol::https 5.805 or newer

Enjoy,

--the VMware team

Ubuntu 12.04 LTS Desktop

Naposledy jsem si instaloval VMware vSphere Perl SDK na notebook. Instalace je opět pro Ubuntu 10.04 popisována v dokumentaci. Taktéž je doporučeno instalovat jen něco.

32 bit
sudo apt-get install build-essential gcc uuid uuid-dev perl libssl-dev perl-doc liburi-perl libxml-libxml-perl libcrypt-ssleay-perl
64 bit
sudo apt-get install ia32-libs build-essential gcc uuid uuid-dev perl libssl-dev perl-doc liburi-perl libxml-libxml-perl libcrypt-ssleay-perl

Doinstalovávám tyto deb balíky

libarchive-zip-perl
libcrypt-ssleay-perl
libclass-methodmaker-perl
libdata-dump-perl
libsoap-lite-perl


tar xvzf VMware-vSphere-Perl-SDK-5.1.0-780721.x86_64.tar.gz
cd vmware-vsphere-cli-distrib


Test verze Perl SDK.

perl -MVMware::VIRuntime -e 'print $VMware::VIRuntime::VERSION'
5.1.0


Test spojeni s ESXi pomocí připravených ukázkových scriptů.

cd /usr/lib/vmware-vcli/apps/general/
./connect.pl --url https://192.168.42.13/sdk/webService --username root --password ***
Connection Successful
Server Time : 2012-09-19T12:31:19.505723Z


Pokud se nám objevuje chybová hláška začínající ...

Server version unavailable at ...

Slevíme z bezpečnosti a nastavíme si danou proměnnou na zero.

export PERL_LWP_SSL_VERIFY_HOSTNAME=0

Teď už jen zažít programovat :-) Jinak mnoho zajímavých informací je na blogu vmware http://blogs.vmware.com/vsphere/tag/vsphere-api

Zabbix

Pro otestování Perl SDK je možno užít a mírně modifikovat tento script

time ./zabbix_perl_api_vmware.pl 192.168.42.13 ahKaer5a root
0

real    0m27.655s
user    0m19.087s
sys    0m0.253s


Tento script do /tmp/vmware_api_IP.txt vytvoří soubor s informacema o běhu ESXi.

Array_0.Queue_Command_Latency.average:    0
Uptime:    2251653
Array_0.Disk_Write_Requests.summation:    2768
Array_0.Disk_Read_Requests.summation:    1872
CpuUsed:    800000000
MEM_consumed:    5467086848
Array_0.Physical_Device_Write_Latency.average:    0
vmnic1.duplex:    0
Array_0.Disk_Command_Latency.average:    3
MEM_shared:    337231872
vmnic1.state:    0
MEM_swapused:    0
Array_0.Disk_Commands_Issued.summation:    4641
Volume.Capacity_datastore1:    744371519488
MEM_heapfree:    8821760
MEM_overhead:    329478144
Array_0.Disk_Command_Aborts.summation:    0
vmnic0.Network_Packets_Received.summation:    926
MEM_unreserved:    7255425024
vmnic1.speed:    0
Array_0.Queue_Read_Latency.average:    0
Volume.Free_NFSDATA:    5556114989056
MEM_zero:    188387328
vmnic0.Network_Data_Receive_Rate.average:    65536
Array_0.Disk_Bus_Resets.summation:    0
Volume.Capacity_NFSDATA:    5902284800000
MEM_swapout:    0
MEM_vmmemctl:    0
MaintenanceMode:    0
MEM_sysUsage:    382578688
Array_0.Queue_Write_Latency.average:    0
MEM_reservedCapacity:    321536
Array_0.Disk_Read_Rate.average:    1150976
MEM_swapin:    0
MEM_usage:    6522880
Array_0.Kernel_Disk_Command_Latency.average:    0
Array_0.Disk_Write_Rate.average:    2843648
vmnic0.state:    1
Array_0.Physical_Device_Read_Latency.average:    7
Array_0.Kernel_Disk_Read_Latency.average:    0
Array_0.Disk_Read_Latency.average:    7
MEM_state:    0
MEM_granted:    5213470720
Volume.Free_datastore1:    158921129984
vmnic0.duplex:    1
Array_0.Disk_Write_Latency.average:    1
MemSize:    8582520832
Array_0.Physical_Device_Command_Latency.average:    3
vmnic0.speed:    1048576000
Array_0.Kernel_Disk_Write_Latency.average:    1
MemUsage:    5465178112
MEM_active:    647704576
MEM_sharedcommon:    132751360
CpuTotal:    11304000000
vmnic0.Network_Data_Transmit_Rate.average:    565248
vmnic0.Network_Packets_Transmitted.summation:    886

pátek 7. září 2012

SSHFS Linux a FreeBSD


Velmi pěkný na dané téma je článek na root.cz. Hnedle jsem zkoušel instalovat na Debian nebo Ubuntu.

Na FreeBSD je instalace obdobná, jen se musí zprovoznit FUSE jako modul do kernelu.

Debian/Ubuntu

apt-get install sshfs

FreeBSD (pro kompilaci modulu je třeba mít stažene /usr/src)

/usr/ports/sysutils/fusefs-sshfs && make install

Do systému se nám nainstaluje i port fusefs-kmod, který obsahuje fuse.ko.

kldload /usr/local/modules/fuse.ko
/usr/ports]# kldstat | grep fuse
 7    1 0xc8331000 e000     fuse.ko


a můžeme montovat vzdálený home.

sshfs user@server.domena.cz: /mnt/server_home


pondělí 3. září 2012

Printer Toner Level Service vs Zabbix

Pokud chceme monitorovat IT infrastrukturu, můžeme začít hnedle u praktické informace a tou je stav spotřebního materiálu v tiskárnách a tou je toner.

Mnoho tiskáren má výrobcem implementován protokol SNMP. Protokol existuje v několika verzích, ale pro tiskárny doporučuji používat SNMPv1.

Na stránkách Zabbix wiki je k dispozici template pro HP Color LaserJet, z něj jsem vycházel a patřičně si jej upravil na BW a Color verzi.

Po chvilce googlování jsem našel stránku popisující Printer Toner Level Service, kde jsou popsány potřebné OID pro získání informace o toneru. Nutné je, aby tiskárna pordporovala SNMP Printer-MIB (RFC1759). Zde jsou OID v pěkné přehledné tabulce.

Pro manuální kontrolu můžeme použít tyto příkazy (test device Canon iPF600):

SNMP index of the toner cartridge / prtMarkerSuppliesDescription
snmpwalk -Os -c public -v 1 192.168.42.13 .1.3.6.1.2.1.43.11.1.1.6
mib-2.43.11.1.1.6.1.1 = STRING: "CyanInkCartridge"
mib-2.43.11.1.1.6.1.2 = STRING: "MagentaInkCartridge"
mib-2.43.11.1.1.6.1.3 = STRING: "YellowInkCartridge"
mib-2.43.11.1.1.6.1.4 = STRING: "MattBlackInkCartridge"
mib-2.43.11.1.1.6.1.5 = STRING: "MattBlackInkCartridge"
mib-2.43.11.1.1.6.1.6 = STRING: "BlackInkCartridge"
mib-2.43.11.1.1.6.1.7 = STRING: "WasteInkTank"


The maximum capacity of toner cartridge.
snmpwalk -Os -c public -v 1 192.168.42.13 .1.3.6.1.2.1.43.11.1.1.8
mib-2.43.11.1.1.8.1.1 = INTEGER: 1300
mib-2.43.11.1.1.8.1.2 = INTEGER: 1300
mib-2.43.11.1.1.8.1.3 = INTEGER: 1300
mib-2.43.11.1.1.8.1.4 = INTEGER: 1300
mib-2.43.11.1.1.8.1.5 = INTEGER: 1300
mib-2.43.11.1.1.8.1.6 = INTEGER: 1300
mib-2.43.11.1.1.8.1.7 = INTEGER: 10000


The current level of the toner cartridge.
snmpwalk -Os -c public -v 1 192.168.42.13 .1.3.6.1.2.1.43.11.1.1.9
mib-2.43.11.1.1.9.1.1 = INTEGER: 1040
mib-2.43.11.1.1.9.1.2 = INTEGER: 1300
mib-2.43.11.1.1.9.1.3 = INTEGER: 520
mib-2.43.11.1.1.9.1.4 = INTEGER: 1300
mib-2.43.11.1.1.9.1.5 = INTEGER: 1040
mib-2.43.11.1.1.9.1.6 = INTEGER: 780
mib-2.43.11.1.1.9.1.7 = INTEGER: 2000


Pro obecný Zabbix Template je překážkou to, že si výrobci RFC1759 vykládají patrně jinak. A např. HP a Cannon maji na OID mib-2.43.11.1.1.6.1.1 jinou cartridge, konkrétně Cannon Cyan a HP Black.

Mé template jsou zde Template_Printer_Toner_BW.xml a Template_Printer_Toner_Colour.xml s tím že 100% funkční budou u HP tiskáren u jiných můžou být tonery zpřeházené. Mírnou úpravou si každý admin Zabbixu lehce upraví :-). Pro Testovací tiskárnu jsem si udělal extra template dle jména výrobce Template_Printer_Canon_Toner_Color.xml.

Pro trigger jsem užil jednoduchého vzorce (Level / Max Capacity) x 100 pro procentuální vyjádření úrovně spotřebování toneru.

neděle 2. září 2012

Zabbix Upgrade 1.8.13 to 2.0.2 on FreeBSD

Postupováno dle tohoto nándou.

http://www.zabbix.com/documentation/2.0/manual/installation/upgrade

1 Stop Zabbix server

/usr/local/etc/rc.d/zabbix_server stop

2 Back up the existing Zabbix database

mysqldump -u zabbix -p zabbix > zabbix-1.8.sql
gzip zabbix-1.8.sql


3 Back up configuration files, PHP files and Zabbix binaries

mkdir /tmp/backup
cp /usr/local/etc/zabbix/zabbix_server.conf ./
cp /usr/local/etc/zabbix/zabbix_agentd.conf ./
cp /usr/local/www/zabbix/conf/zabbix.conf.php ./
cp /usr/local/etc/php.ini ./


4 Install new server binaries

pkg_info | grep zabbix
zabbix-agent-1.8.13,2 Enterprise-class open source distributed monitoring (agent)
zabbix-frontend-1.8.13,2 Enterprise-class open source distributed monitoring (fronte
zabbix-server-1.8.13,2 Enterprise-class open source distributed monitoring (server

pkg_delete zabbix-*

cd /usr/ports/net-mgmt/zabbix2-agent && make install clean
cd /usr/ports/net-mgmt/zabbix2-server && make install clean

5 Review server configuration parameters

.

6 Upgrade the database

cd /usr/ports/net-mgmt/zabbix2-server/work/zabbix-2.0.2/upgrades/dbpatches/2.0/mysql

mysql -u zabbix -p zabbix < patch.sql


7 Install new Zabbix web interface

cd /usr/ports/net-mgmt/zabbix2-frondend && make install clean
+ missing dependece in port :-(
/usr/ports/devel/php5-gettext && make install clean
/usr/ports/textproc/php5-simplexml && make install clean


8 Start new Zabbix binaries

/usr/local//etc/rc.d/zabbix_server start

60274:20120903:104426.033 Zabbix Server stopped. Zabbix 1.8.13 (revision 27486).
 65378:20120903:122344.555 Starting Zabbix Server. Zabbix 2.0.2 (revision 29214).
 65378:20120903:122344.558 ****** Enabled features ******
 65378:20120903:122344.558 SNMP monitoring:           YES
 65378:20120903:122344.558 IPMI monitoring:           YES
 65378:20120903:122344.558 WEB monitoring:            YES
 65378:20120903:122344.558 Jabber notifications:      YES
 65378:20120903:122344.558 Ez Texting notifications:  YES
 65378:20120903:122344.558 ODBC:                       NO
 65378:20120903:122344.558 SSH2 support:              YES
 65378:20120903:122344.558 IPv6 support:              YES
 65378:20120903:122344.558 ******************************
 65378:20120903:122344.558 NodeID:                      1
 65378:20120903:122344.558 ******************************

úterý 28. srpna 2012

Zabbix 2.0.2 jako port FreeBSD

Tak jsme se konečně dočkali portu monitorovacího systému Zabbix ve verzi 2.0.2 v oblíbeném OS FreeBSD.

Mnoho distribucí Linuxu verzi Zabbix 2.0 zatím vůbec nepodporuje. Jediným zatím omezením FreeBSD portu je, že v portu není podpora nové funkcionality JMX, přesněji Java Gateway. Ale tu lze pustit kdekoliv jinde a server jen konfigurací propojit. Což je pouze malé omezení.

 

Instalace portů je velmi rychlá a snadná. Snad jen, že import tabulek se provádí manuálně jako post-instalační proces, který je portem popsán. Ve FreeBSD je tedy možné provozovat jak verzi 1.8.x tak verzi 2.0.x.

pondělí 20. srpna 2012

Automaticky zap. hlasitý odposlech

Již delší dobu mě trápilo u mého telefonu HTC Desire S na kterém provozuji defautlni Android od výrobce s HTC Sense - "Automaticky zap. hlasitý odposlech". Asi před měsícem se mi chováni telefonu samo změnilo tak, že se mi při volání nebo zvednutí hovoru telefon přepl vždy na hlasitý odposlech. Při každém volání jsem musel přepínat. Nikde jsem nastaveni této funkcionality v systému nenašel.

Dnes jsem opět pročítal fora a oprava je snadná.

Vypnout telefon a vyndat baterku. Problém odstraněn.

čtvrtek 16. srpna 2012

Kickstart

Je nástroj pro automatickou instalaci OS RedHat, CentOS či Fedora atd. Často se používa i jinde, ale primárně je spojován s instalátorem Anaconda.

V budoucnu mám instalovat větší množství serverů velmi obdobné konfigurace a tak místo pracného a někdy i omylného klikání v instalátoru hodlám použít právě Kickstart.

Nejjednodušší postup je následující. Nainstalujeme jeden systém na daném HW či prostředí. V tomto souboru /root/anaconda-ks.cfg je konfigurace jak byl tento systém instalován. Jeho modifikací pak už jen pozměníme ty volby, které chceme jinak. Na wiki fedora je návod s popisem voleb. Výsledný soubor umístíme na dostupný webserver např. pod názvem ks.cfg.


Pro instalaci nového systému použijeme os-boot.img v grubu zadáme "Tab" posléže už jen připíšeme ks=http://192.168.42.7/ks.cfg Instalace se provede automatizovaně. Mě se jen dotazovala, zda skutečně chci přepsat disk.

Testováno s RHEL63 a CentOS63.

pondělí 30. července 2012

Netdisco v praxi

Již v minulosti jsem zkoušel zprovoznit system Netdisco a zde na blogu jsem o tom psal velmi obecné informace. Onehdá jsem už neměl čas systém více poznat a použít jej tam kde je jeho silná stránka a tou jsou sítě s Layer 2 přepínačema. Nyní jsem provedl vesměs naprosto stejnou instalaci na FreeBSD 8.2.

Pro instalaci jsem volil port net-mgmt/netdisco/ který mi nainstaluje aktuální verzi 1.1.

n e t  d i s c o
--------------------------------------------------
Netdisco Version   : 1.1
SNMP::Info Version : 2.06
Net-SNMP Version   : 5.0701
Perl Version       : 118.53.46.49.52.46.50

Netdisco je dle webu vývojářů vyvýjeno na FreeBSD a tudíž v dokumentaci nechybí ani informace potřebné k instalaci. Jistá zastaralost dokumentace znát ovšem je. Volil jsem použití Apache 2.2 a PostgreSQL 9.1 s tím že tuto volbu port akceptuje.

Během instalace jsem měl jen jeden problém s konfliktem dvou balíků pkg_config a pkgconf. Musel jsem pkg_config odinstalovat a s nim i zavislosti. Posléze jsem instaloval port graphics/graphviz, který si pkgconf žádal. Zbytek instalace již nevykazoval problémy.

Po instalaci portu netdisco bylo třeba provést úkony v  postinstalačním postupu, který jsem zmiňoval již v prvním příspěvku. Tímto postupem importujeme db schéma do PostgreSQL a nastavíme systém tak, aby služby nastartovaly atd.

Pro přihlášení do Web GUI bylo třeba si přidat patřičného uživatele.

netdisco -u admin

Pro fungování v praxi jsem testoval přidávat switch Dell PowerConnect 5448 s public komunitou.

Pro přídání switchů jsem nejprve užil web GUI, ale i s debug režimem se mi nechtěl přidat i přes prověření funkčnosti SNMP pomocí snmpwalk, které odpovídalo.

snmpwalk -Os -c public -v 2c 192.168.0.42 system
sysDescr.0 = STRING: PowerConnect 5448
sysObjectID.0 = OID: enterprises.674.10895.3021
sysUpTimeInstance = Timeticks: (361894700) 41 days, 21:15:47.00
sysContact.0 = STRING: SmEjDiL
sysName.0 = STRING: switch42
sysLocation.0 = STRING: DKnL
sysServices.0 = INTEGER: 2
sysORLastChange.0 = Timeticks: (0) 0:00:00.00
sysORID.1 = OID: enterprises.89.73
sysORDescr.1 = STRING: RS capabilities
sysORUpTime.1 = Timeticks: (0) 0:00:00.00


Dle manuálové stránky patřičného modulu jsem se dočetl o potřebných MIB souborech.

man SNMP::Info::Layer3::Dell

Dále jsem postupoval tak, že jsem zařížení přidával za pomocí cmd.

netdisco -d 192.168.0.42
n e t  d i s c o
--------------------------------------------------
[
192.168.0.42] Discover starting
[
192.168.0.42] [Trying SNMP Version 1]
[
192.168.0.42]  Fetching Device Info
[
192.168.0.42]  Fetching Device Info
[
192.168.0.42]  Fetching Interface Information
[
192.168.0.42]   32 Interfaces.
[
192.168.0.42]  Fetching VLAN Information
[
192.168.0.42]   Scrubbing VLANs from device_port_vlan table... 0 removed
[
192.168.0.42]   Scrubbing VLANs from device_vlan table... 0 removed
[
192.168.0.42]   28 VLAN Interfaces, 1 names.
[
192.168.0.42]  Fetching Power Information
[
192.168.0.42]   0 Power Modules
[
192.168.0.42]  Fetching Module Information
[
192.168.0.42]   0 Modules.
[
192.168.0.42]  Fetching Neighbor Information
[
192.168.0.42]   ! CDP not Enabled.

Tento příkaz již napovídal, že mu chybí potřebné SNMP MIB definice. Netdisco má jeden balík MIBů. Tento balík obsahuje velké množství MIB souborů od ruzných výrobců i ty normované RFC, ale i přesto bylo třeba stáhnout MIBy od výrobce.

netdisco-mibs-0.9   Mibs for use with ports-mgmt/netdisco (and snmp)

Po chvilce googlování jsem požadované soubory postahoval např. z http://www.oidview.com/.

Během používání Netdisco jsem narazil na dvě chybové hlášky.

/usr/local/www/netdisco/device.html 789

Popis problému je v konferenci.

## line 789
## replace:
%  for my $f qw(fw hw sw) {
## with:
%  for my $f (qw(fw hw sw)) {


Např. pří restartu apache se objevovala tato druhá chyba na řádku ...

/usr/local/lib/perl5/site_perl/5.14.2/netdisco.pm 337

Stejné řešení s popisem problému zde.

pondělí 16. července 2012

iMedia WRAP


Jelikož jsem doma chtěl přejít na pfSense-2.0.1 musel jsem povýšit i HW a to z WRAP na ALIX. Zůstala mi již letitá, ale plně funkční deska WRAP.1E-1 a tak jsem pro ní hledal alespoň testovací využití. Nalezl jsem system multimediální distribuce http://www.imedialinux.com/ a její starší verzi i pro iMedia WRAP Linux.

Instalace byla snadná. Nutná byla drobná rekonfigurace IP atd. Deska ožila a plní funkci Linuxového serveru pro ověření funkcionality sitě atd.

čtvrtek 28. června 2012

sobota 16. června 2012

DHCP discovery

Někdy se může stát, že se v LAN nachází nějaký DHCP server a my nevíme, kde běží. Pro odhalení, kde běží nám může být nápomocen nmap.

nmap -sU -p 67 --script=dhcp-discover 192.168.42.1
Starting Nmap 6.00 ( http://nmap.org ) at 2012-06-16 21:04 CEST
Nmap scan report for alix.hide.lm.net (192.168.42.1)
Host is up (0.00025s latency).
PORT   STATE SERVICE
67/udp open  dhcps
| dhcp-discover:
|   DHCP Message Type: DHCPACK
|   Server Identifier: 192.168.42.1
|   Subnet Mask: 255.255.255.0
|   Router: 192.168.42.1
|   Domain Name Server: 192.168.42.1, 192.168.42.250
|   Domain Name: hide.lm.net
|_  NTP Servers: 195.113.144.201, 195.113.144.238
MAC Address: 00:0D:9B:10:DF:42 (PC Engines GmbH)

Podrobnější výpis je zajištěn tímto příkazem.

nmap -sU -p 67 -v -d -PN --script=dhcp-discover 192.168.42.1

Script v jazyce Lua dhcp-discover zajistí DHCP request, simuluje tedy chování DHCP klienta a vypíše nám hodnoty, které DHCP server poskytuje.

pátek 15. června 2012

ADSL pfSense 2.0.1

Připojení pomocí ADSL se mi vyhýbá a tak s ním nemám žádné technické zkušenosti. Změna nastala v momentě, kdy jsem byl požádán o použití routeru Alix/pfSense s ADSL konektivitou. Problém je v tom, že Alix deska nemá žádný modem. Jediným řešením je v pfSense nastavit WAN interface s použitím protokolu PPPoE. pfSense 2.0 má protokol PPPoE implomentován po novu.

ADSL modem, který jsem řešil byl dodán ISP model Zyxel Prestige P-660HW-T3 je nutno přenastavit /  Connection Setup- ISP Parameters for Internet Access / Mode - Bridge a vypnout DHCP server.

Snad jen IP modemu LAN musí být z jiného rozsahu než je LAN pfSense. Na strane ADSL routeru je LAN např. 10.1.1.1 a na straně pfSense se žádná IP na WAN nenastavuje, jen se tento interface nakonfiguruje na typ PPPoE, kde musíme znát username a password, které nám poskytne ISP.

Zabbix Java Gateway vs WebSphere

Konečně dozrál čas na otestovaní Zabbix Java Gateway s aplikačním serverem IBM WebSphere. Jak se na aplikáči povolí JMX pro vzdálené získání hodnot jsem si poznamenal minule zde. WAS tedy pomocí Jconsole poskytuje informace o java prostředí. Můžeme začít monitorovat.

V minulosti se k tomu používala aplikace ZapCat, která dělala most mezi JMX a Zabbixem, od Zabbix verze 2.0 je JMX monitoring implementován do Zabbixu a ZabCat již není nutné použít.

Zabbix Java Gateway je aplikace, která může běžet na Zabbix serveru, ale taktéž může běžet kdekoliv jinde, na jiném serveru nebo v jiné části sítě obdobně jako tomu je např u Zabbix Proxy.

V Zabbix serveru jsou nově 3 direktivy, pomocí kterých Zabbix server ví, kde ma Java Gateway a na jakém portu jí má kontaktovat.

JavaGateway=192.168.42.13
JavaGatewayPort=10052
StartJavaPollers=5


Instalace se provádí ze zdrojáků, zatím žádná ditribuce pro ZJG nevytvořila patřičný balíček, ale toho se uržitě časem dočkáme. Pro kompilaci je nutné mít instalováno Java JDK.

./configure --enable-java --prefix=$PREFIX && make && make install

Konfigurace klíču a hodnot zabbixu je popsána zde a je vcelku jednoduchá. V Default tamplatech Zabbix 2.0 jsou již některé použitelné hodnoty definované. Pro pochopeni definice je dobré otevřít si Jconsoli a pak už je jasné co znamená tento zápis.

jmx[“java.lang:type=Memory”,”HeapMemoryUsage.used”]

Monitorování WAS je tedy obdobné jako u jakého koliv jiného JVM, jen je obtížnější JMX remote zapnout. WAS ovšem poskytuje mnohem více hodnot, než které se v Jconsoli objevují. Pro získíní všech hodnot Performance Monitoring Infrastructure (PMI) budu muset ještě WAS déle studovat :-)

středa 13. června 2012

JMX with IBM WebSphere


Potřeboval jsem zprovoznit JMX v aplikačním serveru IBM WebSphere. Hledal jsem na Google a našel mi tento funkční návod. http://mallikarjungunda.blogspot.cz/2010/07/enable-jmx-remote-port-in-websphere.html

Do virtuálu ve Workstation jsem si nainstaloval WAS 7.0.0.21. Instalacky WAS mám bohužel jen pro Win 2008 server R2.

UPDATE:
Testoval nastaveni na RHEL 5.8 s WAS 7.0.0.27 a upravuji tedy návod.

Sručně co je třeba:

Deploynout tuto aplikaci PerfServletApp.ear, která je součásti WAS instalace.

Povolení PMI Data a nastavení All statistic.

Nastavíme Generic Jvm Argument na -Djavax.management.builder.initial= -Dcom.sun.management.jmxremote

lepe

-Djavax.management.builder.initial= -Djava.rmi.server.hostname=192.168.1.72  -Dcom.sun.management.jmxremote

Upravíme soubor
../AppServer/java/jre/lib/management/management.properties

Kde odkomentujeme tyto volby
com.sun.management.jmxremote.port=9001
com.sun.management.jmxremote.ssl=false
com.sun.management.jmxremote.authenticate=false

com.sun.management.jmxremote.local.only=false

Pak WAS otočíme a otestujeme funkčnosti pomocí JConsole nebo mužeme pouzit pěknou utilitku jmxterm

$ java -jar jmxterm-1.0-alpha-4-uber.jar Welcome to JMX terminal. Type "help" for available commands.
$>open 192.168.42.10:9001


Toto nastaveni WAS potřebuji pro otestování Zabbix 2.0 Java Gateway.

sobota 9. června 2012

ALIX2d2 a pfSense 2.0.1

Přistály mi doma tři desky ALIX2d2 pro realizaci tří routerů s OS pfSense. Jelikož již existuje verze pfSense 2.0.1 delší dobu, nastal čas na důkladné otestování na daném HW.

Nová verze řady 2.x přináší spoustu nových vlastností. Např. nově tvůrci připravují arch. verze i386 a amd64, rovněž nově přibyla verze i s VGA konzolí, takže při použití desky ALIX3d3, bude VGA již funkční.

Instalace na CF se nezměnila, jen se mi 4G image (pfSense-2.0.1-RELEASE-4g-i386-nanobsd.img.gz) nevešla a 4GB CF, použil jsem 2G. Stará CF čtečka mi umřela a nová má asi velý buffer, protože dd provede výpis o ukončení, ale čtečka stále bliká a zapiseje. Na to tedy pozor a vyčkat!

Nových vlastností je kupa, ale první krůčky mi naznačují, že alespoň konfigurace Alias a Rules, lze importovat. Ještě musím otestovat import celé konfigurace z pfSence 1.2.3 a importnout ji do pfSense 2.0.1.

Mile mě překvapila existence balíčku zabbix-proxy, což se může velmi hodit u větších HW silnějších routerů.

čtvrtek 31. května 2012

gallery3 vs php 5.4.3

Na jedné základní škole provozuji php webovou galleri. Je to šikovná aplikace, která umí zpracovávat fotky přímo z foťáku, generuje si náhledy atd. Je plně lokalizována atd. Vlastnosti je celá řada.

Ovšem jak to bývá jsou s takovou aplikací někdy problémy. Naposledy jsem dlouze řešil problém s uploadem fotek, který mají dle mě nepochopitelně ve flash. Nástrojů pro generování náhledů se dá použít v gallerii hnedle několik. GD Graphic Library,  velmi známý ImageMagic a inovativní GraphicMagic. Problém spočíval v tom, že po uploadu fotky se předává ke spracování a zde to haprovalo. Naštěstí po hodinách laborování začal fungovat GraphicMagic.

Po včerejším upgradu PHP ve FreeBSD na verzi php5-5.4.3 se školní gallerie verze gallery3-3.0.3 odmlčela a na úvodní stránce byla jen bílá obrazovka. Marně jsem hledal v logách, ale marně. Poslední změnou byl upgrade PHP a tak jsem se zaměřil na dané verze.

gallery3-3.0.3 + php5-5.4.3

Googl mi napověděl :-)

http://sourceforge.net/apps/trac/gallery/ticket/1839
Don't call ob_end_clean() if PHP >= 5.4. Fixes #1839. Thanks to

Dohledal jsem si patřičný soubor Kohana.php, udelal kopii, upravil kod a pro jistotu udela patch.

pkg_info -L  gallery3-3.0.3 | grep -i Kohana.php
cd  /usr/local/www/gallery3/system/core/
cp  Kohana.php Kohana.php-inst
joe  Kohana.php
diff -u Kohana.php-inst Kohana.php
--- Kohana.php-inst    2012-05-30 21:43:45.000000000 +0200
+++ Kohana.php    2012-05-30 21:45:39.000000000 +0200
@@ -525,8 +525,12 @@
                 $close();
             }

-            // Store the Kohana output buffer
-            ob_end_clean();
+            // Store the Kohana output buffer.  Apparently there was a change in PHP
+            // 5.4 such that if you call this you wind up with a blank page.
+            // Disabling it for now.  See ticket #1839
+            if (version_compare(PHP_VERSION, "5.4", "<")) {
+                ob_end_clean();
+            }
         }
     }

pondělí 28. května 2012

NetSetMan


Většina OS mají spávce síťových připojení jakožto součást sama sebe. Např. v Linuxu s Gnome je Network Manager a Mac OS X ma asi network configuration. Win 7 nemá nic :-( Jen někteří výrobci dodávají s HW i kupu svých aplikaci např. Lenovo má nějaká spravce připojení. Pro widle mi jeden znamý doporučil aplikaci NetSetMan. Za Pro verzi asi nebudu váhat zaplatit.

pátek 18. května 2012

grep ve Windows

Pokud potřebujeme takzvaně grepnout nějaký textový soubor na výskyt nějakého řetězce, potřebujeme na to aplikaci grep, alespoň v UNIXových systémech je to věc prastará. Do windows si můžeme nainstalovat UnxUtils, ale ne vždy můžeme na servery toto instalovat.

Pokud je v systému PowerShell můřeme použít krkolomný příkaz Select-String.

PS C:\temp> Select-String -Path .\test.txt -Pattern "test"

test.txt:1:Tento text je testovaci.
test.txt:2:Testovat je treba.
test.txt:3:Kazdy testuje vse kolem sebe.

Druhá ukázka je z Cygwin ...

maly@nbmaly-tmp /cygdrive/c/temp
$ grep.exe -ni "test" test.txt 
1:Tento text je testovaci.
2:Testovat je treba.
3:Kazdy testuje vse kolem sebe.