- 01 Sep 2022
-
DarkLight
-
PDF
Troubleshooting
- Updated on 01 Sep 2022
-
DarkLight
-
PDF
Troubleshooting
If a problem prevents IAP from loading the global log
object from the Logger
class, log messages will not reach the IAP log file. Log messages will, however, reach the systemd journal or /var/log/messages
on System V (“System Five”) hosts.
Monitor the system journal for errors and warnings using shell command journalctl -f
. If many processes are sending message to the system journal, filter log messages to show only IAP logs using shell command journalctl -f -u pronghorn.service
.
See Red Hat systemd Journal Documentation for more information.
Monitor IAP logs with a tail follow shell command, such as tail -F /var/log/pronghorn/pronghorn.log
.
Reading the Logs
IAP logs are JSON objects that are better for automating log parsing operations compared to simple text.
Log Object Properties
Property | Description |
---|---|
@timestamp |
Automatically added. |
@fields.origin |
The message location: application that created the log message and its line number associated with the event. |
@fields.level |
The event message severity level. |
@message |
An array. Elements can be strings or objects. An array with one string element containing log message text that can be a stack trace, an error received from an external system, or a log message the IAP developer sent with the global log object. |
Troubleshooting a Layered Architecture
IAP applications exist in a layered architecture. IAP has multiple layers, and it is one of many autonomous systems that collectively create network automation. The best way to troubleshooting multiple layers is to establish control and eliminate variables.
For example, suppose the application method called from a job task is failing. The task coordinates with an external network controller to affect device changes. Begin by verifying the network controller is able to execute the exact requested action. If the controller has a CLI, that is the best place to verify an action. If the CLI test passes, try calling the action through the controller API. If the controller API test passes, use a web API client, such as Google Postman, to test the IAP application method without the IAP workflow engine. Finally, use the Jobs dashboard to inspect run-time data: passed arguments, data or errors returned.