# Performance monitoring

You can use logging to monitor and review system performance. Pentaho provides you with several methods to monitor system performance. PDI logging offers you summarized information on transformations and jobs, while Pentaho logging provides detailed information about exceptions, errors, and debugging. You can maintain Pentaho logging through various tools. You can also monitor performance using the Pentaho Operations Mart. Third-party logging such as SNMP is also supported.

Kettle logging provides extensive flexibility that allows you to determine log locations, granularity, as well as what information is captured. Here are the best practices for setting up logging in your environment. For more information on logging in PDI, see the **Pentaho Data Integration** document.

* Store logs in a centralized database. By default, log files are stored locally. The PDI client, Carte, and Pentaho Server logs are stored separately. To make log information easier to find, place logs in a central database. As an added bonus, centralized logging makes it easier to use PDI’s performance monitoring more effectively.
* Obtain full insert accesses for tables. Logging can fail if you do not have the appropriate accesses. Having the appropriate accesses minimizes this risk. To learn more about table access, consult the documentation for your database.
* Install JDBC Drivers Locally and on Each Server. This helps you avoid `Driver not found` errors. For a list of suported drivers, see the **JDBC drivers reference** in the **Try Pentaho Data Integration and Analytics** document.
* Use implied schemas when possible. Implied schemas result in fewer places to troubleshoot should logging fail. Of course, you can still specify a schema if needed.
* Make templates for transformation and job files. Include logging configurations in the template so that they can be reused with ease.
* Use Kettle global logging variables when possible. To avoid the work of adding logging variables to each transformation or job, consider using global logging variables instead. You can override logging variables by adding information to individual transformations or jobs as needed.
* Use different logging tables for jobs and transformations. If you find logging table data is deleted unexpectedly, see **Log table data is not deleted** in the **Pentaho Data Integration** document.

If you choose to use the `kettle.properties` file, observe the following best practices.

* Backup your `kettle.properties` files. If you are making many changes to the `kettle.properties` file, consider backing up the file first. This will make it easier to restore should issues occur.
* Maintain a master copy of the `kettle.properties` file. It is usually easiest to use the `kettle.properties` file for the PDI client, then to overwrite the Carte and Pentaho Server copies if changes are made. Make sure that values that might change, such as directory paths, are maintained however.
* Test thoroughly. Test your settings by saving your kettle.properties file locally, then restarting the PDI client. Make sure the `kettle.properties` file loads properly. Execute a transformation or job that uses the settings. Try executing the transformation locally and remotely on the Pentaho Server to ensure that log variables reference the same places.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pentaho.com/pdia-admin/optimize-the-pentaho-system/monitoring-system-performance.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
