Hi Alena, there's no records after 2013-11-08 (when i did the upgrade to CS
4.2).


If there are no records for Feb2 in the DB, can you check if CS reported
any usage during this day? How do i do that?


2014-03-18 13:45 GMT-03:00 Alena Prokharchyk <alena.prokharc...@citrix.com>:

>  Ok, so having 0 for some router records is actually fine as either the
> Vrs are stopped, or there are no vms. Good you've confirmed that's not the
> problem.
>
>  Now we have to debug something different - API not returning certain
> types of usage. For that, you have to:
>
>
>    1. go to cloud_usage DB
>    2. Select * from cloudusage where usage_type in (4,5)
>
> And see if there are any records for the Feb 2 are present. If there are,
> then its an API problem - when data is present in the DB, but API doesn't
> return it.
>
>  If there are no records for Feb2 in the DB, can you check if CS reported
> any usage during this day?
>
>  Thanks,
> Alena.
>
>   From: Diego Spinola Castro <spinolacas...@gmail.com>
> Date: Tuesday, March 18, 2014 at 8:46 AM
> To: Alena Prokharchyk <alena.prokharc...@citrix.com>
> Cc: "users@cloudstack.apache.org" <users@cloudstack.apache.org>, Kishan
> Kavala <kishan.kav...@citrix.com>
> Subject: Re: NetworkUsage
>
>   HI Alena, thanks for the answer. Let me explain better my case.
> Regarding those accounts , i have a lot of them without any instance
> running, there's also some vrouters of that list which are even stopped.
> I'm trying get the traffic count from usage api, i don't know why but all
> usage type 4 is zero, there's the commands i'm running:
>
>  Trying get UsageType=4
> curl "
> http://localhost:8096/client/api?command=listUsageRecords&startdate=2014-02-01&enddate=2014-02-01&type=4
> "
>  Neither Type 4 nor 5 are returning.
>
>  This used to work before upgrade to 4.2.
> BTW i have only one management server.
>
>
>
>
> 2014-03-17 20:54 GMT-03:00 Alena Prokharchyk <alena.prokharc...@citrix.com
> >:
>
>> Diego, spent some more time on debugging your issue. Might not be related
>> to transaction refactoring as it went in after 4.2. And records for some
>> accounts actually got non-0 network stat:
>>
>> 0 network stats:
>>
>> mysql> select count(*) from user_statistics where net_bytes_received=0 or
>> net_bytes_sent=0 order by account_id;
>> +----------+
>> | count(*) |
>> +----------+
>> |       26 |
>> +----------+
>> 1 row in set (0.00 sec)
>>
>> Non-0 network stats
>>
>> mysql> select count(*) from user_statistics where net_bytes_received!=0 or
>> net_bytes_sent!=0 order by account_id;
>> +----------+
>> | count(*) |
>> +----------+
>> |      207 |
>> +----------+
>> 1 row in set (0.00 sec)
>>
>>
>>
>> Adding Kishan to the thread as he has more expertise in Network usage
>> calculation and he might be able to help us.
>>
>>
>> I would divide problematic accounts (Networks) that are not getting usage
>> stats update, into 2 categories:
>>
>> CATEGORY #1 Networks having non-0 current_bytes* and 0 net_bytes received
>>
>> This situation is totally normal as net_bytes_received get updated only
>> when VR gets stopped. Yet on Diego's setup, those entries are not counted
>> when do network usage calculation. Here is the account having problems:
>>
>> mysql> select * from user_statistics where account_id=176;
>>
>> +-----+----------------+------------+-------------------+-----------+------
>>
>> --------+------------+--------------------+----------------+---------------
>> ---------+--------------------+--------------------+----------------+
>> | id  | data_center_id | account_id | public_ip_address | device_id |
>> device_type  | network_id | net_bytes_received | net_bytes_sent |
>> current_bytes_received | current_bytes_sent | agg_bytes_received |
>> agg_bytes_sent |
>>
>> +-----+----------------+------------+-------------------+-----------+------
>>
>> --------+------------+--------------------+----------------+---------------
>> ---------+--------------------+--------------------+----------------+
>> | 228 |              1 |        176 | NULL              |      1193 |
>> DomainRouter |        366 |                  0 |              0 |
>>    4271398427 |         2014478889 |                  0 |              0
>> |
>>
>> +-----+----------------+------------+-------------------+-----------+------
>>
>> --------+------------+--------------------+----------------+---------------
>> ---------+--------------------+--------------------+----------------+
>> 1 row in set (0.00 sec)
>>
>>
>>
>> And here is the Usage log:
>>
>>
>> 1. 2014-03-17 03:15:02,779 DEBUG [usage.parser.NetworkUsageParser]
>> (Usage-Job-1:null) Parsing all Network usage events for account: 176
>>
>> 2. 2014-03-17 03:15:02,779 DEBUG [usage.parser.NetworkUsageParser]
>> (Usage-Job-1:null) No usage record (0 bytes used) generated for account:
>> 176
>>
>>
>>
>>
>> Kishan, is it by design not to count current_bytes in network usage? Can
>> you please double check the code, because it doesn't look right to me as
>> the VR may not go into Stopped state for a while, yet we have to calculate
>> the usage
>>
>>
>> CATEGORY #2
>>
>> Accounts (networks) having all 0s for
>>
>> net_bytes_received/net_bytes_sent/current_bytes_received/current_bytes_sent
>>
>> Diego, for those accounts we have to figure out whether the backend
>> reporting any usage for the Vrs. To debug that, you have to:
>>
>> A) get all the VR names
>>
>> mysql> select name from vm_instance where removed is null and
>> vm_type='DomainRouter' and account_id in (select account_id from
>> user_statistics where net_bytes_received = 0 and net_bytes_sent=0 and
>> current_bytes_received=0 and curre
>> +-----------+
>> | name      |
>> +-----------+
>> | r-621-VM  |
>> | r-651-VM  |
>> | r-658-VM  |
>> | r-671-VM  |
>> | r-682-VM  |
>> | r-886-VM  |
>> | r-892-VM  |
>> | r-915-VM  |
>> | r-934-VM  |
>> | r-935-VM  |
>> | r-986-VM  |
>> | r-1002-VM |
>> | r-1004-VM |
>> | r-1030-VM |
>> | r-1148-VM |
>> | r-1205-VM |
>> | r-1221-VM |
>> +-----------+
>>
>>
>> B) Search for NetworkUsageAnswer and routerName in the log to locate
>> statements like that. Do it on your today's log and the log(s) from couple
>> of days before. You might also want to run some traffic
>>
>>
>> 2014-03-17 14:41:12,661 DEBUG [agent.transport.Request]
>> (DirectAgent-15:null) Seq 1-281411626: Processing:  { Ans: , MgmtId:
>> 4278190080, via: 1, Ver: v1, Flags: 10,
>>
>> [{"com.cloud.agent.api.NetworkUsageAnswer":{"routerName":"r-3-VM","bytesSen
>> t":0,"bytesReceived":0,"result":true,"details":"success","wait":0}}] }
>>
>>
>> If you see that the backend reports non-0 value, it means that the
>> Management server fails to save it. If the backend reports 0, and yet you
>> are sure that there is a network traffic generated on the routers above,
>> there might be some error in a way we collect the traffic on the VR.
>>
>>
>> Also how many management servers do you have in your setup?
>>
>>
>> -Alena.
>>
>>
>>
>> On 3/17/14, 12:05 PM, "Alena Prokharchyk" <alena.prokharc...@citrix.com>
>> wrote:
>>
>> >Diego, please go ahead and file a bug with Priority Critical against CS.
>> >Looks like there is some bug in a way to commit db statement in
>> >transaction resulting in the DB not being updated:
>> >
>> >2014-03-17 13:14:15,431 TRACE [db.Transaction.Transaction]
>> >(RouterMonitor-1:null) txn: Not committing because transaction started
>> >elsewhere:
>>
>> >-GenericDaoBase.update:814-ComponentInstantiationPostProcessor$Interceptor
>>
>> >Dispatcher.intercept:125-GenericDaoBase.update:774-ComponentInstantiationP
>>
>> >ostProcessor$InterceptorDispatcher.intercept:125-GenericDaoBase.update:126
>>
>> >2-ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept:125-
>>
>> >VirtualNetworkApplianceManagerImpl$NetworkUsageTask.run:948-Executors$Runn
>>
>> >ableAdapter.call:471-FutureTask$Sync.innerRunAndReset:351-FutureTask.runAn
>>
>> >dReset:178-ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201:165-
>>  >ScheduledThreadPoolExecutor$ScheduledFutureTask.run:267 /
>>
>> >-VirtualNetworkApplianceManagerImpl$NetworkUsageTask.run:900-Executors$Run
>>
>> >nableAdapter.call:471-FutureTask$Sync.innerRunAndReset:351-FutureTask.runA
>> >ndReset:178-ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201:165
>>
>> >-ScheduledThreadPoolExecutor$ScheduledFutureTask.run:267-ThreadPoolExecuto
>> >r.runWorker:1146-ThreadPoolExecutor$Worker.run:615-Thread.run:701 :
>> >update, update, update,
>>
>> >-VirtualNetworkApplianceManagerImpl$NetworkUsageTask.run:900-Executors$Run
>>
>> >nableAdapter.call:471-FutureTask$Sync.innerRunAndReset:351-FutureTask.runA
>> >ndReset:178-ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201:165
>>
>> >-ScheduledThreadPoolExecutor$ScheduledFutureTask.run:267-ThreadPoolExecuto
>> >r.runWorker:1146-ThreadPoolExecutor$Worker.run:615-Thread.run:701,
>> >
>> >
>> > Attach the latest log from this email to the bug.
>> >
>> >Unfortunately, there is no way to workaround it on your side as its a
>> >code issue.
>> >
>> >-Alena.
>> >
>> >From: Diego Spinola Castro
>>  ><spinolacas...@gmail.com<mailto:spinolacas...@gmail.com>>
>> >Date: Monday, March 17, 2014 at 11:25 AM
>> >To: Alena Prokharchyk
>>  ><alena.prokharc...@citrix.com<mailto:alena.prokharc...@citrix.com>>
>> >Cc: "users@cloudstack.apache.org<mailto:users@cloudstack.apache.org>"
>> ><users@cloudstack.apache.org<mailto:users@cloudstack.apache.org>>
>> >Subject: Re: NetworkUsage
>> >
>> >Hi, sorry.  i went lost with this huge log.
>> >
>> >
>> >
>> >2014-03-17 15:10 GMT-03:00 Alena Prokharchyk
>>  ><alena.prokharc...@citrix.com<mailto:alena.prokharc...@citrix.com>>:
>> >Diego, the log you've provided, doesn't contain "Rolling back the
>> >transaction" statement. You should wait for this particular error to
>> >happen (while logging on TRACE), and then take a log snippet.
>> >
>> >From: Diego Spinola Castro
>>  ><spinolacas...@gmail.com<mailto:spinolacas...@gmail.com>>
>> >Date: Monday, March 17, 2014 at 11:00 AM
>> >To: Alena Prokharchyk
>>  ><alena.prokharc...@citrix.com<mailto:alena.prokharc...@citrix.com>>
>> >Cc: "users@cloudstack.apache.org<mailto:users@cloudstack.apache.org>"
>> ><users@cloudstack.apache.org<mailto:users@cloudstack.apache.org>>
>> >Subject: Re: NetworkUsage
>> >
>> >Hi, Alena. thanks for the tips, i got some logs:
>> >http://www.fpaste.org/86141/13950791/
>> >
>> >
>> >2014-03-17 14:27 GMT-03:00 Alena Prokharchyk
>>  ><alena.prokharc...@citrix.com<mailto:alena.prokharc...@citrix.com>>:
>>  >Diego,
>> >
>> >Unfortunately CS lock lack the needed info for debugging the problem. I
>> >see only transaction roll back statement:
>> >
>> >2014-03-17 06:01:22,363 DEBUG [db.Transaction.Transaction]
>> >(RouterMonitor-1:null) Rolling back the transaction: Time = 2 Name =
>>
>> >-VirtualNetworkApplianceManagerImpl$NetworkUsageTask.run:900-Executors$Run
>> >n
>>
>> >ableAdapter.call:471-FutureTask$Sync.innerRunAndReset:351-FutureTask.runAn
>> >d
>> >Reset:178-ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201:165-
>> >
>> >
>> >To debug it further, you need to change the log level from DEBUG to TRACE
>> >for a certain class by modifying log4 properties (no MS restart is
>> >required)
>> >
>> >
>> >Here is the link on how to do it:
>> >
>> >
>> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Useful+Tips+and+Tri
>> >c
>> >ks, "How to enable trace logging for a particular class in CloudStack?²
>> >section. Replace category name with:
>> >
>> ><category name=³com.cloud.utils.db">
>> >     <priority value=³TRACE"/>
>> >   </category>
>> >
>> >
>> >
>> >
>> >
>> >After the change is done, wait till you see TRACE statements in the log,
>> >and till the error "Rolling back the transaction" occurs again. Take the
>> >log snippet and send it out. After you are done with that, you will need
>> >to remove TRACE config from log4 properties file, otherwise your logs
>> will
>> >grow huge.
>> >
>> >-Alena.
>> >
>> >
>> >On 3/17/14, 9:48 AM, "Diego Spinola Castro"
>>  ><spinolacas...@gmail.com<mailto:spinolacas...@gmail.com>>
>>  >wrote:
>> >
>> >>Hi guys, i've been running into a issue when getting network traffic
>> from
>> >>usage server. All records are Zero, i have a CS 4.2.0 install.
>> >>
>> >>Here the usage.logs http://www.fpaste.org/86116/13950748/
>> >>And management-server.log http://www.fpaste.org/86118/07486613/
>> >>
>> >>Does anyone know what is wrong ?
>> >
>> >
>> >
>>
>>
>

Reply via email to