Jason Kulatunga
168ca802d1
add support for specifying scheme for influxdb endpoint url (http vs https).
...
fixes #258
3 years ago
Jason Kulatunga
8c07e91f39
grey out and mark thresholds as not yet implemented.
3 years ago
Jason Kulatunga
7979950c3b
fixing device sort and display title.
...
fixes #194
3 years ago
Jason Kulatunga
9846ba13e0
adding support for device sort in UI.
3 years ago
Jason Kulatunga
83839f7faf
adding group by hostId support in dashboard.
...
fixes #151
3 years ago
Jason Kulatunga
85fa3b1f8f
moved device summary info panel into isolated component.
3 years ago
Jason Kulatunga
4190f9a633
remove filter not implemented message.
3 years ago
Jason Kulatunga
743ce27d2e
adding comment.
3 years ago
Jason Kulatunga
399a2450ff
make sure we can change the temperature duration key for the chart.
3 years ago
Jason Kulatunga
934f16f0a5
persist settings across sessions (in local storage).
3 years ago
Jason Kulatunga
0aeb13c181
support custom display of devices by UUID/ID/Label & Scrutiny Name. (Does not persist).
...
Related #225
3 years ago
Jason Kulatunga
5899bf2026
started working on Dashboard UI sorting and naming
3 years ago
Jason Kulatunga
3b137964fc
make sure we include the host id in the temp history label.
3 years ago
Jason Kulatunga
1bfdd0043f
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
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
packagrio-bot
65d31046a0
(v0.4.6) Automated packaging of release by Packagr
3 years ago
Jason Kulatunga
5ac0aa8f74
Forked InfluxDB SDK and added support for using pre-generated admin token during setup. This ensures we no longer need to persist the token during startup.
...
fixes #248
3 years ago
Jason Kulatunga
a589d11d01
update influxdb host default to localhost.
3 years ago
packagrio-bot
1a05868381
(v0.4.5) Automated packaging of release by Packagr
3 years ago
packagrio-bot
b5920e35e3
(v0.4.4) Automated packaging of release by Packagr
3 years ago
Jason Kulatunga
e7801619cd
added additional tests from #187 .
...
Detected that the frontend was incorrectly classifying Scrutiny Failures as Warnings.
Fixed.
3 years ago
packagrio-bot
9ea283e8d2
(v0.4.3) Automated packaging of release by Packagr
3 years ago
packagrio-bot
2f67d6f9ae
(v0.4.2) Automated packaging of release by Packagr
3 years ago
Jason Kulatunga
145996055a
use locked versions of database models when doing migrations.
3 years ago
packagrio-bot
90e5d219a2
(v0.4.1) Automated packaging of release by Packagr
3 years ago
Jason Kulatunga
381a6799cc
updates for v0.4.0 release. Slight refactor/organization.
3 years ago
Jason Kulatunga
54178eaaf0
Merge branch 'master' into BASEPATH
3 years ago
packagrio-bot
a2a80f3102
(v0.4.0) Automated packaging of release by Packagr
3 years ago
Jason Kulatunga
de702414b9
moving all filesystem references to /scrutiny to /opt/scrutiny
...
fixes #230
3 years ago
Jason Kulatunga
2967b6ca01
make sure that we set the config path when ReadConfig is called.
3 years ago
Jason Kulatunga
5ed69d7fc4
adding tests for Smart and parser.
3 years ago
Jason Kulatunga
2214febbd1
simple rename.
3 years ago
Jason Kulatunga
786e7d04f2
make sure we print the overall device status in the details page.
3 years ago
Jason Kulatunga
0cee744c29
highlight last updated dates when more than 2 weeks or 1 month.
3 years ago
Jason Kulatunga
f39628efc3
by default show all temp data.
3 years ago
Jason Kulatunga
5bab9ac04a
make sure we can correctly save the config file if onboarding influx.
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
1ced2198c7
cleanup log messages.
3 years ago
Jason Kulatunga
5f12fbb510
enable final migration cleanup.
3 years ago
Jason Kulatunga
702518579b
fixed summary query.
3 years ago
Jason Kulatunga
fc5a9ba15e
fixed device processing in details page. Summary query is still broken.
3 years ago
Jason Kulatunga
8fe0dbed6b
partially working. Some datapoints are failing with panic and are silently ignored.
...
TODO must fix.
3 years ago
Jason Kulatunga
7d963c96a6
writing pseudocode algorithm for data migration.
3 years ago
Jason Kulatunga
2750ccef4a
call out deprecated structs so they are not accidentally used via autocomplete.
3 years ago
Jason Kulatunga
9d85920f49
started working on migration code.
3 years ago
Jason Kulatunga
0dba9f8011
Merge branch 'master' into influxdb
3 years ago
Jason Kulatunga
d42faf30b0
fix WriteConfig interface.
3 years ago
Jason Kulatunga
5fb5b9afbe
if we're completing the InfluxDB setup via automation, attempt to store the token in the config file automatically.
3 years ago
Jason Kulatunga
702c7cdf7a
if running test iin github actions, use influxdb service for testing.
3 years ago
Jason Kulatunga
00bc6ecd92
make sure we can pull config from env variables.
3 years ago
Jason Kulatunga
bd39b2cd4d
fixes for aggregation.
3 years ago
Jason Kulatunga
0a9d364aea
adding duration key to smart attributes api endpoint
3 years ago
Jason Kulatunga
f60636a6aa
broke scrutiny_repository.go into multiple files for easier exploration & maintenance.
3 years ago
Jason Kulatunga
7a7771981a
broke scrutiny_repository.go into multiple files for easier exploration & maintenance.
3 years ago
Jason Kulatunga
f569ab6474
[BROKEN COMMIT]
...
This code leverages the new `types.isType` functionality introduced in the flux language (https://github.com/influxdata/flux/issues/2159 )
This code will fix https://github.com/AnalogJ/scrutiny/issues/22 and all related issues.
Unfortunately this code is broken because the influxdb go client library does not correctly handle import statments in the task defintion.
blocked by
https://github.com/influxdata/influxdb-client-go/issues/322
3 years ago
Jason Kulatunga
903d5713fc
fixes for tests.
3 years ago
Jason Kulatunga
0872da57d7
fixes for tests.
3 years ago
Jason Kulatunga
47e8595c9d
using constant vars for duration key magic strings. Fixing Errorf calls to correctly have template data.
3 years ago
Jason Kulatunga
bff83de3a0
query temp data across multiple buckets
3 years ago
Jason Kulatunga
03bfdd3890
changing the duration dropdown for temp history data. adding an /api/summary/temp endpoint
3 years ago
Jason Kulatunga
772063a843
find the temp history for the last week (by default). Smooth out data using aggregate window for hourly numbers. Better temp casting during influx data inflating.
3 years ago
Jason Kulatunga
b776fb8886
tweaking retention policy code so we can test downsampling scripts.
3 years ago
Jason Kulatunga
ce032c5609
fixes for Scrutiny end-to-end testing.
3 years ago
Jason Kulatunga
060ac7b83a
fixes https://github.com/AnalogJ/scrutiny/issues/179
3 years ago
Jason Kulatunga
7b7b4fe4e3
fixing test.
3 years ago
Jason Kulatunga
5789c836db
make sure the status is always exposed in the json data. make sure display_name for metadata is included. Update mocked test data for frontend.
3 years ago
Jason Kulatunga
deba21fe19
update timestamps for testing.
3 years ago
Jason Kulatunga
31b5dfa038
ensure that all buckets are created during init. Remove all references to "name" field for attributes (shoudl come from metadata instead). Status is now an int64 (0 is passing).
3 years ago
Jason Kulatunga
9878985fa3
adding aggregation code
3 years ago
Jason Kulatunga
975c034925
WIP downsample scripts.
3 years ago
Jason Kulatunga
a60edfff26
fixing mocked data
3 years ago
Jason Kulatunga
bd19230cbf
make sure data is persisted to DB.
3 years ago
Jason Kulatunga
80f4660130
validate thresholds whenever SMART data is recieved.
3 years ago
Jason Kulatunga
694fc74ca0
fixing history.
4 years ago
Jason Kulatunga
8a46931399
!!!!WIP!!!!
...
adding InfluxDB
- influxdb added to dockerfile
- influxdb s6 service
- influxdb config
- adding defaults to config
- creating a DeviceRepo interface (multiple db backends)
- implemented DeviceRepo interface as ScruitnyRepository
4 years ago
Andrea Spacca
a7c8c75a49
fix new test
4 years ago
Andrea Spacca
234a8f9b01
cr fixes
4 years ago
Andrea Spacca
48bc7cedf4
test cases
4 years ago
Andrea Spacca
9fc11b7140
BASEPATH
4 years ago
Andrea Spacca
ea3fbc09f1
BASEPATH
4 years ago
Andrea Spacca
86145be2b1
BASEPATH
4 years ago
Jason Kulatunga
fd4f0429e4
(0.3.12) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
9be57f2271
(0.3.11) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
712119cb5e
fixing ui when visible on small screen.
...
tweak local contrib instructions.
Fixing javascript mediaquery breakpoint for small screen.
4 years ago
Jason Kulatunga
644a9418dd
(0.3.10) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
df07261c57
(0.3.9) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
527214f38c
(0.3.8) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
2fc24d0e76
fix error log.
4 years ago
Jason Kulatunga
d92a21fbca
Merge pull request #132 from telyn/patch-1
...
Change temperature graph to 24-hour formatting
4 years ago
Jason Kulatunga
4331f86ed4
fixing #164 telegram notification issue while I'm here.
...
TODO: do a full check of all notification params in shoutrrr and ensure they match what we use.
4 years ago
Jason Kulatunga
59d4a8e195
(0.3.7) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
79de0fed2b
upgrade shoutrrr version. Fix duplicate notifications when more than one notification handler configured (closure iteration issue).
...
fixes #160
fixes #146
fixes #135
4 years ago
Jason Kulatunga
5ea9a75039
(0.3.6) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Telyn
9778809cba
Change temperature graph to 24-hour formatting
4 years ago
Jason Kulatunga
27b923b5e9
(0.3.5) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
bab25de2f2
(0.3.4) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
520136a5ec
fixing automated version bump, attempt 3.
4 years ago
Jason Kulatunga
e364fe95d9
fixing verion bump for release.
4 years ago
Jason Kulatunga
93cf676818
added a "Success" test for script notifications.
...
bumping the version in version file? not sure why it wasnt correctly bumped already.
4 years ago
Ricardo Gonzalez
13d3d9f64e
Show Host ID
4 years ago
Jason Kulatunga
77971edf5f
Merge pull request #103 from ryck/feature/improve-humanize-duration
4 years ago
Ricardo Gonzalez
78d0dd8f3b
Use humanizeDuration directly in the template
4 years ago
Ricardo Gonzalez
96534c44b7
Improve humanizeHours
4 years ago
Ricardo Gonzalez
95ef254b8c
Add timestamp to last updated. Fixes #87
4 years ago
Jason Kulatunga
bf07077154
fail if the parent directory for database does not exist.
4 years ago
Jason Kulatunga
f27883ea4c
remove requestcatcher live test.
4 years ago
Jason Kulatunga
b04f1b07e8
(0.3.0) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
9fac3c6308
fix gorm dependency.
4 years ago
Jason Kulatunga
1cd5ebaa43
missing device type update.
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
32e7044c67
Merge pull request #75 from AnalogJ/notificationss
4 years ago
Jason Kulatunga
ac7c1f28cf
ignore empty ("") errors.
4 years ago
Jason Kulatunga
80a382d098
slight tweaks to notifications error handling.
4 years ago
Jason Kulatunga
a3438297e6
removeedd waitgroup, using sync/errgroup instead (to pass error messages back). returning errors in test notifications endpoint payload. Adding failure tests for webhooks, scripts & shoutrr.
4 years ago
Jason Kulatunga
6ca4ce39de
Adding documenation for notifications.
4 years ago
Jason Kulatunga
d339e967a6
fixing notifications.
4 years ago
Jason Kulatunga
6377a258f6
sending notifications on failure.
4 years ago
Jason Kulatunga
be378bd147
if attribute Id is unknown (and does not match anything in metadata) the frontend breaks. Added more robust frontend display code to handle this case.
...
fixes #53
4 years ago
Jason Kulatunga
1246f5bba9
started working on notifications.
4 years ago
Jason Kulatunga
7742f4c6c3
fixing windows binary build during CI. Update config missing error message.
4 years ago
Jason Kulatunga
7988381433
(0.2.4) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
a80794590a
(0.2.3) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
32682283da
(0.2.2) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
75a5f7dfb6
(0.2.1) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
6a20228262
adding error handling for all DB calls. Returning StatusInternalServerError whenever an error occurs. Adding additional logging to server handlers.
...
Make sure we "return" after a c.JSON call.
4 years ago
Jason Kulatunga
5127399e94
conditionally log request body.
4 years ago
Jason Kulatunga
8a975e2164
log request body.
4 years ago
Jason Kulatunga
1c59b3c245
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
286ec25a94
(0.2.0) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
ad3f8480d9
added some anonymized nvme test data to ensure that NVMe drives are correctly processed by new device detection. thanks @Roxedus.
...
All db testing is done with files created in a temp directory.
4 years ago
Jason Kulatunga
67d1c592a5
include the device type in the title, if it's non-standard.
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
66122778a3
only the firmware can really change between scans. Lets slim down the metadata update.
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
e6eeaf7e31
adding mocked detail data for frontend viewing. placeholders for settings panels. Add dialog panel for Details setings.
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
98415e625d
fix import. added simle test for notify test endpoint.
4 years ago
Jason Kulatunga
78a619b09d
moved middleware into more relevant location. Adding send test notifications handler. making sure that config is available from web handler functions.
4 years ago
Jason Kulatunga
c913cf39b9
adding new nottification validation erorr. Added a notification class containing webhook, script and shoutrrr notification logic. Adding "Test notification endpoint".
4 years ago
Jason Kulatunga
62b2ec9554
(0.1.13) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
834dcdc223
update test db.
4 years ago
Jason Kulatunga
c8471ffa88
(0.1.12) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
86fc10b7b9
added ideal and thresholds for NVMe and SCSI drives.
...
Added functions (PopulateAttributeStatus) to ensure that NVME and SCSI drives set the status for SMART attributes.
Moved Status populating fucntion into the *Attribute files, so they are closer to the code they actually interact with.
Fix frontend to correctly display status, thresh and Ideal for NVMe and SCSI ddrives.
4 years ago
Jason Kulatunga
fb1415f8a5
(0.1.11) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
022b6b6598
(0.1.10) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
09eca64a03
(0.1.9) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
442cda254c
(0.1.8) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
451bf73334
(0.1.7) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
586767393d
(0.1.6) Automated packaging of release by Packagr
...
Signed-off-by: Jason Kulatunga <jason@thesparktree.com>
4 years ago
Jason Kulatunga
5dd3aed1fe
adding threshold for percentage Used.
...
Adding release pipeline.
4 years ago
Jason Kulatunga
c7f529ab41
fixing grid.
4 years ago
Jason Kulatunga
50f1566689
fixing grid.
4 years ago
packagr-io-beta
eb5b5ebee3
(v0.1.5) Automated packaging of release by Packagr
4 years ago
Jason Kulatunga
e283d43654
rename metadata class names.
...
adding metadata for NVME and SCSI drives.
send back protocol specific metadata for displaying data in the UI for attributes.
UI - moved all metadata lookups into named functions (for better if/else logic)
show different columns if nvme or scsi.
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
packagr-io-beta
794479b28e
(v0.1.4) Automated packaging of release by Packagr
4 years ago
Jason Kulatunga
f7b2a7b41b
make sure results from failing smartctl execution is still sent to API.
4 years ago
Jason Kulatunga
92d54df022
adding test files.
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
Jason Kulatunga
c14f313fa1
check array length.
4 years ago
Jason Kulatunga
a78e4eb001
fix failing test.
4 years ago
Jason Kulatunga
f9e41cd6a2
disable linter.
4 years ago
Jason Kulatunga
29b5b53189
added a empty landing page.
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