Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - noger

Stran: [1] 2 3 ... 6
1
Vývoj / Re:Python pandas - DataFrame to pdf_report
« kdy: 08. 01. 2021, 11:33:44 »
Opraveny json v prilohe  tohto komentara ;)

2
Vývoj / Python pandas - DataFrame to pdf_report
« kdy: 08. 01. 2021, 11:27:17 »
Ahojte, skusam si spravit report do PDF. Zasekol som sa pri rieseni, ako vytvorit tabulku/y pre vstup na export do PDF v mojom skripte.
Pravdepodobne som nieco zle pochopil, pretoze sa mi nedari pracovat s pandas aby som vytvoril tabulku. Ako spravne pracovat s takym json file ako mam?

Cielom je:
Tabulka 1 - Pocet nevyriesenych problemov za kazdy server ku dnu vytvorenia reportu
Nazov serveraPocet problemov
Server12
Server23

Pricom pocet riadkov nieje pevne dany. Moze sa menit

Tabulka 2 - Najcastejsie problemy z dane obdobie
Nazov serveraPopis problemu problemuVyskyt problemu
Server1More than 100 items having missing data for more than 10 minutes2
Server2Zabbix agent on Server2is unreachable for 5 minutes3

Pocet riadkov tiez nieje mozne urcit.

Dik za nakopnutie, odporucenie na zdroje s vysvetlenim ako to funguje.

3
Server / Re:Zabbix :: upgrade z 4.X na 5.0.5
« kdy: 23. 11. 2020, 10:17:20 »
Ahoj, latest data na to m monitorovanom hostovi su aktualne?

4
Sítě / Re:Zabbix Agent na IPv6 adrese
« kdy: 18. 08. 2020, 11:21:00 »
Ahoj, malo by to byt ok, napriklad:
Kód: [Vybrat]
ListenIP=94.127.11.11,10.0.104.15,2a22:432:0:6::2
https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/21605-is-ipv6-supported-in-1-8-4


5
Server / Re:Uzavření uživatele v domovském adresáři
« kdy: 29. 05. 2020, 07:49:56 »
Tak ako pisal @ByCzech, viac sposobov.

na sftp only mozes pouzit v /etc/ssh/sshd_config:
ForceCommand internal-sftp
a na uzamknutie v domovskom adresari:
ChrootDirectory /path/to/folder

ked pouzijes chroot directory, tak tento folder musi byt vlastneny uzivatelom root, aj skupinou root. Ja mam este na tento ucel aj tieto nastavenia:
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no


Samozrejme mam to spolu s MatchUser, aby tieto nastavenia neboli globalne, ale iba pre niektorych uzivatelov.

6
Vývoj / Re:Python 3.6 a Zabbix API: vytvoření listu s lastdat
« kdy: 30. 03. 2020, 10:00:49 »
Chceš udělat něco jako tohle:
Kód: [Vybrat]
final     = list()
container = dict()
basic     = dict()
tech      = dict()

container['Basic info']     = basic
container['Technical info'] = tech

final.append(container)

Premakane, vdaka.  ;)

7
Vývoj / Re:Python 3.6 a Zabbix API: vytvoření listu s lastdat
« kdy: 27. 03. 2020, 19:34:03 »
Este mam predsa len jeden dotaz:

mam nasledovny skript:

Kód: [Vybrat]
#Human readable format of partition's and memory size
def convert_size(size_bytes):
    if size_bytes == 0:
        return "0B"
    size_name = ("B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB")
    i = int(math.floor(math.log(size_bytes, 1024)))
    power = math.pow(1024, i)
    size = round(size_bytes / power, 2)
    return "{} {}".format(size, size_name[i])

#Collect all values of available partitions:
def disk_sizes():
        for itd in zapi.item.get(output="extend",hostids=(hlist['hostid']),searchWildcardsEnabled="true",search={"name":"*Total disk space*" }):
                for itdval in zapi.history.get(output="extend",hostids=(hlist['hostid']),itemids=(itd['itemid']),limit="1"):
                        var_disk_size = int(itdval['value'])
                        dict[itd['name']] = (convert_size(var_disk_size))
#Collect RAM size:
def ram_size():
        for itm in zapi.item.get(output="extend",hostids=(hlist['hostid']),searchWildcardsEnabled="true",search={"name":"*Total memory*" }):
                for mmval in zapi.history.get(output="extend",hostids=(hlist['hostid']),itemids=(itm['itemid']),limit="1"):
                        var_memory_size = int(mmval['value'])
                        dict[itm['name']] = (convert_size(var_memory_size))
#Query:
for hlist in zapi.host.get(output=["hostid","name","host"],limit="15"):
        dict = (hlist)
        disk_sizes()
        ram_size()
        data_json = json.dumps(dict, indent = 4, sort_keys = True)
        print(data_json)

Ktoreho vystup je

{
    "Total disk space on /": "45.59 GB",
    "Total disk space on /boot": "496.67 MB",
    "Total memory": "3.7 GB",
    "host": "mailgw.domain.sk",
    "hostid": "10284",
    "name": "ems01.domain.sk"
}
{
    "Total disk space on /": "75.44 GB",
    "Total disk space on /boot": "496.67 MB",
    "Total memory": "3.7 GB",
    "host": "zbx-prx1.domain.sk",
    "hostid": "10285",
    "name": "zbx-prx1.domain.sk"
}
{
    "host": "Commet.web.sensor.1",
    "hostid": "10286",
    "name": "ServerRoom sensor EIN1"
}
{
    "host": "firewall01",
    "hostid": "10287",
    "name": "prvy-firewall - Cisco ASA"
}


Ako dosiahnut, aby vystupom bolo nieco takeho:


{
    "Basic Info": {
        "host": "zbx-prx1.domain.sk",
        "hostid": "10285",
        "name": "zbx-prx1.domain.sk"
    },
    "Technical info": {
        "Total disk space on /": "75.44 GB",
        "Total disk space on /boot": "496.67 MB",
        "Total memory": "3.7 GB"
    }
}
{
    "Basic Info": {
        "host": "firewall01",
        "hostid": "10287",
        "name": "prvy-firewall - Cisco ASA"
    },
    "Technical info": {
    }
}


Ciel som si dal sam, myselel som si ze to hravo zvladnem, ale dnes cely den, som nad tym sedel a nepodarilo sa mi dosiahnut zelaneho stavu. Bud mi to zhavaruje na tom, ze niektore hosty nemaju napriklad niektory key ked sa to pokusam spravit cestou:

Kód: [Vybrat]
        final_dict = {'Basic Info': {'HostID':(dict['hostid']),'Name':(dict['host']),'Visible Name':(dict['name'])},'Technical info':{'Total memory RAM':(dict['Total memory'])}}
        data_json = json.dumps(dict, indent = 4, sort_keys = True)

S najvacsou pravdepodobnostou som nespravne pochopil ako funguju dict a ako z nich spravit json v uvedenom pripade.

8
Vývoj / Re:Python 3.6 a Zabbix API: vytvoření listu s lastdat
« kdy: 18. 03. 2020, 16:35:52 »
@ Standa Blábol : Vdaka za pomoc a komentar. Niekedy jednoducho pomoze jedna/dve vety a hned sa cloveku lahsie rozmysla.

Teraz to vyzera ovela lepsie a este som tam pridal aj kolko ma server RAM:
Kód: [Vybrat]
dict = {}
for hlist in zapi.host.get(output="extend"):
        dict = (hlist)
#       print(dict)
        for itd in zapi.item.get(output="extend",hostids=(hlist['hostid']),searchWildcardsEnabled="true",search={"name":"*Total disk space*" }):
                for itdval in zapi.history.get(output="extend",hostids=(hlist['hostid']),itemids=(itd['itemid']),limit="1"):
                        var_disk_size = int(itdval['value'])
                        dict[itd['name']] = var_disk_size

        for itm in zapi.item.get(output="extend",hostids=(hlist['hostid']),searchWildcardsEnabled="true",search={"name":"*Total memory*" }):
                for mmval in zapi.history.get(output="extend",hostids=(hlist['hostid']),itemids=(itm['itemid']),limit="1"):
                        var_memory_size = int(mmval['value'])
                        dict[itm['name']] = var_memory_size

        print(dict)

Vystup je krasny. Da sa s nim lepsie pracovat ako si spominal:

{'hostid': '10414', 'proxy_hostid': '10411', 'host': 'server1.domain.sk', 'status': '0', 'disable_until': '0', 'error': '', 'available': '0', 'errors_from': '0', 'lastaccess': '0', 'ipmi_authtype': '-1', 'ipmi_privilege': '2', 'ipmi_username': '', 'ipmi_password': '', 'ipmi_disable_until': '0', 'ipmi_available': '0', 'snmp_disable_until': '0', 'snmp_available': '0', 'maintenanceid': '0', 'maintenance_status': '0', 'maintenance_type': '0', 'maintenance_from': '0', 'ipmi_errors_from': '0', 'snmp_errors_from': '0', 'ipmi_error': '', 'snmp_error': '', 'jmx_disable_until': '0', 'jmx_available': '0', 'jmx_errors_from': '0', 'jmx_error': '', 'name': 'server1.domain.sk', 'flags': '0', 'templateid': '0', 'description': '', 'tls_connect': '1', 'tls_accept': '1', 'tls_issuer': '', 'tls_subject': '', 'tls_psk_identity': '', 'tls_psk': '', 'proxy_address': '', 'auto_compress': '1', 'Total disk space on C:': 598903615488, 'Total disk space on D:': 2399258275840, 'Total disk space on H:': 1000169533440, 'Total memory': 33790238720}
{'hostid': '10415', 'proxy_hostid': '10411', 'host': 'zabbix.domain.sk', 'status': '0', 'disable_until': '0', 'error': '', 'available': '1', 'errors_from': '0', 'lastaccess': '0', 'ipmi_authtype': '-1', 'ipmi_privilege': '2', 'ipmi_username': '', 'ipmi_password': '', 'ipmi_disable_until': '0', 'ipmi_available': '0', 'snmp_disable_until': '0', 'snmp_available': '0', 'maintenanceid': '0', 'maintenance_status': '0', 'maintenance_type': '0', 'maintenance_from': '0', 'ipmi_errors_from': '0', 'snmp_errors_from': '0', 'ipmi_error': '', 'snmp_error': '', 'jmx_disable_until': '0', 'jmx_available': '0', 'jmx_errors_from': '0', 'jmx_error': '', 'name': 'zabbix.domain.sk', 'flags': '0', 'templateid': '0', 'description': 'Test1', 'tls_connect': '1', 'tls_accept': '1', 'tls_issuer': '', 'tls_subject': '', 'tls_psk_identity': '', 'tls_psk': '', 'proxy_address': '', 'auto_compress': '1', 'Total disk space on /': 59743842304, 'Total disk space on /boot': 1023303680, 'Total disk space on /home': 56272654336, 'Total memory': 8033837056}

9
Vývoj / Python 3.6 a Zabbix API: vytvoření listu s lastdat
« kdy: 18. 03. 2020, 09:50:56 »
Ahojte,
potreboval by som poradit s nasledujucou mojou viziou:
Mam skript report1.py

Kód: [Vybrat]
#!/usr/bin/env python3.6
#Import libraries
from pyzabbix import ZabbixAPI
import math

#Basic configuration
zapi = ZabbixAPI("https://ulr.zabbix.api.tld")
zapi.login("test123", "test123")

###Definition custom functions
#Human readable unit's
def convert_size(size_bytes):
    if size_bytes == 0:
        return "0B"
    size_name = ("B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB")
    i = int(math.floor(math.log(size_bytes, 1024)))
    power = math.pow(1024, i)
    size = round(size_bytes / power, 2)
    return "{} {}".format(size, size_name[i])

############################################
#Query:
for hlist in zapi.host.get(output="extend"):
    for itd in zapi.item.get(output="extend",hostids=(hlist['hostid']),searchWildcardsEnabled="true",search={"name":"*Total disk space*" }):
        for itdval in zapi.history.get(output="extend",hostids=(hlist['hostid']),itemids=(itd['itemid']),limit="1"):
            var_disk_size = int(itdval['value'])
        print(hlist['hostid'],hlist['host'],hlist['name'],itd['name'],(convert_size(var_disk_size)),sep=";")

jeho vystupom je nieco taketo:
10084;zabbix2.domain.sk;zabbix2.domain.sk;Total disk space on /;26.79 GB
10084;zabbix2.domain.sk;zabbix2.domain.sk;Total disk space on /boot;1014.0 MB
10283;mailgw2.domain.sk;ems02.domain.sk;Total disk space on /;45.59 GB
10283;mailgw2.domain.sk;ems02.domain.sk;Total disk space on /boot;496.67 MB
10284;mailgw.domain.sk;ems01.domain.sk;Total disk space on /;45.59 GB
10284;mailgw.domain.sk;ems01.domain.sk;Total disk space on /boot;496.67 MB


Ako spravne dosiahnut ciel, ked ciel je vystup ktory by mal byt takyto:

10084;zabbix2.domain.sk;zabbix2.domain.sk;Total disk space on /;26.79 GB;Total disk space on /boot;1014.0 MB
10283;mailgw2.domain.sk;ems02.domain.sk;Total disk space on /;45.59 GB,Total disk space on /boot;496.67 MB
10284;mailgw.domain.sk;ems01.domain.sk;Total disk space on /;45.59 GB;Total disk space on /boot;496.67 MB


Zasekol som sa pri citani dokumentacie k n-ticiam, dictionaries, lists atd... v pythone. Asi by som potreboval mierne nakopnut.
P.S. niesom programator, iba obycajny admin. Ospravedlnujem sa ze vam kafrem do prace, ale rad sa naucim nieco nove.

10
Hardware / Re:Jakou USB-C dockinu s PD
« kdy: 10. 03. 2020, 13:03:09 »
Ahoj, ja mam I-tec https://m.alza.cz/i-tec-usb-c-metal-low-profile-4k-tripple-display-docking-station-power-delivery-85w-d5560564.htm. Mozem potvrdit ze sa prehrieva. Preto som si musel notebook dat mimo tejto docking station ktora sa da pouzit aj ako podlozka. Ale kvoli prehrievaniu, ktore sa prenasa aj na notebook som to vzdal. Rovnako aj monitor mi obcas nepripoji. Musim pockat kym vychladne, a potom uz zasa funguje, a ked nemam cas tak tasim redukciu usb-c to HDMI do druheho portu. Odporucam pri viac USB zariadeni pouzit vykonnejsiu nabijacku (80W min.)

Na kickstarter-i som objavil: https://www.kickstarter.com/projects/hypershop/hyperdrive-gen2-next-generation-usb-c-hub-2x-speed-and-power?ref=user_menu do ktoreho vkladam nadeje, ze sa nebude tak prehrievat. V mesiacoch 5-6 by mal dorazit. Dufam ze sa to vyrazne zlepsi.

11
Asi pri odstránení vlc ti ostalo niečo zo závislosti nainštalované.
Skús

Kód: [Vybrat]
apt-get autoremove

12
Sítě / Re:Privátní cloud služby na domácím NAS?
« kdy: 10. 11. 2019, 22:23:51 »
Najjednoduchšie riešenie je nextcloud.com. Na poštu postfix.org. Pri nextcloud nezabudnite na https a pri pošte antispam, napríklad https://spamassassin.apache.org alebo rspamd.org.

Je ale nutne mať pomerne veľké znalosti a taktiež aby ste nestrávili veľa času údržbe. Je na Vás či radšej nieje jednoduchšie a možno aj lacnejšie ostať pri službách ako ste písali napr. Google. To už si musíte rozhodnúť vy sám.

13
Skús produkty fibaro.

14
Software / Re:Zabbix - monitorování pouze v určitém čase
« kdy: 06. 05. 2019, 14:42:41 »
Presne ako pise Jeniceek, nastav si maintenace periodu bez kolektovania dat na toho host-a/group-u

Action ale v toom pripade musi mat pravidlo, ze host/group-a nieje v mainenance mode:

Action > Trigger > klikni na akciu ktorej sa to tyka > Conditions a vyber Maintenance status not in maintenance.

Ak uz to tam nahodou nemas.

15
Server / Re:Jak se připojit k serveru z Windows?
« kdy: 20. 03. 2019, 10:49:45 »
Necital som cele vlakno, ale skusil si toto? [...]
jj, tohle reseni ve vlakne je a overene (oproti tvemu odkazu je navic potreba nastavit sudo bez hesla)
alebo Remote command pre WinSCP
to by nepomohlo, to jen jednorazove pusti nejaky prikaz, se sudem bez hesla by to pustilo i "sudo prikaz" (bez moznosti zadavat uzivatelem vstup(resitelne castecne pres echo vstup | prikaz)), ale sudo opravneni by to nepredalo do stavajiciho scp/sftp sezeni, takze by editovat z listu souboru root soubory nemohl

@ k3dAR > Vdaka za vysvetlenie.

Stran: [1] 2 3 ... 6