|
| 1 | +# About Grafolean SNMP Collector |
| 2 | + |
| 3 | +This package is a SNMP Collector for Grafolean, an easy to use generic monitoring system. |
| 4 | + |
| 5 | +Once installed, all the configuration of SNMP sensors is done through Grafolean's web-based user interface. Depending on permissions, |
| 6 | +a single SNMP Collector instance can be fetching data for multiple accounts and entities. The fetching intervals can be specified with |
| 7 | +up to a second precision. |
| 8 | + |
| 9 | +Under the hood it uses [net-snmp](http://net-snmp.sourceforge.net/) (via [easysnmp](https://easysnmp.readthedocs.io)), which means |
| 10 | +it should be compatible with any device that can respond to requests by `snmpget` and `snmpwalk`. |
| 11 | + |
| 12 | +Requirements: |
| 13 | +- the devices that should be queried via SNMP must be accessible *from the container* (make sure SNMP Collector is installed in correct network and that there are no firewalls in between) |
| 14 | +- Grafolean must be accessible via HTTP(S) |
| 15 | + |
| 16 | +Current limitations: |
| 17 | +- does not yet support out-of-order SNMP WALK responses |
| 18 | +- does not yet limit the maximum number of retrieved OIDs when doing SNMP WALK |
| 19 | +- BULK GET/WALK is not supported yet |
| 20 | + |
| 21 | +# License |
| 22 | + |
| 23 | +License is Commons Clause license (on top of Apache 2.0) - source is available, you can use it for free (commercially too), modify and |
| 24 | +share, but you can't sell it. See [LICENSE.md](https://gitlab.com/grafolean/grafolean-collector-snmp/blob/master/LICENSE.md) for details. |
| 25 | + |
| 26 | +If in doubt, please [open an issue](https://gitlab.com/grafolean/grafolean-collector-snmp/issues) to get further clarification. |
| 27 | + |
| 28 | +# Install (docker / docker-compose) |
| 29 | + |
| 30 | +This is the easiest and currently the only officially supported way. However other installation methods should be straightforward by studying `Dockerfile`. |
| 31 | + |
| 32 | +1) log in to Grafolean service (either https://grafolean.com/ or self-hosted), select an appropriate `Account` and create a new `Bot`. Make sure that selected protocol is `SNMP`. Copy the bot token. |
| 33 | +2) save [docker-compose.yml](https://gitlab.com/grafolean/grafolean-collector-snmp/raw/master/docker-compose.yml) to a local file |
| 34 | +3) edit `docker-compose.yml` and change: |
| 35 | + - mandatory: `BACKEND_URL` (set to the URL of Grafolean backend, for example `https://grafolean.com/api`), |
| 36 | + - mandatory: `BOT_TOKEN` (set to the bot token from step 1), |
| 37 | + - optional: `JOBS_REFRESH_INTERVAL` (interval in seconds at which the jobs definitions will be updated) |
| 38 | + Alternatively, you can also copy `.env.example` to `.env` and change settings there (leaving `docker-compose.yml` in original state). |
| 39 | +4) run: `docker-compose up -d` |
| 40 | + |
| 41 | +## Upgrade |
| 42 | + |
| 43 | +1) `docker-compose pull` |
| 44 | +2) `docker-compose down && docker-compose up -d` |
| 45 | + |
| 46 | +## Debugging |
| 47 | + |
| 48 | +Container logs can be checked by running: |
| 49 | +``` |
| 50 | +$ docker logs grafolean-collector-snmp |
| 51 | +``` |
| 52 | + |
| 53 | +# Development |
| 54 | + |
| 55 | +## Contributing |
| 56 | + |
| 57 | +To contribute to this repository, CLA needs to be signed. Please open an issue about the problem you are facing before submitting a pull request. |
| 58 | + |
| 59 | +## Issues |
| 60 | + |
| 61 | +If you encounter any problems installing or running the software, please let us know in the [issues](https://gitlab.com/grafolean/grafolean-collector-snmp/issues). If possible, please make sure to describe the issue in a way that will allow us to reproduce it. |
0 commit comments