StealMonitor - skrypt do automatycznego monitorowania czasu kradzieży CPU

Tagi: #<Tag:0x00007f2ade649460> #<Tag:0x00007f2ade648da8>

Witam, chciałbym podzielić się z Wami moim skryptem do monitorowania parametru steal na VPS :slightly_smiling_face:

Wymagania

Skrypt napisany jest w bashu, jednakże wymaga on do działania php, jest to spowodowane tym, że porównywanie liczb przy pomocy czystego basha jest nieco utrudnione, więc uznałem że zamiast męczyć się z tym w czystym bashu użyję trochę php aby kod był prostszy. Jeśli masz już php na swoim serwerze nie musisz niczego doinstalowywać, wersja php nie ma też żadnego znaczenia. Jeżeli jednak nie posiadasz php, wykonaj tę komendę:

sudo apt install -y php-cli

Skrypt podczas uruchamiania sprawdza, czy php jest zainstalowane.

Użytkowanie

Skrypt do działania nie wymaga uprawnień roota, jednak zadziała zarówno na zwykłym użytkowniku jak i na roocie. Wystarczy pobrać go na swój serwer VPS:

wget http://207.180.244.20/StealMonitor.sh

Nadać mu odpowiednie uprawnienia:

chmod +x StealMonitor.sh

I uruchomić go przy pomocy aplikacji screen:

screen ./StealMonitor.sh

Konfiguracja

Na początku skryptu znajdują się dwie takie linijki:

CHECK_EVERY_SECONDS=5
MINIMUM_STEAL_LOG=5

Pierwsza z nich mówi co ile sekund skrypt ma sprawdzać parametr steal, druga mówi od ilu procent ma zostać to zapisane do logów. Domyślne ustawienia powinny wystarczyć, aczkolwiek możesz je dostosować według własnych preferencji.

Odczytywanie logów

Logi są automatycznie wyświetlane po zalogowaniu się do ssh:
image
W razie potrzeby możesz jednak zawsze odczytać je ręcznie, są one przechowywane w pliku steal.log w katalogu głównym użytkownika:
image

3lajki

Czemu w tym jest php?

napisałem przecież:

Fajnie, jakbyś sam skrypt wrzucił na jakiś dysk google itd
Ewentualnie https://plik.root.gg

utrudniłoby to pobieranie skryptu :thinking:

z tego co widzę jest tam limit czasowy

A pardon faktycznie

PS. fajnie by było dodać opcję alternatywnego pobrania :slight_smile:

1lajk

Tego basha tutaj tyle jest, że do sklejania kodu i odpalania PHP, okropne. :worried:

result=$(echo "$currentSteal" ">=" "$maximumStealLog" | bc -l)
# true: 1
# false: 0
2lajki