https://github.com/vlcty/check_folding_team
Gather performance data from your Folding @ Home team
https://github.com/vlcty/check_folding_team
Last synced: 2 months ago
JSON representation
Gather performance data from your Folding @ Home team
- Host: GitHub
- URL: https://github.com/vlcty/check_folding_team
- Owner: vlcty
- License: mit
- Created: 2020-03-14T21:37:49.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-03-14T22:02:40.000Z (about 5 years ago)
- Last Synced: 2025-03-17T13:05:51.817Z (2 months ago)
- Language: Go
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# check_folding_team
A check script developed according to the Nagios developer guidelines. Can be used for example in Icinga 2. This script doesn't actually check anything but extracts the following Folding@Home team statistics:
- Team's points aka credits
- Team's completed work units
- Team's active CPU/GPU count in the last 50 daysIn addition for each donor the following informations are extracted:
- Donor's points aka credits for that team
- Donor's completed work units for that teamThe whole script is written in native go. No external libs needed.
## Install and usage
Clone the repo. Then you can run it from source (if you have go installed):
```
:-$ go run check_folding_team.go -team 12345
```Otherwise you can compile it for Linux on amd64:
```
:-$ GOOS=linux GOARCH=amd64 go build check_folding_team.go
```## Please rate limit your requests
The folding at home stats pages are not refreshed on the fly. I think I read somewhere that they are generated every hour. I've defined 30 minutes between each crawl. Please do the same!
## Example implementation into Icinga 2
Example check command:
```
object CheckCommand "folding_team" {
import "plugin-check-command"command = [ PluginDir + "/check_folding_team", "-team", "yourteamid" ]
}
```Please not that I've hardcoded my team id. If you have multiple teams you must rewrite it to take actual arguments. And the example service:
```
apply Service "folding_team" {
import "generic-service"check_command = "folding_team"
check_timeout = 120
check_interval = 30massign where host.name == "somehost"
}
```