QueueMetrics > QueueMetrics installation

File sql: not found

(1/3) > >>

silmaril:

Hi,

I'm having trouble with the Mysql Storage ssytem.
I was able to set-up qloaderd.pl with no problem, the queue_log table schema is the default one,
except for the data1 field size which was too small to fetch our URLs:
alter table queue_log modify data1 varchar(255);

The Mysql Storage Info is correctly seeing the table with all datas:

Partition     Entries     N. calls     From:     To:     Days of data:     Last heartbeat:     
P000    11.140    773      2008-04-21 04:51      2008-05-08 05:59    16,9 days      2008-05-08 05:57

But i keep getting "File sql:P000|1 does not exists" in the custom report setup.

Also i wasn't able to find usefull info in the tomcat logs, no Security error, only:

--- Code: ---8 mai 2008 20:04:06 org.apache.catalina.core.ApplicationContext log
INFO: [9F07C086390BBC4546A49292995AFA31] ===== Configurazione oggetto Analizzalog ===========
 File        : sql:P000|1
 Tst Iniziale: 1210182300
 Tst Finale  : 1210268700
 Tst corrente: 1210268700
 Agenti amm. : [agent/136, none]
 Code amm.   : [none, support-out, support]
 TZ Offset   : 0
 RewrLocal   : true
 RewrLocalQN : false
 ChiudiCB/QSt: false
 Ign QStart  : false
 Ending ch.na: false
 Min Anom Wai: 1000
 Min Anom Tal: 2000
 Server ID   :
====================================================
===-------------- MYSQL extension ---------------===
 Connection  : com.mysql.jdbc.Connection@773c550f
 Partition   : P000
====================================================

8 mai 2008 20:04:06 org.apache.catalina.core.ApplicationContext log
INFO: LowayTransactionController: [9F07C086390BBC4546A49292995AFA31] [ERR] The file sql:P000|1  does not exist
8 mai 2008 20:04:06 org.apache.catalina.core.ApplicationContext log
INFO: LowayTransactionController: [9F07C086390BBC4546A49292995AFA31] Classe 'it.loway.app.queuemetrics.caricamento.caricaCoda' eseguita in 14  ms
8 mai 2008 20:04:06 org.apache.catalina.core.ApplicationContext log
INFO: LowayTransactionController: [9F07C086390BBC4546A49292995AFA31] Tempo totale esecuzione verbo 'qm_mostra_coda': 28 ms

--- End code ---

And even activating mysql query log didn't help, i don't see any queue_log query going thru the database (on the custom report page)

Here is the configuration.property file:

--- Code: ---default.queue=1

# This is the default queue log file.
default.queue_log_file=sql:|2

#This key is used only as a placeholder for CVS versioning information
00_version=$Id: configuration.properties,v 1.23 2007/11/21 16:11:15 lenz Exp $

#When the realtime page for an agent is computed, the queue_log is NOT read in its entirety but only the last 'n' bytes.
realtime.max_bytes_agent=65000

#The top level directory where monitored calls are held.
#Do NOT forget to add the ending slash.
default.monitored_calls=/var/spool/asterisk/

#How many digits to consider as a default area code
default.areacode_digits=2

default.start_hour=9

default.end_hour=18

default.days=7

#if liveclock is enabled, the system clock is synchronized with asterisk server system clock.
liveclock.enable=true

#The max delay that will be shown in the TOS graph
sla.max_monitored_delay=120

#How big are time intervals for the TOS graph
sla.interval=10

#Your company logo (full or relative path) - shall be resized to be an image 200 x 72
layout.logo=$WEBAPP/img/sm_your_logo.gif

#HTML string displayed on the login page.
layout.splash=Please ask your system administrator for the correct credentials to access this instance of QueueMetrics.

# Preset 1: standard DB access. Edit to suit your DB needs.
sqlPreset.1.table=queue_log
sqlPreset.1.f_time_id=time_id
sqlPreset.1.f_call_id=call_id
sqlPreset.1.f_queue=queue
sqlPreset.1.f_agent=agent
sqlPreset.1.f_verb=verb
sqlPreset.1.f_partition=partition
sqlPreset.1.f_data1=data1
sqlPreset.1.f_data2=data2
sqlPreset.1.f_data3=data3
sqlPreset.1.f_data4=data4
sqlPreset.1.f_incr=unique_row_count

sqlPreset.2.table=queue_log
sqlPreset.2.f_time_id=time_id
sqlPreset.2.f_call_id=call_id
sqlPreset.2.f_queue=queue
sqlPreset.2.f_agent=agent
sqlPreset.2.f_verb=verb
sqlPreset.2.f_partition=
sqlPreset.2.f_data1=data1
sqlPreset.2.f_data2=data2
sqlPreset.2.f_data3=data3
sqlPreset.2.f_data4=data4
sqlPreset.2.f_incr=unique_row_count

#Is the calls panel in the realtime page invisible by default? 0 false, 1 true
realtime.calls_invisible=0

#Is the agents panel in the realtime page invisible by default? 0 false, 1 true   
realtime.agents_invisible=0

#Are not  the only agents to be shown on the realtime page those who are "known" for the queue? 0 false, 1 true
realtime.members_only=1

#In how many seconds is the realtime page to refresh?
realtime.refresh_time=18


# Do we consider callback agents permanent until logoff (default as Asterisk 1.2), or do they get disconnected at restart?
default.permanentCallBackAgents=true

# Do we take into consideration sessions and calls that are not complet eyet for the main analysis?
default.considerIncompletetEntities=true

#callFile spool dir, set to blank for no call files at all.
callfile.dir=/var/spool/asterisk/outgoing

callfile.monitoring.enabled=true
callfile.monitoring.channel=Local/$EM@from-internal/n
callfile.monitoring.extension=11
callfile.monitoring.context=queuemetrics

callfile.outmonitoring.enabled=true
callfile.outmonitoring.channel=Local/$EM@from-internal/n
callfile.outmonitoring.extension=14
callfile.outmonitoring.context=queuemetrics

callfile.agentdial.enabled=true
callfile.agentdial.channel=Local/13@queuemetrics/n
callfile.agentdial.extension=10
callfile.agentdial.context=queuemetrics

callfile.calloutcome.enabled=true
callfile.calloutcome.channel=Local/12@queuemetrics/n
callfile.calloutcome.extension=10
callfile.calloutcome.context=queuemetrics

callfile.agentlogin.enabled=true
callfile.agentlogin.channel=Local/20@queuemetrics/n
callfile.agentlogin.extension=10
callfile.agentlogin.context=queuemetrics

callfile.agentlogoff.enabled=true
callfile.agentlogoff.channel=Local/21@queuemetrics/n
callfile.agentlogoff.extension=10
callfile.agentlogoff.context=queuemetrics

callfile.agentpause.enabled=true
callfile.agentpause.channel=Local/22@queuemetrics/n
callfile.agentpause.extension=10
callfile.agentpause.context=queuemetrics

callfile.agentunpause.enabled=true
callfile.agentunpause.channel=Local/23@queuemetrics/n
callfile.agentunpause.extension=10
callfile.agentunpause.context=queuemetrics


# Rewrites Local/XXX@ext channels in the format Agent/XXX
default.rewriteLocalChannels=true

# DO NOT CHANGE
realtime.use_sql_now=false

#The default time zone offset. Valid values -24...24 hours
default.timeZoneOffset=0

#If an ongoing call has a wait time that exceeds this value, drop it. 0: ignore
default.maxOngoingWaitTime=1000

#If an ongoing call has a talk time that exceeds this value, drop it. 0: ignore
default.maxOngoingTalkTime=2000

#Ignore QUEUESTART statements.
default.ignoreQueueStarts=false


#The hour of the day to start realtime monitoring or sXX: sliding window of XX hours
realtime.startHour=0


# The default locale for QueueMetrics. DO NOT CHANGE unless you know what you're doing.
default.language=fr
default.country=FR

# Which channel name to show for a call: True: last one seen - False: first one found
default.useEndingChannelName=true

# How to create Excel files: True: Excel 2003 XML - False: CSV
default.useXmlExcel=false

# Show the queue composition or just the main queue name
default.showQueueComposition=true


# how long is an hour for hourly breakdown; default 60 minutes
default.hourly_slot=15

#Add the following key to enable default showing of all subqueues (default: no):
realtime.all_subqueues=0

# Join multi-stint calls as a default
default.joinMultiStintCalls=false

# Uses the starting or ending channel name in case they're different.
default.useEndingChannelName=false


# Decide whether to check for alarms on the wait time of ongoing conversations.
realtime.waitAlarmOnLiveCalls=true
sound.yellowAlarm=../img/sounds/dingdong.wav
sound.redAlarm=../img/sounds/ringer.wav



# Cluster to poll for RT data
# list of pipe-separated members of the cluster
# if callfilesdir = "", the commands will be sent through the manager API
cluster.servers=aleph|trix

cluster.aleph.manager=tcp:dial:12345@10.10.3.5
cluster.aleph.queuelog=sql:P001
cluster.aleph.monitored_calls=z:/qm_streamcall/server_aleph
cluster.aleph.callfilesdir=
cluster.aleph.audioRpcServer=
cluster.aleph.agentSecurityKey=

cluster.trix.manager=tcp:admin:amp111@127.0.0.1
cluster.trix.queuelog=sql:P002
cluster.trix.monitored_calls=z:/qm_streamcall/server_trix
cluster.trix.callfilesdir=
cluster.trix.audioRpcServer=
cluster.trix.agentSecurityKey=


# If true, hide export buttons on the Realtime page
realtime.hideExportButtons=false

# If true, show all agent sessions. If false, show only agent sessions with at least one call.
default.useRawAgentSessions=false

# If true, the agent cannot change their code in the login/logoff/pause popups.
default.lockedAgentPopupCode=false

#If true, the user will not be able to monitor without a given location.
realtime.assignedLocationsOnly=false


--- End code ---

QueueMetrics:
Have you tried using only sql:P000 instead of sql:P000|1 ?
Also, are you sure that all the fields in:


--- Code: ---sqlPreset.1.table=queue_log
sqlPreset.1.f_time_id=time_id
sqlPreset.1.f_call_id=call_id
sqlPreset.1.f_queue=queue
sqlPreset.1.f_agent=agent
sqlPreset.1.f_verb=verb
sqlPreset.1.f_partition=partition
sqlPreset.1.f_data1=data1
sqlPreset.1.f_data2=data2
sqlPreset.1.f_data3=data3
sqlPreset.1.f_data4=data4
sqlPreset.1.f_incr=unique_row_count

--- End code ---
have the same name as the table columns?

silmaril:
Well yes, it's the standard queue_log table from your sql file:

mysql> describe queue_log;
+------------------+------------------+------+-----+---------+----------------+
| Field            | Type             | Null | Key | Default | Extra          |
+------------------+------------------+------+-----+---------+----------------+
| partition        | varchar(20)      | NO   | MUL |         |                |
| time_id          | int(11) unsigned | NO   |     | 0       |                |
| call_id          | varchar(30)      | NO   |     |         |                |
| queue            | varchar(30)      | NO   |     |         |                |
| agent            | varchar(30)      | NO   |     |         |                |
| verb             | varchar(30)      | NO   |     |         |                |
| data1            | varchar(255)     | NO   |     |         |                |
| data2            | varchar(30)      | NO   |     |         |                |
| data3            | varchar(30)      | NO   |     |         |                |
| data4            | varchar(30)      | NO   |     |         |                |
| serverid         | varchar(10)      | NO   |     |         |                |
| unique_row_count | int(10) unsigned | NO   |     | NULL    | auto_increment |
+------------------+------------------+------+-----+---------+----------------+
12 rows in set (0.00 sec)


Also i tried

sql:
sql:P000
sql:P000|1
sql:|2

Edit:
Also what i don't understand is why is there no java exception, nor useful data in the log.
As i said queuemetrics isn't even accessing the database, except for fetching the agent list
before failing with that error

QueueMetrics:
One stupid thing: are you sure you can run a select * on queue_log, i.e. the table is not ruined?

silmaril:
Well yes the table is fine:

mysql> check table queue_log;
+------------------------+-------+----------+----------+
| Table                  | Op    | Msg_type | Msg_text |
+------------------------+-------+----------+----------+
| queuemetrics.queue_log | check | status   | OK       |
+------------------------+-------+----------+----------+
1 row in set (0.03 sec)


and i can do a select *

Navigation

[0] Message Index

[#] Next page

Go to full version