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í.
čtvrtek 20. prosince 2012
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í.
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:
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.
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
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.
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
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"
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.
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
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 ...
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.
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!
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
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
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
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 scripttime ./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.
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 ******************************
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.
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.
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.
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.
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.
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.
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.
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 ...
Stejné řešení s popisem problému zde.
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 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
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: DKnLsysServices.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.
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.
Podrobnější výpis je zajištěn tímto příkazem.
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.
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
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)
|_ 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.
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.
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.
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.
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 :-)
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ů.
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.
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();
+ }
}
}
+++ 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.
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.
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.
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.
neděle 13. května 2012
Den otevřených dveří - Hasiči DKnL
Den otevřených dveří - Hasiči DKnL, a set on Flickr.
Příjemná akce pro Vojtu. Co mohl, to si prolezl.Via Flickr:
13.5.2012