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
|
# 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
|
## Docker
|
||||||
|
|
||||||
If you're using Docker, getting started is as simple as running the following command:
|
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
|
- `/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
|
- `--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)
|
- 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
|
- `--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)
|
- `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
|
### Hub/Spoke Deployment
|
||||||
@@ -94,6 +107,13 @@ docker run -it --rm \
|
|||||||
analogj/scrutiny:collector
|
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
|
## 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.
|
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
|
## Webapp/API
|
||||||
|
|
||||||
### Dependencies
|
### 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.
|
Now let's create a directory structure to contain the Scrutiny files & binary.
|
||||||
|
|
||||||
```
|
```
|
||||||
mkdir -p /etc/scrutiny/config
|
mkdir -p /opt/scrutiny/config
|
||||||
mkdir -p /etc/scrutiny/web
|
mkdir -p /opt/scrutiny/web
|
||||||
mkdir -p /etc/scrutiny/bin
|
mkdir -p /opt/scrutiny/bin
|
||||||
```
|
```
|
||||||
|
|
||||||
### Config file
|
### 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:
|
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
|
version: 1
|
||||||
|
|
||||||
web:
|
web:
|
||||||
database:
|
database:
|
||||||
# The Scrutiny webapp will create a database for you, however the parent directory must exist.
|
# 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:
|
src:
|
||||||
frontend:
|
frontend:
|
||||||
# The path to the Scrutiny frontend files (js, css, images) must be specified.
|
# The path to the Scrutiny frontend files (js, css, images) must be specified.
|
||||||
# We'll populate it with files in the next section
|
# 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.
|
> 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).
|
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:
|
The files you need to download are named:
|
||||||
|
|
||||||
- **scrutiny-web-linux-amd64** - save this file to `/etc/scrutiny/bin`
|
- **scrutiny-web-linux-amd64** - save this file to `/opt/scrutiny/bin`
|
||||||
- **scrutiny-web-frontend.tar.gz** - save this file to `/etc/scrutiny/web`
|
- **scrutiny-web-frontend.tar.gz** - save this file to `/opt/scrutiny/web`
|
||||||
|
|
||||||
### Prepare Scrutiny
|
### 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.
|
# 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.
|
# 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 .
|
tar xvzf scrutiny-web-frontend.tar.gz --strip-components 1 -C .
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
@@ -76,7 +78,7 @@ rm -rf scrutiny-web-frontend.tar.gz
|
|||||||
Finally, we start the Scrutiny webapp:
|
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.
|
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.
|
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).
|
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:
|
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
|
### 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.
|
# 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
|
### 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:
|
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
|
### Schedule Collector with Cron
|
||||||
@@ -144,5 +146,5 @@ This may be different depending on your OS/environment, but it may look somethin
|
|||||||
crontab -e
|
crontab -e
|
||||||
|
|
||||||
# add a line for Scrutiny
|
# 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