add issue templates and improve README

This commit is contained in:
ihatemodels 2023-11-26 16:52:50 +02:00
parent 24e8161262
commit ad57d371a4
4 changed files with 97 additions and 6 deletions

38
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View file

@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: "[BUG]"
labels: bug
assignees: ihatemodels
---
### **Describe the bug**
A clear and concise description of what the bug is.
### **Host operating system: output of `uname -a`**
### **Versions**
- OPNsense version: [e.g. 21.1.7]
- OPNsense exporter version: [e.g. 0.1.0]
- Prometheus version: [e.g. 2.28.1]
- Plugin version (if applicable):
- Nginx ...
## **Configuration of the exporter**
Provide the configuration of the exporter in flags or in ENV variables.
**Hide the sensitive information.**
### **Steps to reproduce**
- A clear exact steps of how to reproduce the bug
- B
- C
### **Expected behavior**
A clear and concise description of what you expected to happen.
### **Screenshots**
If applicable, add screenshots to help explain your problem.
### **Additional context**
Add any other context about the problem here.

30
.github/ISSUE_TEMPLATE/enhancement.yaml vendored Normal file
View file

@ -0,0 +1,30 @@
name: Enhancement suggestion
title: "[FEATURE]: "
description: Provide supporting details for a feature
labels: ["feature"]
assignees:
- ihatemodels
body:
- type: textarea
id: feature
attributes:
label: What would you like to be added?
description: |
Please desribe what you like to be added.
validations:
required: true
- type: textarea
id: rationale
attributes:
label: Why is this needed?
validations:
required: true
- type: textarea
id: implementation-details
attributes:
label: Any implementation details that are not related to source code may be included here.
validations:
required: false

11
.github/ISSUE_TEMPLATE/question.md vendored Normal file
View file

@ -0,0 +1,11 @@
---
name: Ask a question
about: Ask any question about the project
title: "[QUESTION]: <question title>"
labels: question
assignees: ihatemodels
---
### **Ask the community**
Let the community know what you are looking for

View file

@ -4,14 +4,20 @@ The OPNsense exporter enables you to monitor your OPNsense firewall from the API
`Still under heavy development. The full metrics list is not yet implemented.` `Still under heavy development. The full metrics list is not yet implemented.`
# Table of Contents ## Table of Contents
0. **[About](#about)**
1. **[OPNsense User Permissions](#opnsense-user-permissions)** 1. **[OPNsense User Permissions](#opnsense-user-permissions)**
2. **[Usage](#usage)** 2. **[Usage](#usage)**
3. **[Configuration](#configuration)** 3. **[Configuration](#configuration)**
- **[SSL/TLS](#ssltls)** - **[SSL/TLS](#ssltls)**
5. **[Grafana Dashboard](#grafana-dashboard)** 4. **[Grafana Dashboard](#grafana-dashboard)**
## About
This exporter delivers an extensive range of OPNsense-specific metrics, sourced directly from the OPNsense API. Focusing specifically on OPNsense, this exporter provides metrics about OPNsense, the plugin ecosystem and the services running on the firewall. However, it's recommended to use it with `node_exporter`. You can combine the metrics from both exporters in Grafana and in your Alert System to create a dashboard that displays the full picture of your system.
While the `node_exporter` must be installed on the firewall itself, this exporter can be installed on any machine that has network access to the OPNsense API.
## OPNsense user permissions ## OPNsense user permissions
@ -29,19 +35,25 @@ To configure where your OPNsense API is located, you can use the following flags
- `--opnsense.address` - The hostname or IP address of the OPNsense API. - `--opnsense.address` - The hostname or IP address of the OPNsense API.
- `--opnsense.api-key` - The API key to use to connect to the OPNsense API. - `--opnsense.api-key` - The API key to use to connect to the OPNsense API.
- `--opnsense.api-secret` - The API secret to use to connect to the OPNsense API - `--opnsense.api-secret` - The API secret to use to connect to the OPNsense API
- `--exporter.instance-label` - Label to use to identify the instance in every metric. If you have multiple instances of the exporter, you can differentiate them by using different value in this flag, that represents the instance of the target OPNsense.
### SSL/TLS ### SSL/TLS
- `--opnsense.insecure` - Disable TLS certificate verification. Not recommendet. Defaults to `false`. If you have your api served with self-signed certificates. You should add them to the system trust store.
- If you have your api served with self-signed certificates. You should add them to the system trust store.
TODO: add Docker example If you want to disable TLS certificate verification, you can use the following flag:
- `--opnsense.insecure` - Disable TLS certificate verification. Defaults to `false`.
```bash
You can disable parts of the exporter using the following flags: You can disable parts of the exporter using the following flags:
- `--exporter.disable-arp-table` - Disable the scraping of the ARP table. Defaults to `false`. - `--exporter.disable-arp-table` - Disable the scraping of the ARP table. Defaults to `false`.
- `--exporter.disable-cron-table` - Disable the scraping of the cron table. Defaults to `false`. - `--exporter.disable-cron-table` - Disable the scraping of the cron table. Defaults to `false`.
You can disable the exporter metrics using the following flag:
- `--web.disable-exporter-metrics` - Exclude metrics about the exporter itself (promhttp_*, process_*, go_*). Defaults to `false`.
Full list Full list
```bash ```bash