mir ist heute beim Update auf die neue Config Version aufgefallen, dass sich 2 GB Log Dateien auf der SD Karte meines Miniservers befinden.
Dabei habe ich außer beim NFC Code Zugang kein Loging / Statistiken aktiviert.
Bei genauerer Betrachtung habe ich gesehen, dass fast alle Einträge in den Logs etwas mit meiner USV Überwachung via LoxBerry zutun haben.
(Aktuell kommen alle paar Sekunden eine ganze Latte an Logs hinzu.)
Das Problem müsste in dem PicoC Code liegen, da ich sonst alles andere in Verbindung mit der USV durchgeguckt habe.
Ich nutze diesen PicoC Skript zur Abfrage der USV:
[FONT=Calibri][COLOR=#000000]char* p,*pS;[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]char* cStatus;[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]char* cBattdate;[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]char* cModel;[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]char szBuffer[1500];[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]int nLen;[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]int bOnline = 0;[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]double dCharge,dLoad,dLinev,dTimeleft,dBattv,dTonbatt,dCu monbatt;[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]printf("Starting USV APC BackUPS 1500 watch");[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]while(TRUE)[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]{[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]STREAM* stream = stream_create("/dev/tcp/xxx.xxx.xxx.xx/3551",0,0);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]if (stream != NULL)[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]{[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]szBuffer[0] = 0;[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]szBuffer[1] = 6;[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]stream_write(stream,szBuffer,2);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]stream_flush(stream);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]stream_write(stream,"status",6);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]stream_flush(stream);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]nLen = stream_read(stream,szBuffer,2,1000);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]nLen = stream_read(stream,szBuffer,sizeof(szBuffer) - 1,1000);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]stream_close(stream);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]szBuffer[nLen] = 0;[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]szBuffer[nLen + 1] = 0;[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]printf("APC BufferLen=%d",nLen);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]pS = szBuffer;[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]while(*pS)[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]{[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]//MODEL : UPS model derived from UPS information[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]p = strstr(pS,"MODEL :");[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]if (p != NULL)[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]{[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]cModel = strstrskip(p,"MODEL : ");[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]printf("APC Model=%s",cModel);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]setoutputtext(0,cModel);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]}[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]//STATUS : UPS status (online, charging, on battery etc)[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]p = strstr(pS,"STATUS :");[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]if (p != NULL)[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]{[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]cStatus = strstrskip(p,"STATUS : ");[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]printf("APC Status=%s",cStatus);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]setoutputtext(1,cStatus);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]p = strstr(pS,"ONLINE");[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]if (p != NULL)[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]setoutput(0,0);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]else[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]setoutput(0,1);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]}[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]//LINEV : Current input line voltage[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]p = strstr(pS,"LINEV :");[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]if (p != NULL)[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]{[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]dLinev = batof(p + 11);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]setoutput(1,dLinev);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]printf("APC Linev=%f",dLinev);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]}[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]//LOADPCT : Percentage of UPS load capacity used as estimated by UPS[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]p = strstr(pS,"LOADPCT :");[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]if (p != NULL)[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]{[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]dLoad = batof(p + 11);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]setoutput(2,dLoad);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]printf("APC Load=%f",dLoad);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]}[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]//BCHARGE : Current battery capacity charge percentage[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]p = strstr(pS,"BCHARGE :");[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]if (p != NULL)[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]{[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]dCharge = batof(p + 11);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]setoutput(3,dCharge);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]printf("APC Bcharge=%f",dCharge);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]}[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]//TIMELEFT: Remaining runtime left on battery as estimated by the UPS[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]p = strstr(pS,"TIMELEFT :");[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]if (p != NULL)[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]{[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]dTimeleft = batof(p + 11);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]setoutput(4,dTimeleft);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]printf("APC Timeleft=%f",dTimeleft);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]}[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]//BATTV : Current battery voltage[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]p = strstr(pS,"BATTV :");[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]if (p != NULL)[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]{[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]dBattv = batof(p + 11);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]setoutput(5,dBattv);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]printf("APC Battv=%f",dBattv);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]}[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]//TONBATT :Seconds currently on battery[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]p = strstr(pS,"TONBATT :");[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]if (p != NULL)[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]{[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]dTonbatt = batof(p + 11);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]setoutput(6,dTonbatt);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]printf("APC Tonbatt=%f",dTonbatt);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]}[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]//CUMONBATT : Cumulative seconds on battery since apcupsd startup[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]p = strstr(pS,"CUMONBATT:");[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]if (p != NULL)[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]{[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]dCumonbatt = batof(p + 11);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]setoutput(7,dCumonbatt);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]printf("APC Cumonbatt=%f",dCumonbatt);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]}[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]//BATTDATE: Date battery last replaced (if set)[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]p = strstr(pS,"BATTDATE :");[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]if (p != NULL)[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]{[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]cBattdate = strstrskip(p,"BATTDATE : ");[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]printf("APC Battdate=%s",cBattdate);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]setoutputtext(2,cBattdate);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]}[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]pS += (strlen(pS) + 1);[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]}[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]}[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]else[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]printf("APC no connection");[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]sleeps(10); // wait 10 seconds[/COLOR][/FONT] [FONT=Calibri][COLOR=#000000]}[/COLOR][/FONT]
und so sehen die Logs dann in etwa aus:
2021-10-13 16:44:51.759;APC Model=Back-UPS RS 1500G
2021-10-13 16:44:51.777;APC Status=ONLINE
2021-10-13 16:44:51.795;APC Linev=234.0
2021-10-13 16:44:51.813;APC Load=26.0
2021-10-13 16:44:51.830;APC Bcharge=100.0
2021-10-13 16:44:51.848;APC Timeleft=19.8
2021-10-13 16:44:51.980;APC Battv=27.2
2021-10-13 16:44:52.046;APC Tonbatt=0.0
2021-10-13 16:44:52.064;APC Cumonbatt=146.0
2021-10-13 16:44:52.160;APC Battdate=2014-10-19
2021-10-13 16:45:03.272;APC BufferLen=1097
2021-10-13 16:45:03.416;APC Model=Back-UPS RS 1500G
2021-10-13 16:45:03.433;APC Status=ONLINE
2021-10-13 16:45:03.451;APC Linev=234.0
2021-10-13 16:45:03.469;APC Load=26.0
2021-10-13 16:45:03.487;APC Bcharge=100.0
2021-10-13 16:45:03.505;APC Timeleft=19.8
2021-10-13 16:45:03.637;APC Battv=27.2
2021-10-13 16:45:03.702;APC Tonbatt=0.0
2021-10-13 16:45:03.720;APC Cumonbatt=146.0
Kann mir vielleicht jemand sagen, was ich ändern muss, damit diese Logs ein Ende haben?
Kommentar