Agent Architecture and Configuration
The Openbots server will create tasks for agents to complete by directly pinging the agent, then leaving the request within a repository. If the agent is currently active, it will begin the task immediately, Otherwise, it will check the repository periodically for any outstanding tasks. In version 1.6, the Openbots agent checks once every 5 minutes, but this is subject to change
The Agent will ping the server once per minute to update the server on its Status and Health, which is called the agent heartbeat. The heartbeat also specifies the last reported work and status, apart from heartbeat job assigned and automation logs are also stored on the server for a particular agent.
Orchestrator: Allows user to select between connecting to an On-Premises version or Cloud version of OpenBots Server.
Username/password: The username and password entered in the server configuration for Openbots agent is provided by OpenBots Server when creating a new Agent entry.
Server URL: The server URL would be web URL address for Openbots server, for example, http://localhost:81/
Status
The Bot can have the following Statuses:
- Connected: The Agent is registered with the server and can send and receive signals.
- Offline: The agent sent a disconnect message to the server and cannot take jobs.
The Bot can have the following Health if its Status is Connected: :
- Healthy: The Agent has pinged the server recently and is ready to receive a job.
- Busy: The Agent is actively completing another job.
- Unhealthy: The Agent has not pinged the server recently and may or may not begin a new job.
To register an agent to the Openbots server we require the machine information to be entered in the Openbots server add agent configuration, which we can get from agent configuration.
NuGet Feed Manager
We can set different sources from which the nugget packages would be downloaded over the web and we can enable/disable the same from the radio button present adjacent to the package entry. We can add multiple locations from this the packages can be accessed; these packages can be third-party nugget packages or internal Openbots packages.
Logging
Minimum Log level
We can set the logging level for a particular agent in the setting section of the agent configuration. The agent follows the same log level as selected while logging the messages of a particular process running on that agent. We can change the level at any point in time.
VERBOSE – It includes the most fine-grained information which is only used in rare cases where we need the full visibility of what is happening in your process and inside the third-party libraries that we use as part of a process.
DEBUG – This log level is less granular compared to the VERBOSE level, but it is more than we need in everyday use. The DEBUG log level should be used for information that may be needed for diagnosing issues and troubleshooting or when running the application in the test environment for the purpose of making sure everything is running correctly.
INFO – The standard log level indicating that something happened, the application entered a certain state, etc. For example, a process to login into the SAP system and enter the employee details to create a new employee.
WARN – This log level indicates that something unexpected happened in the application, a problem, or a situation that might disturb one of the processes. But that does not mean that the application failed.
ERROR – This log level should be used when the application hits an issue preventing one or more functionalities from properly functioning.
FATAL – This log level tells that the application encountered an event or entered a state in which one of the crucial business functionalities is no longer working. A FATAL log level may be used when the application is not able to connect to a crucial data store like a database or all the connecting systems are not available.
Sink Type
Moreover, we can select the sink type for logging which is File or HTTP in the 1.6 version of Openbots agent. If HTTP as type is selected, we need to mention the URI, else we must mention the file path for File Sink Type to indicate the location of the file in which the log messages would be entered by the agent. HTTP is set by default to route logs to the connected server. It uses standard Serilog functionality to send logs to a particular URI, which can be Elasticsearch as well.