updating docs. use /opt/ not /etc/. Describe RAID instructions.

pull/97/head
Jason Kulatunga 4 years ago
parent 7de7935790
commit c7c1e37170

@ -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

@ -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
Loading…
Cancel
Save