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