Skip to content

Instantly share code, notes, and snippets.

@gilangvperdana
Created July 2, 2023 16:22
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gilangvperdana/dfa4b5f18a39a5c4c9e758809fecf3f3 to your computer and use it in GitHub Desktop.
Save gilangvperdana/dfa4b5f18a39a5c4c9e758809fecf3f3 to your computer and use it in GitHub Desktop.
SSH Session Exporter

General

Version 1: Docker Run

docker run -d -p 999:9999 -v /run/utmp:/run/utmp flor0/prometheus-ssh-exporter

Version 2: Systemd Run

sudo apt install python3 python3-venv
mkdir sshmons
cd sshmons
python3 -m venv myenv
source myenv/bin/activate

wget https://raw.githubusercontent.com/flor0/prometheus-ssh-exporter/main/requirements.txt
wget https://raw.githubusercontent.com/flor0/prometheus-ssh-exporter/main/prometheus-ssh-exporter.py

pip3 install -r requirements.txt
./myenv/bin/python ./prometheus-ssh-exporter.py
  • If OK, lets create systemd
sudo nano /etc/systemd/system/prometheus-ssh-exporter.service
[Unit]
Description=Prometheus SSH Exporter
After=network.target

[Service]
ExecStart=/path/to/my_project/myenv/bin/python /path/to/my_project/prometheus-ssh-exporter.py
Restart=always

[Install]
WantedBy=multi-user.target
sudo systemctl enable prometheus-ssh-exporter.service
sudo systemctl start prometheus-ssh-exporter.service
sudo systemctl status prometheus-ssh-exporter.service

Prometheus

  - job_name: ssh
    static_configs:
      - targets: ['10.8.0.1:9999']
        labels:
          server: 'node1'

GrafanaJSON

  • Here
  • Query Variable -> label_values(ssh_num_sessions, server)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment