Moin, moin.
Ich habe monitord auf einem raspberry pi installiert und kann monitord nun mit einem simplen POCSAG Diagramm in eine Endlosschleife treiben.
Ist das so gewollt? ;-)
Das Diagramm wird erkannt und korrekt ausgewertet. Nach einer kurzen Verzögerung, wird die Meldung
ins Log geschrieben und im Abstand von ca. 0,2sek ein Eintrag in die mySQL DB geschrieben.Code:00:02:31.718 ERROR: monitord/PluginThread.cpp(132) max plugin queue size exceeded. moduleresult not queued
Unterbindet man das Schreiben auf den MySQL-Server (Plugin rausnehmen oder falsche Zugangsdaten), tritt der Fehler nicht auf.
Folgende Eckdaten:
Diagramm hat 1200 Baud und wird vom BOS-Tool [Alarmgeber] generiert.
monitord.xml (Zugangsdaten entfernt):
monitord.log:HTML-Code:<?xml version="1.0" encoding="ISO-8859-1"?> <monitordconfig version="1.0"> <name> Monitord </name> <logfile> monitord.log </logfile> <!-- monitord.log = normal, screen = Bildschirm --> <loglevel> DEBUG </loglevel> <!-- DEBUG, ERROR und INFO --> <SocketFilterScript> socketfilter.lua </SocketFilterScript> <PluginFilterScript> pluginfilter.lua </PluginFilterScript> <auth> <login> <name>test</name> <password>test</password> </login> <ip action="allow">127.0.0.1</ip> <!-- Diese IPs muessen sich nicht einloggen --> <ip action="login"> any </ip> <!-- Diese IPs muessen sich einloggen --> <ip action="deny">any</ip> <!-- Diese IPs koennen sich nicht einloggen --> </auth> <!-- --> <tcpsocket> <bind> * </bind> <port mode="monitord"> 9333 </port> <port mode="fms32pro"> 9300 </port> <port mode="crusader"> 7778 </port> </tcpsocket> <soundcard num="0"> <!--<device>/dev/dsp0</device>--> <!-- OSS: die erste Soundkarte --> <device>plughw:1,0</device> <!-- ALSA: die erste Soundkarte --> <status>1</status> <!-- 1=aktiv, 0=deaktivert --> <baud>22050</baud> <name> Erste Soundkarte </name> <!-- Linker Kanal --> <channel part="left"> <name>Kanal 1</name> <module type="fms"> <syncbits> 12 </syncbits> <crc-check> 1 </crc-check> <algorithmus> 0 </algorithmus> <maxerrors> 3 </maxerrors> </module> <module type="poc512"> <algorithm> 1 </algorithm> <crc-check> 1 </crc-check> <ecc> 0 </ecc> <maxerrors> 3 </maxerrors> </module> <module type="poc1200"> <algorithm> 1 </algorithm> <crc-check> 1 </crc-check> <ecc> 0 </ecc> <maxerrors> 3 </maxerrors> </module> </channel> <!-- Rechter Kanal --> <channel part="right"> <!-- Audio Plugin --> <name>Kanal 2</name> </channel> </soundcard> <dataplugins> <!-- Daten Plugin --> <plugin name="mysql"> <!--<file> plugins/libmplugin_mysql-0.dll</file>--> <file> plugins/.libs/libmplugin_mysql.so.0.0.0 </file> <parameters> <logfile> mysql.log </logfile> <loglevel> DEBUG </loglevel> <hostname> server.de</hostname> <port> 3306 </port> <username> user</username> <password> pw</password> <database> db</database> <ssl>0</ssl> <!-- 0: ssl disabled - 1: ssl enabled --> <ssl-cacert>/etc/mysql/ssl/ca-cert.pem</ssl-cacert> <ssl-cert>/etc/mysql/ssl/client-cert.pem</ssl-cert> <ssl-key>/etc/mysql/ssl/client-key.pem</ssl-key> <mapping typ="fms"> <table> monitord_fms </table> <field name="uhrzeit" source="mysql"> now() </field> <field name="status"> statusdezimal </field> <field name="kennung"> fmskennung </field> <field name="richtung"> richtung </field> <field name="text"> textuebertragung </field> <field name="tki"> tki </field> <field name="quelle"> channelnum </field> </mapping> <mapping typ="pocsag"> <table> monitord_pocsag </table> <field name="uhrzeit" source="mysql"> now() </field> <field name="kennung"> ric </field> <field name="sub"> sub </field> <field name="text"> text </field> <field name="quelle"> channelnum </field> </mapping> <mapping typ="zvei"> <table> monitord_zvei </table> <field name="uhrzeit" source="mysql"> now() </field> <field name="typ"> weckton </field> <field name="kennung"> zvei </field> <field name="text"> text </field> <field name="quelle"> channelnum </field> </mapping> </parameters> </plugin> </dataplugins> </monitordconfig>
Code:00:22:01.951 INFO: monitord/Monitor.cpp(68) monitord restarted - logging with loglevel DEBUG 00:22:01.952 DEBUG: monitord/MonitorModulesResults.cpp(51) Dispatcher startet 00:22:01.954 INFO: monitord/Monitor.cpp(113) monitord 2.0svn READY 00:22:01.969 INFO: monitord/Monitor.cpp(217) starting soundcard #0 00:22:01.969 INFO: monitord/SndPipe.cpp(152) creating decoders for soundcard #0 00:22:01.970 INFO: monitord/SndPipe.cpp(156) creating decoder for soundcard #0L:FMS 00:22:01.970 DEBUG: monitord/MonitorModuleFMS.cpp(100) FMS Parameter 00:22:01.970 DEBUG: monitord/MonitorModuleFMS.cpp(101) sample : 22050 00:22:01.971 DEBUG: monitord/MonitorModuleFMS.cpp(102) syncbits: 12 00:22:01.971 DEBUG: monitord/MonitorModuleFMS.cpp(103) crc : 1 00:22:01.971 DEBUG: monitord/MonitorModuleFMS.cpp(104) level : 0.15259 00:22:01.972 DEBUG: monitord/MonitorModuleFMS.cpp(105) Algo : 0 00:22:01.972 DEBUG: monitord/MonitorModuleFMS.cpp(106) ignW : 0 00:22:01.972 DEBUG: monitord/MonitorModuleFMS.cpp(107) ignQ : 0 00:22:01.973 DEBUG: monitord/MonitorModuleFMS.cpp(108) ErrC : 0 00:22:01.973 DEBUG: monitord/MonitorModuleFMS.cpp(109) force : 0 00:22:01.973 INFO: monitord/SndPipe.cpp(201) creating decoder for soundcard #0L:POC512 00:22:01.974 INFO: monitord/MonitorModulePocsag512.cpp(66) (2) sample - crc - ecc - minpreambel - maxerrors - algo:22050 - 1 - 0 - 300 - 10 - 1 00:22:01.974 INFO: monitord/MonitorModulePocsag512.cpp(79) Algorithmus:1 00:22:01.974 INFO: monitord/MonitorModulePocsag512.cpp(86) SPHASE_INC is:1521 00:22:01.975 INFO: monitord/SndPipe.cpp(228) creating decoder for soundcard #0L:POC1200 00:22:01.975 INFO: monitord/SndPipe.cpp(263) loading audioplugins for left channel 00:22:01.975 INFO: monitord/SndPipe.cpp(265) loading audioplugins for right channel 00:22:01.997 INFO: monitord/posix/MonitorAudioALSA.cpp(107) [ALSA] Using pcm_buffer_size=16384 periods=2 00:22:02.004 INFO: monitord/Monitor.cpp(225) Soundcard #0 started - complete 00:22:02.006 INFO: monitord/Monitor.cpp(147) monitord socketserver started 00:22:02.008 DEBUG: monitord/SocketServer.cpp(851) SocketManager erstellt 00:22:02.011 INFO: monitord/Monitor.cpp(153) fms32pro socketserver started 00:22:02.015 INFO: monitord/Monitor.cpp(158) crusader socketserver started 00:22:02.015 INFO: monitord/PluginThread.cpp(390) reading plugin configuration 00:22:02.016 INFO: monitord/PluginThread.cpp(401) Plugin found: mysql 00:22:02.016 DEBUG: monitord/PluginThread.cpp(402) File:plugins/.libs/libmplugin_mysql.so.0.0.0 00:22:02.016 DEBUG: monitord/PluginThread.cpp(405) found parameters 00:22:02.017 DEBUG: monitord/PluginThread.cpp(16) Erstellt PT: 00:22:02.017 DEBUG: monitord/PluginThread.cpp(30) DLL Name:plugins/.libs/libmplugin_mysql.so.0.0.0 00:22:02.039 DEBUG: monitord/PluginThread.cpp(34) done .... 00:22:02.196 INFO: monitord/plugins/libmplugin_mysql.cpp(191) successfully connected to mysql database USERNAME on host SERVER.de with username="USERNAME" 00:22:02.196 DEBUG: monitord/PluginThread.cpp(368) startet plugin plugins/.libs/libmplugin_mysql.so.0.0.0 00:22:02.198 INFO: monitord/PluginThread.cpp(79) PluginThread starting 00:22:02.198 DEBUG: monitord/Monitor.cpp(167) PluginManager started 00:22:16.972 DEBUG: monitord/MonitorModulePocsag.cpp(165) Sync gefunden 00:22:17.721 DEBUG: monitord/MonitorModulePocsag.cpp(402) Debug(POCSAG): channelnamehex = "4b616e616c2031" channelnum = "0" datum = "06.10.13" ric = "1111111" servernamehex = "geändert" sub = "0" subhex = "" text = "" timestamp = "1381011737" typ = "pocsag" uhrzeit = "00:22:17" 00:22:17.722 DEBUG: monitord/PluginThread.cpp(90) plugin processing - size=1 00:22:17.723 DEBUG: monitord/plugins/libmplugin_mysql.cpp(82) mysql: processing Result... 00:22:17.849 DEBUG: monitord/plugins/libmplugin_mysql.cpp(279) field:kennung | value=ric 00:22:17.850 DEBUG: monitord/plugins/libmplugin_mysql.cpp(279) field:quelle | value=channelnum 00:22:17.850 DEBUG: monitord/plugins/libmplugin_mysql.cpp(279) field:sub | value=sub 00:22:17.851 DEBUG: monitord/plugins/libmplugin_mysql.cpp(279) field:text | value=text 00:22:17.851 DEBUG: monitord/plugins/libmplugin_mysql.cpp(279) field:uhrzeit | value=now() 00:22:17.851 DEBUG: monitord/plugins/libmplugin_mysql.cpp(298) Insertstring: insert into monitord_pocsag (kennung,quelle,sub,text,uhrzeit) values ("1111111","0","0","",now()) 00:22:58.711 DEBUG: monitord/MonitorModulePocsag.cpp(165) Sync gefunden 00:22:59.458 DEBUG: monitord/MonitorModulePocsag.cpp(402) Debug(POCSAG): channelnamehex = "4b616e616c2031" channelnum = "0" datum = "06.10.13" ric = "1111111" servernamehex = "geändert" sub = "0" subhex = "" text = "" timestamp = "1381011779" typ = "pocsag" uhrzeit = "00:22:59" 00:22:59.459 DEBUG: monitord/PluginThread.cpp(90) plugin processing - size=1 00:22:59.460 DEBUG: monitord/plugins/libmplugin_mysql.cpp(82) mysql: processing Result... 00:22:59.463 DEBUG: monitord/MonitorModulePocsag.cpp(402) Debug(POCSAG): channelnamehex = "4b616e616c2031" channelnum = "0" datum = "06.10.13" ric = "0000001" servernamehex = "geändert" sub = "0" subhex = "" text = "" timestamp = "1381011779" typ = "pocsag" uhrzeit = "00:22:59"
Kurze Interpretation der Symptome:
"void PluginThread::addResult" wird zu häufig aufgerufen. ;-)




Zitieren