updated node_exporter scripts
This commit is contained in:
parent
c395134a75
commit
52764e5bed
5 changed files with 42 additions and 12 deletions
28
README.md
28
README.md
|
@ -11,15 +11,24 @@ Some useful bash scripts.
|
|||
|[validate-remote-backup.sh](validate-remote-backup.sh)|Script to validate server side rsync command to use ssh force command|
|
||||
|[docker-compose-up-all.sh](docker-compose-up-all.sh)|Script to call `docker-compose up -d` on all subdirectories|
|
||||
|[docker-stack-deploy-all.sh](docker-stack-deploy-all.sh)|Script to call `docker stack deploy` on all subdirectories|
|
||||
|[node_dir_size_exporter.sh](node_dir_size_exporter.sh)|Script to call `du` on a given directory to export the size to prometheus|
|
||||
|[node_dir_size_exporter.sh](node_exporter/directory-size.sh)|Script to call `du` on a given directory to export the size to prometheus|
|
||||
|[update-notify.sh](update-notify.sh)|Script to call `apt` to check the host for new updates and notify in gotify|
|
||||
|
||||
__node_exporter__
|
||||
|
||||
|Script|Description|
|
||||
|---|---|
|
||||
|[active-sessions.sh](node_exporter/active-sessions.sh)|Script to export all active sessions to prometheus|
|
||||
|[directory-size.sh](node_exporter/directory-size.sh)|Script to export directory sizes to prometheus|
|
||||
|
||||
|
||||
## Setup
|
||||
|
||||
To set up all scripts in the current directory run this:
|
||||
|
||||
```
|
||||
curl https://git.sp-codes.de/samuel-p/awesome-scripts/raw/branch/master/setup.sh | bash -s healthcheck.sh login-notify.sh validate-remote-backup.sh docker-compose-up-all.sh docker-stack-deploy-all.sh node_dir_size_exporter.sh update-notify.sh
|
||||
curl https://git.sp-codes.de/samuel-p/awesome-scripts/raw/branch/master/setup.sh | bash -s healthcheck.sh login-notify.sh validate-remote-backup.sh docker-compose-up-all.sh docker-stack-deploy-all.sh update-notify.sh
|
||||
curl https://git.sp-codes.de/samuel-p/awesome-scripts/raw/branch/master/setup.sh | bash -s active-sessions.sh directory-size.sh
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
@ -41,3 +50,18 @@ Place a `.gotify` file in the same direction as the script and put the applicati
|
|||
```
|
||||
session optional pam_exec.so seteuid /path/to/login-notify.sh
|
||||
```
|
||||
|
||||
### node_exporter
|
||||
|
||||
Add the following in crontab:
|
||||
|
||||
```
|
||||
*/5 * * * * /root/exporter/directory-size.sh "<your_dir_pattern>" "<your_key>" | sponge /path/to/textfiles/directory-size.prom
|
||||
* * * * * /root/exporter/active-sessions.sh | sponge /path/to/textfiles/active-sessions.prom
|
||||
```
|
||||
|
||||
Add the `textfiles` dir as param to `node_exporter`:
|
||||
|
||||
```
|
||||
node_exporter --collector.textfile.directory /path/to/textfiles ...
|
||||
```
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
GOTIFY_FILE=$(<~/.gotify)
|
||||
GOTIFY_TOKEN=${GOTIFY_FILE##*( )}
|
||||
HOST="$(hostname)"
|
||||
sender="SSH-Notification <notifications@sp-codes.de>"
|
||||
recipient="codes@samuel-philipp.de"
|
||||
sender="SSH-Notification <mail>"
|
||||
recipient="<mail>"
|
||||
subject="SSH Login: $PAM_USER from $PAM_RHOST on $HOST"
|
||||
message="User $PAM_USER logged in on $HOST from $PAM_RHOST at $(date)."
|
||||
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
DIR=$1
|
||||
KEY=$2
|
||||
FILE=$3
|
||||
|
||||
du -bsx $DIR | sed "s/\([0-9]*\).*\/\(.*\)/node_dir_size{name=\"\2\",key=\"$KEY\"} \1/" > "$FILE$$"
|
||||
mv "$FILE$$" "$FILE"
|
9
node_exporter/active-sessions.sh
Normal file
9
node_exporter/active-sessions.sh
Normal file
|
@ -0,0 +1,9 @@
|
|||
#!/bin/bash
|
||||
|
||||
ALL_SESSIONS=$(who | wc -l)
|
||||
ROOT_SESSIONS=$(who | grep root | wc -l)
|
||||
|
||||
echo "# HELP node_active_sessions active sessions by type."
|
||||
echo "# TYPE node_active_sessions gauge"
|
||||
echo "node_active_sessions{type=\"all\"} $ALL_SESSIONS"
|
||||
echo "node_active_sessions{type=\"root\"} $ROOT_SESSIONS"
|
5
node_exporter/directory-size.sh
Normal file
5
node_exporter/directory-size.sh
Normal file
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo "# HELP node_directory_size_bytes Disk space used by some directories"
|
||||
echo "# TYPE node_directory_size_bytes gauge"
|
||||
du -bsx "$1" | sed "s/\([0-9]*\).*\/\(.*\)/node_directory_size_bytes{name=\"\2\",key=\"$2\"} \1/"
|
Reference in a new issue