|
| 1 | +--- |
| 2 | +title: "Pixie Plugin System" |
| 3 | +metaTitle: "Reference | Plugins | Pixie Plugin System " |
| 4 | +metaDescription: "Pixie's Plugin System" |
| 5 | +order: 1 |
| 6 | +--- |
| 7 | + |
| 8 | +Pixie's primary focus is to build a real-time debugging platform, not a full-fledged observability solution. Pixie provides a plugin system to integrate with external tools to enable capabilities like longterm data retention and alerting. |
| 9 | + |
| 10 | +- [*Longterm Data Retention*](#longterm-data-retention): Pixie only retains up to 24 hours of data. Leverage an external datastore for longterm data retention by sending Pixie data in the [OpenTelemetry](https://opentelemetry.io/) format. Future support will be added for querying longterm data from within the Pixie UI, allowing you to use PxL and Pixie's versatile live views. |
| 11 | +- *Alerts* (Coming Soon!): Power alerts using Pixie's rich dataset, all configurable from within Pixie's UI. |
| 12 | + |
| 13 | +## Enabling a Plugin |
| 14 | + |
| 15 | +Plugins can be configured from within the Admin UI. |
| 16 | + |
| 17 | +1. Open the Live UI and navigate to the Plugins tab on the Admin page (`/admin/plugins`). |
| 18 | +2. Find the plugin you wish to enable and click the toggle to enable/disable the plugin. |
| 19 | +3. Expand the plugin row to specify the necessary configuration values. The required set of fields differs per plugin provider, and usually contains information such as API keys which are used for authentication. |
| 20 | + |
| 21 | +## Longterm Data Retention |
| 22 | + |
| 23 | +Enable a plugin which offers longterm data retention capabilities to send Pixie data to an external datastore. This plugin allows you to configure PxL scripts to export data at regularly scheduled intervals. This only currently supports exporting data through the [OpenTelemetry](https://opentelemetry.io/) format. |
| 24 | + |
| 25 | +By default, the plugin provider has configured a set of preset scripts. These will automatically start running and exporting data from all clusters in the org as soon as the plugin is enabled. Users can also choose to export custom data by creating a custom export script. |
| 26 | + |
| 27 | +### Configuring Preset Export Scripts |
| 28 | + |
| 29 | +1. [Enable a plugin provider](#enabling-a-plugin) which supports longterm data retention. |
| 30 | +2. Open the Live UI and navigate to the Data Export page in the sidebar (`/configure-data-export`). |
| 31 | +3. All preset scripts are listed under `<Plugin Provider> Scripts`. |
| 32 | +4. Click the toggle to enable/disable the export from the preset script. |
| 33 | +5. Click the gear icon to configure the preset script. Name, description, and PxL is uneditable. However, users may choose which clusters to export from and how frequently the script is run. |
| 34 | +6. Click "Save" to update the script with your changes. |
| 35 | + |
| 36 | +### Creating Custom Export Scripts |
| 37 | + |
| 38 | +1. [Enable a plugin provider](#enabling-a-plugin) which supports longterm data retention. |
| 39 | +2. Open the Live UI and navigate to the Data Export page in the sidebar (`/configure-data-export`). |
| 40 | +3. Under `Custom Scripts`, click the `Create Scripts` button on the right-hand side. |
| 41 | +4. Enter a script name and description. |
| 42 | +5. Select which clusters to export from. If none is specified, data will be exported from all clusters in the org. |
| 43 | +6. Enter the PxL script. This script should contain a `px.export` call for exporting data to the OpenTelemetry format. See our [OpenTelemetry export tutorial](/tutorials/integrations/otel/) and [OpenTelemetry export reference docs](/reference/pxl/otel-export/) for more information. No `endpoint` needs to be specified to the `px.otel.Data` object, as this will be filled in automatically based on the selected plugin provider. |
| 44 | +7. Select how often this script should run. |
| 45 | +8. Select the plugin provider to export this data to. |
| 46 | +9. Click "Create" to save your settings. Data export should start immediately. |
| 47 | + |
| 48 | +## Contributing a Plugin |
| 49 | + |
| 50 | +Interested in contributing a plugin to our Plugin system? Check out our [Pixie Plugin Repository](https://github.com/pixie-io/pixie-plugin) and follow the provided instructions. |
| 51 | + |
0 commit comments