cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1001
Views
0
Helpful
5
Replies

Logging for CPO Workflows

Anish Somadevan
Level 1
Level 1

I would like to know if there is any logging mechanism in CPO to see what are the workflows that have run during a day and the errors that occurred during the execution of workflows.

 

Thanks,

Anish

5 Replies 5

Shaun Roberts
Cisco Employee
Cisco Employee

Hi Anish,

  There are a couple of options depending on what you really want to do...

 

1) (LONG-TERM Option) Reports in SSRS - You need to import reports (for the reporting DB) into SSRS, and then there are some operations style reports around process execution summary. Very high level.

 You can look at core->Auditing->Process Audit. (see SS#1) - This report gives you start time, process name, status(failed/succeeded/etc), who ran it, time, etc. Does not give the error if it errored out. But does give you everything else I think.

 

You can also look at core->operations->weekly process summary - Gives some of the same info as process audit but adds in some counts for the number of times you ran a process, etc. (again no error info)

Importing reports can be done by going to Admin->Databases and Right clicking on the reporting DB. If you need more info, refer to the users guide I think.

2) (Short-Term option) - Depending on how long you archive things for you can go to Operations->Search Work. You can then specify search criteria and find all the processes that meet it AND are archived. If the process does not archive it would not be here. Also if the process has already been groomed, it would not show here. I use this a ton to troubleshoot failed processes though because it's quick and easier on the DB.

To check your grooming settings, go to admin->databases and right click->properties on ProcessDB. It will be under the configuration table as the "Process Instance Grooming" value.

 

3) (A custom option) - NOTE: THIS IS EXPERIMENTAL AND IS FULL CUSTOM AND NOT WARRANTIED!!!!!!!!

 

Ok now that is out of the way. I developed a logging system for CPO processes that is a basic logging module, much like languages like Python or PHP have. You have to instantiate it and use it, it's not "automatic" but it allows you to put logging where you want it and writes to log files and looks very similar to the standard CPO engine logs.

You can find my blog on this package at https://supportforums.cisco.com/blog/12346666/pondering-automation-building-house-logs

 

You can find the tap package page at https://supportforums.cisco.com/document/12346661/cpo-content-logger

 

Again --- this is custom content I wrote and I use it in my stuff and it works great! But I have not had a ton of folks test yet. :) If you want to use, feel free to and let me know what you think.

 

 

Hopefully those 3 options can help you get where you want to be. Let me know if you have more questions.

 

--shaun

--Shaun Roberts
Principal Engineer, CX
shaurobe@cisco.com

Hi Shaun,

Thanks for providing me with different available options. I would advise my team to use Search Work for time being while i test the CPO content logger. Another thing i liked to know is if there is a way to find the workflow being run by entering the Requisition ID or any other attributes. Coz every time when a request comes in to CPO, we need to go to the Activity View to find the workflow that is currently running. Is there a possibility to enter the Requisition ID and retrieve the workflow which has this Requisition ID and obeserve its execution?

 

Thanks

Anish

If the requisition ID is also a target then you could look for it in the Target Views area in operations. Or if the service itself is a target you can use the target views to search/sort maybe. Assuming you are using 3.0 or later. I would have to see things closer to give a better guide.

--Shaun Roberts
Principal Engineer, CX
shaurobe@cisco.com

Yes i use CPO 3.0 version. Unfortunately the Requisition ID is not a target and neither is the service. Requisition ID is just an attribute in the Service Request XML which is sent to CPO workflow. But its based on this Requisition ID we understand the order which was submitted with different values in the form. 

There are times when we test a service and we place consecutive orders for a same service. The best way to differentiate is the Requisition ID or Order ID. Yes we can sort the Start time column in the Activity View or Process View window. But i was interested to know if there is a possibility to pick the exact workflow in Activity view window by giving an attribute which is also an input to the workflow.

If you are using 3.0 then that Req ID should be on the target service created. (it's a target property) At least I see them on my CIAC 4.0 setup. (Earlier versions too) However no matter, you still cannot sort the operations area via input variable or via target property.

 

And even if you could do via input, you'd only see the first workflow that actually triggers with that as an input. That Req ID is stored as a target property later on in workflows.

 

If you need additional capabilities best to raise an Enhancement request with TAC.

 

I would not suggest using Activity views much outside of one-off testings as they are very broad and can take a while to show. I use process views 90% of the time now.

--Shaun Roberts
Principal Engineer, CX
shaurobe@cisco.com