Jason Kulatunga
8e05b2e2f8
Revert "add a solaris collector detect engine."
...
This reverts commit 64e1c93d16
.
https://gitlab.com/cznic/sqlite does not support Solaris.
> build constraints exclude all Go files in /home/runner/work/scrutiny/scrutiny/vendor/modernc.org/libc/errno
related #120
2 years ago
Jason Kulatunga
64e1c93d16
add a solaris collector detect engine.
2 years ago
Jason Kulatunga
5ea149d878
upgrading to go 1.18 for generics (and lodash-like library).
...
devices with an empty wwn should be filtered out (not uploaded during device registration, skipped when attempting to upload metrics).
added a migration to delete existing device entries with an empty `wwn`
fixes #314
2 years ago
Jason Kulatunga
3d9001a5e4
when deviceType not specified in collector config, scrutiny will ignore the device. We need to make sure we correctly override the device.
...
fixes #255
3 years ago
Jason Kulatunga
d718b0898b
trying to fix tests.
3 years ago
Jason Kulatunga
157c93b967
provide a mechanism to specify the absolute path to the smartctl binary used by metrics collector.
...
- fixes #304
3 years ago
Jason Kulatunga
a53397210c
adding mechanism to override the smartctl commands used by scrutiny for device scanning, device identification and smart data retrieval.
...
adding tests for command overrides.
rename GetScanOverrides() to GetDeviceOverrides()
fixes #255
3 years ago
Jason Kulatunga
999c12748c
added a way to retrieve raw udev data. Can be used to retrieve disk label, UUID and "disk/by-id/*" device info.
...
Storing it in the database during device registration.
3 years ago
Jason Kulatunga
eb4a738746
documentation & updates for configuring scrutiny behind a reverse proxy with path rewriting.
3 years ago
Jason Kulatunga
381a6799cc
updates for v0.4.0 release. Slight refactor/organization.
3 years ago
Jason Kulatunga
de702414b9
moving all filesystem references to /scrutiny to /opt/scrutiny
...
fixes #230
3 years ago
Jason Kulatunga
21d07a0712
adding tests for Detect struct in collector. Adding ability to mock out exec.Command calls.
3 years ago
Jason Kulatunga
fabc629e40
handle case where WWN not detected for a device (print error messages, but skip device collection & uploading).
3 years ago
Jason Kulatunga
97f6564c1e
adding documetnation for smartctl exit codes and addl test.
3 years ago
Jason Kulatunga
2fc24d0e76
fix error log.
4 years ago
Jason Kulatunga
da890d95b6
Fixing forced logging of smartctl output irrespective of log level (now available at DEBUG level only)
...
TODO: add a table summary at INFO level.
fixes #123
4 years ago
Jason Kulatunga
e5713e3a81
added ability to configure collector variables using config file (api endpoint, log level, log file).
...
fixes #124
4 years ago
Jason Kulatunga
58eaa29e4d
check for "unknown" wwn value.
...
fix #113
4 years ago
Ricardo Gonzalez
048bf237e2
Use StringFlag
4 years ago
Jason Kulatunga
b44ef5cb9c
adding support for a collecto config file.
...
/scrutiny/config/collector.yaml
Adding ability to specify host identifier (label), that is updated on every collector run.
Can be specified by `host-id` CLI or `COLLECTOR_HOST_ID` env var.
Created a config class, interface and associated tests.
Created a "TransformDetectedDrives" function, that will allow users to insert drives not detected by Smarctl --scan, ignore drives that they dont want, and override smartctl device type.
Added Upsert functionality when registering devices.
Replaced "github.com/jinzhu/gorm" with "gorm.io/gorm" (ORM location moved, was using incorrect lib url)
Removed machineid library.
4 years ago
Jason Kulatunga
1c7ca35ea7
build freebsd binaries for CI (not included in releases yet)
4 years ago
Jason Kulatunga
7742f4c6c3
fixing windows binary build during CI. Update config missing error message.
4 years ago
Jason Kulatunga
cb0aa9823e
retrieve all device data. SAS devices do not return power on hours when using `-a` flag (unlike other device types).
...
fixes #43
fixes #9
4 years ago
Jason Kulatunga
e44864e64b
fixes.
4 years ago
Jason Kulatunga
8a336bf5c6
wwn should always be lowercase for consistency. It's used in the URL for pushing smart data.
4 years ago
Jason Kulatunga
2fee2bf906
fix tests.
4 years ago
Jason Kulatunga
a57120d600
adding new environmental variables for added debugging: COLLECTOR_LOG_FILE, COLLECTOR_DEBUG, DEBUG, SCRUTINY_LOG_FILE, SCRUTINY_DEBUG
4 years ago
Jason Kulatunga
f2dd87cf82
dont use a go-routine -- disable concurrency.
4 years ago
Jason Kulatunga
8b139ad157
remove concurrency for collector, it causes issues on systems with lots of devices. Just retrieve the data in order for now (eventually we may do it in batches).
4 years ago
Jason Kulatunga
fd82e9a4da
print error message if publish does not finish successfully.
4 years ago
Jason Kulatunga
297f0a51c5
adding ability to write a log file with all output from collector. Executing commands will now log be logged (and when debug is enabled, their output's are also logged).
4 years ago
Jason Kulatunga
24262f7c8c
pass deviceType when running smartctl data collection (for megaraid type disks).
...
Make DevicePrefix a public function available outside the detect module.
if device type is detected as "ata" or "scsi", dont pass in via -d parameter, can cause issues with missing data.
4 years ago
Jason Kulatunga
3deca46851
fix.
4 years ago
Jason Kulatunga
23d5b86b1b
new device detection engine (OS aware). Uses smartctl --scan to detect drives (and conditionally uses jaypipes/ghw). WWN is calculated from smartctl data, then retrieved from GHW, and fallsback to serial number. WWN calcuation code is based on IEEE spec, for "Registered" IEEE format - NAA5. TODO: support NAA6 and other formats?
4 years ago
Jason Kulatunga
853b1a7249
Merge pull request #28 from AnalogJ/notify_failures
...
Adding UI for settings (and eventually notifications).
4 years ago
Jason Kulatunga
a7cd912318
dont ignore NVME storage controllers.
4 years ago
Jason Kulatunga
5101a37964
adding device protocl and type to the. Adding class for parsing `smartctl --scan` json output, for device detection. added an example/test file for `smartctl -x -j` added a placeholder settings panel. moved dashboard & details compoonent out of "Admin" directory.
4 years ago
Jason Kulatunga
266c95f857
fix #3
...
Make sure that the collector attempts to correctly communicate with webapp container, even when running in dedicated container (and triggered manually).
fixes cron schedule to run daily.
added instructions for dedicated containers.
4 years ago
Jason Kulatunga
2ad120c87b
added debug logging message for detected devices.
...
adding a mocked class for Config.
Adding device type to Device struct. Will eventually be needed for raid drives.
adding End-to-end testing capabilties.
Added testdata json files for webserver requests.
Seperated Start code and Setup code in webapp so we can test.
renamed "smart_attributes" to "ata_attributes" - Backwards incomatible change.
Added front end device sorting (red, yellow, green)
show unknown icon/status if drive has no smart data yet.
Moved all attribute "getters" into the controller.
created a device-sort pipe.
4 years ago
Jason Kulatunga
5a80ae3e74
WIP - start supporting NVME and SCSI drive smart data.
...
Added addiitonal log message data for Smartctl exit ccode.
4 years ago
Jason Kulatunga
f7b2a7b41b
make sure results from failing smartctl execution is still sent to API.
4 years ago
Jason Kulatunga
d636709aa1
Moved version file into webapp source tree. Replacing fmt with logger calls. moved Jobber config file into /scrutiny/jobber directory. Added scsi json file. Moved API rooute handlers into their own files in a module. Added not yet implemnented tooltips.
4 years ago
packagr-io-beta
5a3a1f4165
(v0.1.2) Automated packaging of release by Packagr
4 years ago
packagr-io-beta
b6ca94f786
(v0.1.1) Automated packaging of release by Packagr
4 years ago
Jason Kulatunga
0f9ee840ef
integrating packagr.
4 years ago
Jason Kulatunga
40f5cbef6c
moved hard drive device detection to collector (So we can run multiple in parallel).
4 years ago
Jason Kulatunga
8482272d45
init
4 years ago