From 0968a4d7476970a3b80bf9a883e2be9a91c7fcea Mon Sep 17 00:00:00 2001 From: PavelBelyaev Date: Sun, 30 Jan 2022 13:52:40 +0500 Subject: [PATCH] Create tr_srv_mon MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Скрипт мониторинга состояния сервера, можно привязывать к ботам, чтобы дистанционно опрашивать текущее состояние --- tr_srv_mon | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 tr_srv_mon diff --git a/tr_srv_mon b/tr_srv_mon new file mode 100644 index 0000000..5e68a0d --- /dev/null +++ b/tr_srv_mon @@ -0,0 +1,69 @@ +#!/bin/bash + +# 1 - вместо Composite, fan2, CPUTIN подставляем свои значения из вывода команды sensors +sensors_res=$( +sensors |\ +`#фильтруем строки` \ +egrep "(Composite|fan2|CPUTIN)" | +sed \ +`#переводим значения` \ +-e "s/Composite/Температура NVME/" \ +-e "s/fan2/Скорость вентилятора/" \ +-e "s/CPUTIN/Температура CPU/" \ +`#убираем хлам в скобках и после` \ +-e "s/(.*).*//" \ +`#убираем пробелы после двоеточий` \ +-e "s/:\s*/: /" \ +`#форматируем выхлоп в key:val` \ +-e "s/\(.*\):[^0-9]*\([0-9.]\+\)\s*\(.*\)/\1(\3): \2/" \ +`#пробелы перед скобками` \ +-e "s/\s*)/)/" +) + +#2 - вместо /dev/nvme0 подставляем свое +smart_res=$( +smartctl -a /dev/nvme0 |\ +`#фильтруем строки` \ +egrep "(Percentage Used|Data Units Written)" | +sed \ +`#переводим значения` \ +-e "s/Percentage Used/Износ/" \ +-e "s/Data Units Written/Кол-во записей/" \ +`#убираем пробелы после двоеточий` \ +-e "s/:\s*/: /" \ +`#оставим только в квадратных скобках` \ +-e "s/\(.*\):.*\[\(.*\)\]/\1: \2 /" \ +`#форматируем выхлоп в key:val` \ +-e "s/\(.*\):[^0-9]*\([0-9.]\+\)\s*\(.*\)/\1(\3): \2/" \ +`#пробелы перед скобками` \ +-e "s/\s*)/)/" +) + + + +ram_res=$( +free -m | grep "Mem:" | awk '{print "RAM Usage(%): "$3/$2*100}' +) + + +# если дисков/разделов несколько, то команд будет несколько для каждого отдельно +ssd_res=$( +df -h | egrep '/$' | awk '{print "Заполнение диска: "$5}' +) + +cpu_res=$( +cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq \ +|sort -r|awk '{print "Частота процессора(Ghz): "$1/1000000}'\ +|head -1 +) + +ping_res=$( +ping -q -c1 8.8.8.8 | grep avg |awk -v FS="/" '{print "Ping(ms): "$5}' +) + +echo "$sensors_res" +echo "$smart_res" +echo "$ram_res" +echo "$ssd_res" +echo "$cpu_res" +echo "$ping_res"