influxdb - syslog-ng az Ip tartomány foghíjjasan tárlódik le az adatbázisban

Sziasztok!

Tanácsot kérnék, hogy miért csinál nekem ehez hasonló anomáliákat az influxdb. Egy komplett ip range-t szeretnék letárolni az influxdb-be, de a /16 tartomány 65k IP címe helyett csak 11k -t rak bele az adatbázisba, de azt is össze-vissza:

1598129767714 192.168.253.38 192.168..253.38
1598129767717 192.168.253.238 192.168.253.238
1598129767719 192.168.254.164 192.168.254.164
1598129767722 192.168.255.110 192.168.255.110

 

syslog-ng:

destination d_localiprange_db {
        http(
                url("http://127.0.0.1:8086/write?db=logs")
                persist-name("localiprange")
                method("POST")
                user_agent("syslog-ng")
                body("iprange,iprange=${iprange} iprange=\"${iprange}\" ${UNIXTIME}${MSEC}")

Egy külön fájlba kiírom azt a tartalmat ami az adatbázisba is bekerülne, de itt megvan minden IP.

 

Előre is köszönöm a segítséget.

Hozzászólások

Próbáld meg lassabban írni! Valszeg ezért foghíjas, mert ez egy timeline adatbázis. Ha egyazon időpontra két érték érkezik, akkor joggal gondolja, hogy abból az egyik kell csak, pl hőmérséklet esetén. A timeline/timehistory DB-k egy idő után (naponta, majd hetente majd havonta) az értékeket átlagolják is, na akkor fog szépen kinézni az IP címként tárolt, de influxdb által számként értelmezett értékek átlaga :)

Miért influx?

Timeseries.

Amugy ahogy nezem 2-3 masodpercenkent ir bele, ami loszar. Inkabb az a nem loszar, hogy egy timestamp-hez 65ezer erteket akar tenni, ami ha csak a stringek byte-jait nezzuk 7 byte*65000 = 455 Kb. Nem tudom mennyi-t lehet belerakni, de szerintem ez kicsit sem jo igy.

Ahogy irtatok is nem erre van a timeseries.

A masik hogy minek eltaroni egy columnar nosql db-be (ami az influx alatt dohog) igy az adatot? Semmi elonye nincs. Ezt en siman kiirnam egy txt allomanyba soronkent akkor mar inkabb. De nem tudjuk mi lenne a cel ugye. 

Ahogy Te is kerdezted miert influx. De meginkabb mi a celja a kerdezonek? Mire gondolt a kolto, amikor ezt megirta? :D 

Csak egy felvetés lett volna, hogy mi lenne ha syslog-ng-vel az influxdb http api-n keresztül etetnék meg adatokat. S kíváncsi voltam, hogy mennyit bír. Adott egy pi home amire BT-n (bár ennek is van egy raklap hátránya) vagy wifi-n csatlakoznak a szenzorok emelet/szobaként. Emeletenként egy PI lenne, a PI egy központi log szerverbe küldi tovább, ami majd átrakja a hőmérséklet/pára/stb/stb adatokat. Az adatokat patterndb-vel szétszedem, több measurement-be amik számomra fontosak. Egyszerűbb volt így kipróbálni. Igen tudom, annyi szenzor adat nem fog jönni belőle, mint amit én csináltam, de így is kijött a limitációja.

Amúgy ezek a time series adatbázisok alkalmasak egyáltalán szöveges loggolásra, vagy esetleg számozott osztályok loggolására, vagy ezek tényleg csak ilyen folytonos mennyiségeket tudnak kezelni, mint a hőmérséklet? Nekem is kéne valami log tárolásra és feldolgozásra, aztán elsőnek nekem is ezek ugrottak be.

mindenre a megfelelo eszkozt (noSQL megoldast):

szoveg -> Docstore (eg.: ElasticSearch)

key.value -> Key-value store (eg.: Mongo)

Tmeseries (with tags/labels) -> Columnar (eg.: Influx)

Dependencies -> GraphDB

A fentiek csak peldak. Es persze lehet monduk elastic-ban tarolni timeseraies-t is, meg key-value-t ism, meag az osszsben mindenfelet. A kerdes hogy mi a cel es ehhez meg kell valasztani az eszkozt. Nem csak tarolas the data management szintjen is. Hat ez is egy szakma :D