updating docs. use /opt/ not /etc/. Describe RAID instructions.
This commit is contained in:
@@ -52,6 +52,19 @@ Scrutiny is a simple but focused application, with a couple of core features:
|
||||
|
||||
# Getting Started
|
||||
|
||||
## RAID/Virtual Drives
|
||||
|
||||
Scrutiny uses `smartctl --scan` to detect devices/drives.
|
||||
|
||||
- All RAID controllers supported by `smartctl` are automatically supported by Scrutiny.
|
||||
- While some RAID controllers support passing through the underlying SMART data to `smartctl` others do not.
|
||||
- In some cases `--scan` does not correctly detect the device type, returning [incomplete SMART data](https://github.com/AnalogJ/scrutiny/issues/45).
|
||||
Scrutiny will eventually support overriding detected device type via the config file.
|
||||
- If you use docker, you **must** pass though the RAID virtual disk to the container using `--device` (see below)
|
||||
- This device may be in `/dev/*` or `/dev/bus/*`.
|
||||
- If you're unsure, run `smartctl --scan` on your host, and pass all listed devices to the container.
|
||||
|
||||
|
||||
## Docker
|
||||
|
||||
If you're using Docker, getting started is as simple as running the following command:
|
||||
@@ -68,8 +81,8 @@ analogj/scrutiny
|
||||
|
||||
- `/run/udev` is necessary to provide the Scrutiny collector with access to your device metadata
|
||||
- `--cap-add SYS_RAWIO` is necessary to allow `smartctl` permission to query your device SMART data
|
||||
- NOTE: If you have NVMe drives, you must use `--cap-add SYS_ADMIN` instead. See issue [#26](https://github.com/AnalogJ/scrutiny/issues/26#issuecomment-696817130)
|
||||
- `--device` entries are required to ensure that your hard disk devices are accessible within the container
|
||||
- NOTE: If you have NVMe drives, you must use `--cap-add SYS_ADMIN`. See issue [#26](https://github.com/AnalogJ/scrutiny/issues/26#issuecomment-696817130)
|
||||
- `--device` entries are required to ensure that your hard disk devices are accessible within the container.
|
||||
- `analogj/scrutiny` is a omnibus image, containing both the webapp server (frontend & api) as well as the S.M.A.R.T metric collector. (see below)
|
||||
|
||||
### Hub/Spoke Deployment
|
||||
@@ -94,6 +107,13 @@ docker run -it --rm \
|
||||
analogj/scrutiny:collector
|
||||
```
|
||||
|
||||
## Manual Installation (without-Docker)
|
||||
|
||||
While the easiest way to get started with [Scrutiny is using Docker](https://github.com/AnalogJ/scrutiny#docker),
|
||||
it is possible to run it manually without much work. You can even mix and match, using Docker for one component and
|
||||
a manual installation for the other.
|
||||
|
||||
See [docs/INSTALL_MANUAL.md](docs/INSTALL_MANUAL.md) for instructions.
|
||||
|
||||
## Usage
|
||||
|
||||
|
||||
+18
-16
@@ -6,6 +6,8 @@ a manual installation for the other.
|
||||
|
||||
Scrutiny is made up of two components: a collector and a webapp/api. Here's how each component can be deployed manually.
|
||||
|
||||
> Note: the `/opt/scrutiny` directory is not hardcoded, you can use any directory name/path.
|
||||
|
||||
## Webapp/API
|
||||
|
||||
### Dependencies
|
||||
@@ -19,9 +21,9 @@ which is included by most linux OS's already.
|
||||
Now let's create a directory structure to contain the Scrutiny files & binary.
|
||||
|
||||
```
|
||||
mkdir -p /etc/scrutiny/config
|
||||
mkdir -p /etc/scrutiny/web
|
||||
mkdir -p /etc/scrutiny/bin
|
||||
mkdir -p /opt/scrutiny/config
|
||||
mkdir -p /opt/scrutiny/web
|
||||
mkdir -p /opt/scrutiny/bin
|
||||
```
|
||||
|
||||
### Config file
|
||||
@@ -30,19 +32,19 @@ While it is possible to run the webapp/api without a config file, the defaults a
|
||||
and so will need to be overridden. So the first thing you'll need to do is create a config file that looks like the following:
|
||||
|
||||
```
|
||||
# stored in /etc/scrutiny/config/scrutiny.yaml
|
||||
# stored in /opt/scrutiny/config/scrutiny.yaml
|
||||
|
||||
version: 1
|
||||
|
||||
web:
|
||||
database:
|
||||
# The Scrutiny webapp will create a database for you, however the parent directory must exist.
|
||||
location: /etc/scrutiny/config/scrutiny.db
|
||||
location: /opt/scrutiny/config/scrutiny.db
|
||||
src:
|
||||
frontend:
|
||||
# The path to the Scrutiny frontend files (js, css, images) must be specified.
|
||||
# We'll populate it with files in the next section
|
||||
path: /etc/scrutiny/web
|
||||
path: /opt/scrutiny/web
|
||||
```
|
||||
|
||||
> Note: for a full list of available configuration options, please check the [example.scrutiny.yaml](https://github.com/AnalogJ/scrutiny/blob/master/example.scrutiny.yaml) file.
|
||||
@@ -52,8 +54,8 @@ web:
|
||||
Next, we'll download the Scrutiny API binary and frontend files from the [latest Github release](https://github.com/analogj/scrutiny/releases).
|
||||
The files you need to download are named:
|
||||
|
||||
- **scrutiny-web-linux-amd64** - save this file to `/etc/scrutiny/bin`
|
||||
- **scrutiny-web-frontend.tar.gz** - save this file to `/etc/scrutiny/web`
|
||||
- **scrutiny-web-linux-amd64** - save this file to `/opt/scrutiny/bin`
|
||||
- **scrutiny-web-frontend.tar.gz** - save this file to `/opt/scrutiny/web`
|
||||
|
||||
### Prepare Scrutiny
|
||||
|
||||
@@ -61,10 +63,10 @@ Now that we have downloaded the required files, let's prepare the filesystem.
|
||||
|
||||
```
|
||||
# Let's make sure the Scrutiny webapp is executable.
|
||||
chmod +x /etc/scrutiny/bin/scrutiny-web-linux-amd64
|
||||
chmod +x /opt/scrutiny/bin/scrutiny-web-linux-amd64
|
||||
|
||||
# Next, lets extract the frontend files.
|
||||
cd /etc/scrutiny/web
|
||||
cd /opt/scrutiny/web
|
||||
tar xvzf scrutiny-web-frontend.tar.gz --strip-components 1 -C .
|
||||
|
||||
# Cleanup
|
||||
@@ -76,7 +78,7 @@ rm -rf scrutiny-web-frontend.tar.gz
|
||||
Finally, we start the Scrutiny webapp:
|
||||
|
||||
```
|
||||
/etc/scrutiny/bin/scrutiny-web-linux-amd64 start --config /etc/scrutiny/config/scrutiny.yaml
|
||||
/opt/scrutiny/bin/scrutiny-web-linux-amd64 start --config /opt/scrutiny/config/scrutiny.yaml
|
||||
```
|
||||
|
||||
The webapp listens for traffic on `http://0.0.0.0:8080` by default.
|
||||
@@ -105,7 +107,7 @@ So you'll need to install the v7+ version using one of the following commands:
|
||||
Now let's create a directory structure to contain the Scrutiny collector binary.
|
||||
|
||||
```
|
||||
mkdir -p /etc/scrutiny/bin
|
||||
mkdir -p /opt/scrutiny/bin
|
||||
```
|
||||
|
||||
|
||||
@@ -114,7 +116,7 @@ mkdir -p /etc/scrutiny/bin
|
||||
Next, we'll download the Scrutiny collector binary from the [latest Github release](https://github.com/analogj/scrutiny/releases).
|
||||
The file you need to download is named:
|
||||
|
||||
- **scrutiny-collector-metrics-linux-amd64** - save this file to `/etc/scrutiny/bin`
|
||||
- **scrutiny-collector-metrics-linux-amd64** - save this file to `/opt/scrutiny/bin`
|
||||
|
||||
|
||||
### Prepare Scrutiny
|
||||
@@ -123,7 +125,7 @@ Now that we have downloaded the required files, let's prepare the filesystem.
|
||||
|
||||
```
|
||||
# Let's make sure the Scrutiny collector is executable.
|
||||
chmod +x /etc/scrutiny/bin/scrutiny-collector-metrics-linux-amd64
|
||||
chmod +x /opt/scrutiny/bin/scrutiny-collector-metrics-linux-amd64
|
||||
```
|
||||
|
||||
### Start Scrutiny Collector, Populate Webapp
|
||||
@@ -131,7 +133,7 @@ chmod +x /etc/scrutiny/bin/scrutiny-collector-metrics-linux-amd64
|
||||
Next, we will manually trigger the collector, to populate the Scrutiny dashboard:
|
||||
|
||||
```
|
||||
/etc/scrutiny/bin/scrutiny-collector-metrics-linux-amd64 run --api-endpoint "http://localhost:8080"
|
||||
/opt/scrutiny/bin/scrutiny-collector-metrics-linux-amd64 run --api-endpoint "http://localhost:8080"
|
||||
```
|
||||
|
||||
### Schedule Collector with Cron
|
||||
@@ -144,5 +146,5 @@ This may be different depending on your OS/environment, but it may look somethin
|
||||
crontab -e
|
||||
|
||||
# add a line for Scrutiny
|
||||
*/15 * * * * /etc/scrutiny/bin/scrutiny-collector-metrics-linux-amd64 run --api-endpoint "http://localhost:8080"
|
||||
*/15 * * * * /opt/scrutiny/bin/scrutiny-collector-metrics-linux-amd64 run --api-endpoint "http://localhost:8080"
|
||||
```
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
# Officially Supported NAS OS's
|
||||
|
||||
These are the officially supported NAS OS's (with documentation and setup guides).
|
||||
Once a guide is created (in `docs/guides/`) it will be linked here.
|
||||
|
||||
- [ ] freenas/truenas
|
||||
- [ ] unraid
|
||||
- [ ] ESXI
|
||||
- [ ] Proxmox
|
||||
- [ ] Synology
|
||||
- [ ] OMV
|
||||
- [ ] Amahi
|
||||
- [ ] Running in a LXC container
|
||||
|
||||
Reference in New Issue
Block a user