[vz-users] falschen Messwert in der Aggregation löschen

Andreas Götz cpuidle at gmail.com
Wed Feb 8 21:55:58 CET 2017


@china schick mit gerne Zugangsdaten und DB User.

Viele Grüße,
Andreas

> Am 08.02.2017 um 21:41 schrieb Frank Richter <frank.richter83 at gmail.com>:
> 
> Und brauchst du aggregate minute wirklich? Es war IMHO mal so dass das Frontend das nicht benutzt hat, aktuellen Stand kenne ich allerdings nicht.
> Was ist dein interval bzw. aggtime von vzlogger her?
> 
> Grüße
> Frank
> 
> Am 08.02.2017 21:37 schrieb "Frank Richter" <frank.richter83 at gmail.com>:
>> Hi,
>> 
>> möglicherweise ist dein /tmp/ zu klein für das was MySQL da vorhat. Ist das ein Pi mit Udos Image (/tmp/ als Ramdisk)?
>> 
>> Grüße
>> Frank
>> 
>> Am 08.02.2017 21:25 schrieb <china2013 at abwesend.de>:
>>> Hallo Frank,
>>> 
>>> ja, der Channel ist "El. Energie (Zählerstände)"
>>> CPU Last ist jetzt einen Tag später knapp 400% (Quadcore)
>>> 
>>> Die Last kommt sicher von crontab der jede Minute aggregate startet.
>>> Da ich glaube, dass durch den kill und reboot die Arbeiten nicht sauber zu Ende gelaufen sind will ich nochmal aufräumen.
>>> 
>>> 1. in crontab -e die 3x aggregate.php run -m delta -l minute/hour/day herausnehmen
>>> 2. sudo reboot
>>> 3. aggregate.php clear
>>> 
>>> Ergebnis:  :-(
>>> pi at PI3:~ $ php /var/www/volkszaehler.org/misc/tools/aggregate.php clear
>>> Clearing aggregation table.
>>> Done clearing aggregation table.
>>> 
>>> pi at PI3:~ $ php /var/www/volkszaehler.org/misc/tools/aggregate.php run -m delta -l minute
>>> Performing 'delta' aggregation on 'minute' level.
>>>   [Doctrine\DBAL\Exception\DriverException]
>>>   An exception occurred while executing 'REPLACE INTO aggregate (channel_id, type, timestamp, v
>>>   alue, count) SELECT channel_id, ? AS type, MAX(timestamp) AS timestamp, MAX(value) AS value,
>>>   COUNT(timestamp) AS count FROM data WHERE channel_id =         ? AND timestamp < UNIX_TIMESTAMP(DATE_
>>>   FORMAT(NOW(), "%Y-%m-%d %H:%i:00")) * 1000 GROUP BY channel_id, YEAR(FROM_UNIXTIME(timestamp/
>>>   1000)), DAYOFYEAR(FROM_UNIXTIME(timestamp/1000)), HOUR(FROM_UNIXTIME(timestamp/1000)), MINUTE
>>>   (FROM_UNIXTIME(timestamp/1000))' with params [1, "6"]:
>>>   SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/MYjCVsYM' (Errcode: 28)
>>> 
>>>   [Doctrine\DBAL\Driver\PDOException]
>>>   SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/MYjCVsYM' (Errcode: 28)
>>> 
>>>   [PDOException]
>>>   SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/MYjCVsYM' (Errcode: 28)
>>> run [-l|--level LEVEL] [-m|--mode MODE] [-p|--period PERIOD] [--] [<uuid>]...
>>> 
>>> Der Error kommt so nach ca. 5 Minuten
>>> So ne Kacke - und wat nu? Die Tabelle aggregate ist jetzt nach dem Error immer noch komplett leer.
>>> 
>>> Bitte helft mir
>>> Saftwerk
>>> 
>>>> Am 08.02.2017 um 00:43 schrieb Frank Richter:
>>>> Ich geh mal davon aus, dass dein Kanaltyp "Zählerstände" ist, oder? Dann kannst du die betreffende Zeile in der Tabelle aggregate einfach händisch löschen.
>>>> Ansonsten stell mal die Rohwerte für den fraglichen Bereich hier rein (Middleware-Request mit options=raw).
>>>> 
>>>> Gruß
>>>> Frank
>>> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20170208/f837806b/attachment.html>


More information about the volkszaehler-users mailing list