Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chaos-mesh/datasource
Grafana data source plugin for Chaos Mesh.
https://github.com/chaos-mesh/datasource
chaos-engineering chaos-mesh data-source grafana-datasource grafana-plugin
Last synced: about 2 months ago
JSON representation
Grafana data source plugin for Chaos Mesh.
- Host: GitHub
- URL: https://github.com/chaos-mesh/datasource
- Owner: chaos-mesh
- License: apache-2.0
- Created: 2020-06-20T15:22:27.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-03-25T08:36:53.000Z (9 months ago)
- Last Synced: 2024-05-28T19:35:54.973Z (7 months ago)
- Topics: chaos-engineering, chaos-mesh, data-source, grafana-datasource, grafana-plugin
- Language: TypeScript
- Homepage:
- Size: 2.69 MB
- Stars: 8
- Watchers: 5
- Forks: 8
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Data Source
Grafana data source plugin for Chaos Mesh.
> This plugin requires Chaos Mesh **>=2.1**, Grafana >= **10.0**.
>
> Note: We only test the plugin on Grafana 10.0.3, it may support lower versions, but we are not sure.
> Upgrading to Grafana v10 is because of the [Angular support deprecation](https://github.com/chaos-mesh/datasource/issues/55). If you encounter any problems, please open an issue to let us know.## Features
- Displaying Chaos events in a table visualization
- Support [Variables](https://grafana.com/docs/grafana/latest/variables/) to filter Chaos events
- Support [Annotations](https://grafana.com/docs/grafana/latest/dashboards/annotations/) to annotate Chaos events on the panel## Installation
### With dashboard
[https://grafana.com/docs/grafana/latest/administration/plugin-management/#install-a-plugin](https://grafana.com/docs/grafana/latest/administration/plugin-management/#install-a-plugin)
### With cli
```sh
grafana-cli plugins install chaosmeshorg-datasource
```## Manual installation
Download the plugin zip package with the following command or go to to download:
```shell
curl -LO https://github.com/chaos-mesh/datasource/releases/download/v3.0.0/chaosmeshorg-datasource-3.0.0.zip
```After downloading, unzip:
```shell
unzip chaosmeshorg-datasource-3.0.0.zip -d YOUR_PLUGIN_DIR
```Then update and save the `grafana.ini` file:
```ini
[plugins]
allow_loading_unsigned_plugins = chaosmeshorg-datasource
```Finally, restart Grafana to load the plugin.
## Setup
Once installed, go to **Administration -> Data sources** and add Chaos Mesh, then go to the configuration page:
![Settings](https://raw.githubusercontent.com/chaos-mesh/datasource/master/src/img/settings.png)
Assuming you have Chaos Mesh installed locally, the Chaos Dashboard will export the API on port `2333` by default. So, if you haven't changed anything, you can fill in `http://localhost:2333`.
Then use the `port-forward` command to make the API externally accessible:
```shell
kubectl port-forward -n chaos-mesh svc/chaos-dashboard 2333:2333
```Finally, click **Save & test** to test the connection. If it shows a successful notification, the setup is complete.
### Authentication
If you deploy Chaos Mesh with [permission authentication](https://chaos-mesh.org/docs/manage-user-permissions), you need to add the `Authorization` header to the configuration.
You can follow the steps below to add the header:1. Click the **Add header** button.
2. Fill in the `Authorization` in the **Header** field.
3. Follow [this section](https://chaos-mesh.org/docs/manage-user-permissions/#get-the-token) to get the token.
4. Fill in the `Bearer YOUR_TOKEN` in the **Value** field.Then don't forget to click **Save & test** to test the connection.
## Query
The data source plugin looks at the Chaos Mesh through the lens of events, and the following options are responsible for filtering the different events:
- **Object ID**
> Filter by object uuid.
- **Namespace**
> Filter by different namespace.
- **Name**
> Filter by object name.
- **Kind**
> Filter by kind (PodChaos, NetworkChaos, Schedule...). You can also input an arbitrary kind
> if you implement a new kind in Chaos Mesh.- **Limit**
> Limit the number of events.
All of them will be passed as parameters to the `/api/events` API.
## Variables
The data source plugin supports adding query variables by different metrics:
![Variables](https://raw.githubusercontent.com/chaos-mesh/datasource/master/src/img/variables.png)
- **Namespace**
> After selection, all available namespaces will show in the **Preview of values** directly.
- **Kind**
> Same as **Namespace**. Retrieve all kinds.
- **Experiment/Schedule/Workflow**
> Same as **Namespace**. Retrieve current all experiments/schedules/workflows.
>
> You can also specify the `queries` to further filter the values,
> for example, `?namespace=default` will only retrieve the experiments/schedules/workflows in the `default` namespace.## Annotations
You can integrate events into panels via annotations, the following is a sample creation, it will retrieve all PodChaos events:
![Annotations](https://raw.githubusercontent.com/chaos-mesh/datasource/master/src/img/annotations.png)
Please refer to [Query](#query) to fill in the corresponding fields.
## How to contribute
Pull a request or open an issue to describe your changes or problems.
## License
Same as Chaos Mesh. Under the Apache-2.0 License.