středa 18. září 2019

Integrace WSUS a Zabbix

Do windows moc neděkám, ale občas je nutné něco ze světa Window$ propojit se Zabbixem. WSUS je takova užitečná služba, která šetří linku a hlavně zajišťuje instalaci aktualizací a těch není nikdy dost.

Pro integraci Zabbix a WSUS jsem našel dva prjekty a tento https://github.com/zbx-sadman/WSUS mi příjde zajimavý a snadno nasaditelný. Používá PowerShell script, který na straně WSUS serveru zjistí poměrně mnoho informací o stavu aktualizací. Pomoci LLD rozkreje WSUS Computer Groups.

Veškerou funkcionalitu pokrývá jeden klíč a tím je wsus.miner[]

Správná funkce se dá snadno prověřit pomocí cmd utilitky zabbix_get.

Např. verze WSUS

zabbix_get -s 192.168.42.13 -k wsus.miner[Get,Info,FullVersion]
10.0.17763.678



nebo LLD Computer Group

zabbix_get -s 192.168.42.13 -k wsus.miner[Discovery,ComputerGroup]
{
 "data":[
        { "{#NAME}": "All Computers", "{#ID}": "xxx-xxx-xxx-xxx-xxx" },
        { "{#NAME}": "Servers", "{#ID}": "
xxx-xxx-xxx-xxx-xxx" },
        { "{#NAME}": "Station", "{#ID}": "
xxx-xxx-xxx-xxx-xxx" },
        { "{#NAME}": "Test", "{#ID}": "
xxx-xxx-xxx-xxx-xxx" },
        { "{#NAME}": "Unassigned Computers", "{#ID}": "
xxx-xxx-xxx-xxx-xxx" }
    ]
}


Objevené hodnoty v grafech je možní nasázet do Dashboardů.

ZabbixDashboard WSUS

pátek 3. května 2019

Monitoring IPSec tunelů na pfSense

Již řadu let používám pfSense spolu s několika IPSec tunely. Monitorování tunelů jsem dlouho zanedbával. Dnes jsem našel řesení přímo odladěné pro pfSense, takže nasazení je rychle a snadné. Stačí doinstalovat package sudo, umístit scripty a do zabbix agenta nastavit uživatelské klíče.

https://github.com/alanwds/zabbix_ipsec_pfsense

https://github.com/fralvarezcalvo/zabbix_ipsec_pfsense

( Opravena podpora Python 3.2 ) 

Tento projekt vychází z jiného a přidává právě postup zprovoznění na pfSense. Pomocí LLD se automaticky objeví nakonfigurované tunely.

( Upravena podpora pro pfSense 2.5.0 s podpora Python 3.7 )

https://github.com/smejdil/zabbix_ipsec_pfsense

Zabbix Latest data - IPSec

pondělí 11. března 2019

Aeskulap - DICOM Viewer

Dnes se mi do rukou dosly nějaké ty rentgeny na CD ke skartaci. Nedalo mi to na jeden svůj jsem se chtěl podívat. Na CD byl nějaký widloidní software a tak jsem pátral po Image souborech a objevil jsem formát DICOM.

Po krátké konzultaci s pane Googlem jsem našel alikaci - Aeskulap - DICOM Viewer psanou v GTK. Tak jsem si ji s radostí nainstaloval a na své snímky se podíval.

sudo aptitude install aeskulap

Aplikace se umí napojit i na server, kde se rentgeny ukládájí. Překvapilo, mě, že exisují i přidělené porty.

acr-nema    104/tcp        dicom        # Digital Imag. & Comm. 300
acr-nema    104/udp        dicom


V českém zdravotnictví se Ubuntu asi moc nepoužívá ale těší mě, že takové Open Source projekty existují :-)

Zdrojové kody této aplikace jsou na GitHubu. Zde autor uvádí informace o již zmíněných serverech PACS - picture archiving and communication system.

Tak jsem rychle hledal nejaký ten free software a ejhle je toho hned několik. Zajímavý název má aplikace PACS - Dicoogle, další je např. Orthanc-server. Oba servery jsou psány v Java a též je možné je provozovat na Devian/Ubuntu distrech. Předpokládám že tento SW se v českých nemocnicích nepoužíva :-(

čtvrtek 7. března 2019

ELK export import

Dlouho jsem si sem nic nepoznamenal. Ale právě řeším u jednoho zákazníka migraci Logmanagementu od Datasys z ELISA3 na ELISA4. Hlavním rozdílem jsou verze ELK.

ELISA3 - elasticsearch-1.7.5-1.noarch
ELISA4 - elasticsearch-6.4.2-1.noarch

Jediným možným způsobem jak přenést indexy ze stareho ELK do nové je export do JSON a opět import. K tomu se používá utilitka elasticdump.


yum intsall npm

npm install elasticdump -g
/usr/bin/elasticdump -> /usr/lib/node_modules/elasticdump/bin/elasticdump
/usr/bin/multielasticdump -> /usr/lib/node_modules/elasticdump/bin/multielasticdump


Samotný export import probíhá následovně:

Export z ELK do JSON

elasticdump --input=http://localhost:9200/logstash-2019.02.13 --output=/data/tmp/elisa-2019.02.13.json --type=data --limit=1000
Wed, 06 Mar 2019 14:33:04 GMT | starting dump
Wed, 06 Mar 2019 14:33:04 GMT | got 100 objects from source elasticsearch (offset: 0)
...
Wed, 06 Mar 2019 14:33:05 GMT | sent 100 objects to destination file, wrote 100
Wed, 06 Mar 2019 14:33:05 GMT | got 0 objects from source elasticsearch (offset: 1000)
Wed, 06 Mar 2019 14:33:05 GMT | Total Writes: 1000
Wed, 06 Mar 2019 14:33:05 GMT | dump complete



Po vytvoření dumpu je nutné změnit hlavní atributy, které ELISA4 nově zavedla.

Jednoduchý script provede náhradu řetězců atributu s @.

cat replace_atributes.sh
#!/bin/sh

sed -i -e 's/@message/AEFN.Message/g' $1
sed -i -e 's/@msgHost/AEFN.Host/g' $1
sed -i -e 's/@msgSource/AEFN.Source/g' $1
sed -i -e 's/@msgSeverity/AEFN.Severity/g' $1
sed -i -e 's/@msgUsername/AEFN.Username/g' $1

# EOF



Index, který v ELK má velikost 5GB má jako dump velikost mnohem větší 11GB, proto se i sed poněkud potrapí.

time ./replace_atributes.sh elisa-2019.02.13.json

real    21m26.231s
user    3m55.123s
sys     6m57.925s


Kopie dumpu na misto importu

scp migrace@10.20.30.40:/data/tmp/elisa-2019.02.13.json ./

V závěru už jen vesele importujeme do ELISA4 a zase jdeme na kafe.

Import z JSON do ELK

elasticdump --input=/data/tmp/elisa-2019.02.13.json --output=http://localhost:9200/elisa-2019.02.13 --type=data --limit=1000
...
Thu, 07 Mar 2019 10:00:49 GMT | sent 1008 objects to destination elasticsearch, wrote 1008
Thu, 07 Mar 2019 10:00:50 GMT | got 1009 objects from source file (offset: 1498981)
Thu, 07 Mar 2019 10:00:50 GMT | sent 1009 objects to destination elasticsearch, wrote 1009
Thu, 07 Mar 2019 10:00:50 GMT | got 1015 objects from source file (offset: 1499990)
Thu, 07 Mar 2019 10:00:51 GMT | sent 1015 objects to destination elasticsearch, wrote 1015
Thu, 07 Mar 2019 10:00:51 GMT | got 1021 objects from source file (offset: 1501005)

...

V logu ELK mužeme sledovat zaznamy spojené s importem

tail -f /var/log/elasticsearch/ELISA.log
[2019-03-07T10:57:25,396][INFO ][o.e.c.m.MetaDataMappingService] [elisa4] [elisa-2019.02.23/wQqd60uaRHWviUDdAyi7_w] update_mapping [logs]
[2019-03-07T10:57:41,658][INFO ][o.e.c.m.MetaDataMappingService] [elisa4] [elisa-2019.02.23/wQqd60uaRHWviUDdAyi7_w] update_mapping [logs]
[2019-03-07T10:58:12,576][INFO ][o.e.c.m.MetaDataMappingService] [elisa4] [elisa-2019.02.23/wQqd60uaRHWviUDdAyi7_w] update_mapping [logs]