cancel
Showing results for 
Search instead for 
Did you mean: 

Query on unsupervised BP environment

Hello team,

I've got an BP environment where a couple of bots and processes are running daily, and the processes are stable and working reliably. What I want is to not have anyone sit and monitor bots daily since I know that processes are very stable. For process-related failures, we can send email alerts to a team, and that is fine; we have that. But we face issues like bots getting disconnected and schedules not running for whatever reason.

So is there anything that can alert users when something is off with the bots and connection so that the team can go and look?

Basically, we don't want to occupy someone who constantly monitors the control room, so we are looking for a solution that can cut this off. So only when the bots are disconnected or sessions are not triggered can it send some sort of alert.

I think there is no such built-in feature in Blue Prism so far, but what are your thoughts on this?



------------------------------
If I was of assistance, please vote for it to be the "Best Answer".

Thanks & Regards,
Tejaskumar Darji - https://www.linkedin.com/in/tejaskumardarji/
Technical Lead
------------------------------
12 REPLIES 12

Hi Tejaskumar! I understand the concern regarding continuous monitoring of the BP environment. While Blue Prism doesn't provide a built-in feature for specific alerts related to bot disconnections or scheduling failures, I suggest implementing BP environment monitoring queries. These queries can regularly check the status of bots and the integrity of connections.

Furthermore, creating dashboard panels using tools like Grafana will allow a visual overview of the current state of the environment. With Grafana, you can set up custom alerts that will notify the team only when bot disconnections or session failures occur.

This approach provides a proactive solution, enabling quick detection and immediate notification in case of issues, without the need for constant manual monitoring. I hope this suggestion helps optimize BP environment management. If you need more details, feel free to reach out.



------------------------------
If I answered your question, please mark it as the "Best Answer."
------------------------------
Wagner Vasconcelos | LinkedIn
Intelligent Automation Consultant
America/Recife
------------------------------

If I answered your question, please mark it as the "Best Answer." ------------------------------ [FirstName] [LastName] - https://www.linkedin.com/in/wagnervasconceloss/ Intelligent Automation Consultant [Country]

I had similar question, Thanks @Tejaskumar_Darji, and Interesting idea from @wagnervasconceloos to use Grafana. 

Appreciate if you can share some insights & reference link on the BP environment monitoring queries.



------------------------------
L Ganesh Velayudham
------------------------------
VL Ganesh
Tech Arch RPA

Hello,

I've seen something similar using zabix, some types of monitoring it provides include the status of machines, non-execution of schedules and other relevant metrics. It is possible to create email or alert triggers based on anomalies, such as an unavailable resource, etc. As this task was normally done by the infrastructure team, I do not have more details about the implementation, but it is possible.

Regards



------------------------------
Leonardo Soares
RPA Developer Tech Leader
Bridge Consulting
América/Brazil
------------------------------
Leonardo Soares RPA Developer América/Brazil

Thanks all for valuable responses.



------------------------------
If I was of assistance, please vote for it to be the "Best Answer".

Thanks & Regards,
Tejaskumar Darji - https://www.linkedin.com/in/tejaskumardarji/
Technical Lead
------------------------------

Hello @sastharpa and @Tejaskumar_Darji,

If you have access to the Blue Prism databases, you can retrieve information about monitoring from certain tables where this data is stored.

For querying active sessions, you can use the BPASession table. For information about runtime resources, you can use the BPAResource and BPVSessionInfo tables.

From there, you can explore and create your queries to pull information such as who initiated the session on the machine, the user [BPAUser] who started the session, the process [BPAProcess] currently running, the work queue [BPAWorkQueueItem], and so on.

Feel free to ask if you need more specific details or assistance with constructing queries.



------------------------------
If I answered your question, please mark it as the "Best Answer."
------------------------------
Wagner Vasconcelos - https://www.linkedin.com/in/wagnervasconceloss/
Intelligent Automation Consultant
Brazil
------------------------------
If I answered your question, please mark it as the "Best Answer." ------------------------------ [FirstName] [LastName] - https://www.linkedin.com/in/wagnervasconceloss/ Intelligent Automation Consultant [Country]

Hello Wagner Vasconcelos thanks much for your response. We have a concern here that this method will create overhead on the SQL server, isn't it? Since we will be continuously polling the BP database,.



------------------------------
If I was of assistance, please vote for it to be the "Best Answer".

Thanks & Regards,
Tejaskumar Darji - https://www.linkedin.com/in/tejaskumardarji/
Technical Lead
------------------------------

Yes, your concern is valid. Performing frequent queries on the database can result in overhead on the SQL server, especially if these queries are resource-intensive. However, at least until now, I haven't encountered any overhead from these queries.

Nevertheless, it's important to consider that the impact on performance is not solely determined by the queries themselves but also by the quantity of available resources, work queues, and the number of processes/objects. In scenarios where there are sufficient resources and efficient queue management, the overhead generated by the queries can be mitigated, providing a more balanced performance.



------------------------------
If I answered your question, please mark it as the "Best Answer."
------------------------------
Wagner Vasconcelos - https://www.linkedin.com/in/wagnervasconceloss/
Intelligent Automation Consultant
Brazil
------------------------------
If I answered your question, please mark it as the "Best Answer." ------------------------------ [FirstName] [LastName] - https://www.linkedin.com/in/wagnervasconceloss/ Intelligent Automation Consultant [Country]

maneesh.vemula1
Level 5

Hi @Tejaskumar_Darji  - Were you able to implement any solutions to overcome this issue?

Asilarow
MVP

You can monitor the state of your schedules using the below query:

SELECT BPASchedule.name, BPASchedule.description, BPAScheduleTrigger.startdate, BPAScheduleTrigger.enddate, BPAScheduleTrigger.period, BPAScheduleTrigger.unittype, BPATask.name AS TaskName,
BPATaskSession.resourcename, BPAScheduleLog.heartbeat, BPAScheduleLog.firereason, BPAScheduleLogEntry.terminationreason
FROM BPASchedule INNER JOIN
BPAScheduleTrigger ON BPASchedule.id = BPAScheduleTrigger.scheduleid INNER JOIN
BPATask ON BPASchedule.id = BPATask.scheduleid INNER JOIN
BPATaskSession ON BPATask.id = BPATaskSession.taskid INNER JOIN
BPAScheduleLog ON BPASchedule.id = BPAScheduleLog.scheduleid INNER JOIN
BPAScheduleLogEntry ON BPAScheduleLog.id = BPAScheduleLogEntry.schedulelogid
ORDER BY BPAScheduleTrigger.id DESC

It's optimized for running at regular intervals without causing any overhead on the database.

Andrzej Silarow