LINUX.ORG.RU

TTop — утилита мониторинга системы с поддержкой исторических данных

 , , , ,

TTop — утилита мониторинга системы с поддержкой исторических данных

6

2

Программа мониторинга системы TTop поддерживает следующие функции:

  • Снятие снапшотов системы через systemd.timers;
  • Перемещение по историческим данным с помощью [ и ];
  • Подсветка критических значений >80%;
  • Ascii-график по снапшотам;
  • Может работать без root;
  • Имеет статическую сборку или yay -S ttop для arch;

Планируется добавление нотификаций через telegram.

>>> Подробности



Проверено: hobbit ()
Последнее исправление: CYB3R (всего исправлений: 4)

Ответ на: комментарий от hbars

Я не очень пойму что за coredump в этом файле. ttop может stacktrace вывести на экран но не в кору упасть

inv2004
() автор топика
Ответ на: комментарий от hbars

вышла 0.6.1:

  • добавлено чтение температуры из libsensors.so
  • удалось воспроизвести и точно исправлено падение при чтении tasks/children, до это проблема была правильно локализована, но не исправлена

@hbars, второе - с 99% вероятностью - это оно

inv2004
() автор топика

Прикольное, спасибо. Для моего выводка локалхостов больше и не надо, наверное. Разве что… А можно в будущем прикрутить отправку на почту (по критичным значениям или просто по расписанию)?

tolstoevsky
()
Ответ на: комментарий от tolstoevsky

Прикольное

Рад что понравилось

можно в будущем прикрутить отправку на почту

Вот тут уже даже немного копий сточилось. Потому как, мне кажется, нотификации в телегу (через личный BOT_TOKEN, т.е. всё только вам пренадлежит) - мне кажется немного актуальнее. Или всё же почта?

inv2004
() автор топика

Если кто хочет это в будущем в pacman увидеть (и не только),

было бы здорово если Vote for this package нажать тут: https://aur.archlinux.org/packages/ttop и набрать 10 голосов - тогда можно идти написать заявку на включение в community-репу

inv2004
() автор топика
Ответ на: комментарий от inv2004

Я за почту. Её сервер, в отличие от телеги, я могу и хостить, и выбрать любой из сотен чужих. Да и лично я, например, просто не пользуюсь телегой :)

tolstoevsky
()
Ответ на: комментарий от tolstoevsky

Я за почту

И изучу. Когда-то давно я привык что это просто локальный sendmail, но, последний раз когда сталкивался - послать что-то через чужой сервис типа aws-mail или gmail - это было не самой тривиальной задачей

Ещё идея: локально как-то выдавать output, а пользователь сам переправит. Кстати, наверное, так и сделаю

inv2004
() автор топика
Последнее исправление: inv2004 (всего исправлений: 1)
Ответ на: комментарий от inv2004

В упор не вижу.
https://imgur.com/7BxlgdP.png

root@radionet-nas:~# sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +41.0°C  (high = +90.0°C, crit = +90.0°C)
Core 1:       +41.0°C  (high = +90.0°C, crit = +90.0°C)
Core 2:       +44.0°C  (high = +90.0°C, crit = +90.0°C)
Core 3:       +44.0°C  (high = +90.0°C, crit = +90.0°C)

acpitz-acpi-0
Adapter: ACPI interface
Motherboard:  +26.8°C  (crit = +95.0°C)

it8628-isa-0a40
Adapter: ISA adapter
VCore:         996.00 mV (min =  +0.20 V, max =  +1.36 V)
VCC3:            3.33 V  (min =  +3.13 V, max =  +3.46 V)
+12V:           12.31 V  (min = +11.38 V, max = +12.60 V)
VCC:             4.98 V  (min =  +4.74 V, max =  +5.25 V)
CPU_VAXG:      744.00 mV (min =  +0.40 V, max =  +1.40 V)
Vnn:             1.06 V  (min =  +0.78 V, max =  +1.50 V)
DDR1_35:         1.34 V  (min =  +1.28 V, max =  +1.42 V)
3VSB:            3.36 V  (min =  +3.14 V, max =  +3.46 V)
Battery:         3.07 V  
Sys Temp:       +40.0°C  (low  = -105.0°C, high = -55.0°C)  sensor = thermistor
PCIe_x16 Temp:  +42.0°C  
VRM_MOS Temp:   +42.0°C  
PCH Temp:       +45.0°C 

hbars ★★★★★
()
Ответ на: комментарий от hbars

Я посмотрел у других - у них не только libsensors.so , но почему-то и libsensors.so.4 и libsensors.so.5 отдельно проверяется. Я только первое ищу. Может быть в системе нету просто .so линковки?

inv2004
() автор топика
Последнее исправление: inv2004 (всего исправлений: 1)
Ответ на: комментарий от hbars

0.6.3:

  • загружает libsensors.sо или libsensors.so.5

.4 не добавлял - хорошо бы проверить на совместимость, но пока негде

wget https://github.com/inv2004/ttop/releases/latest/download/ttop
inv2004
() автор топика
Последнее исправление: inv2004 (всего исправлений: 3)
Ответ на: комментарий от inv2004

Ну не знаю. Хоть бы ругалось как-нибудь.
Во всяком случае здесь про сенсор ничего. Как там хоть какая функцию из либы называется?

root@radionet-nas:~# strace ttop 2>&1|grep sensor
readv(3, [{iov_base="grep\0--color=auto\0sensor\0", iov_len=3999}, {iov_base="", iov_len=1024}], 2) = 25
readv(3, [{iov_base="grep\0--color=auto\0sensor\0", iov_len=3999}, {iov_base="", iov_len=1024}], 2) = 25
writev(1, [{iov_base="grep --color=auto sensor        "..., iov_len=932}, {iov_base="/usr/sbin/snmpd -LOw -u Debian-s"..., iov_len=104}], 2grep --color=auto sensor                                                                                 │














│ S 347720 motion      44.1 MB   1.1   4.2           17:09:49  /usr/bin/motion -m                                                                                       │
│ I 378767 root            0 b   0.0   1.7            1:09:07  kworker/u9:0-uvcvideo                                                                                    │
│ S    683 root        23.5 MB   0.6   0.8            2:44:43  /usr/bin/python3 /usr/bin/fail2ban-server -xf start                                                      │
│ S    684 root         8.0 MB   0.2   0.8            2:44:43  /usr/sbin/snmpd -LOw -u Debian-snmp -g Debian-snmp -I -smux mteTrigger mteTriggerConf -f -p /run/snmpd..) = 1036
readv(3, [{iov_base="grep\0--color=auto\0sensor\0", iov_len=3999}, {iov_base="", iov_len=1024}], 2) = 25
readv(3, [{iov_base="grep\0--color=auto\0sensor\0", iov_len=3999}, {iov_base="", iov_len=1024}], 2) = 25

hbars ★★★★★
()
Ответ на: комментарий от hbars

Семён-семёныч, я совсем забыл что у меня это статика + musl, а загрузить я пытаюсь системную (которая не musl).

Так что пока только под arch, надо бы подумать как с этим быть. Собрать под систему просто, но под все - тут возвращается вопрос как это правильно делать

inv2004
() автор топика
Ответ на: комментарий от hbars
wget https://github.com/inv2004/ttop/releases/latest/download/ttop-dl

Пожалуй это единственно что я смог сейчас придумать: сборка на убунте с динамической линковкой. Требует систему с GLIBC_2.33 или GLIBC_2.34

inv2004
() автор топика
Последнее исправление: inv2004 (всего исправлений: 2)
Ответ на: комментарий от inv2004

Ну вот на буке оно запускается.
https://imgur.com/7LFcqpw.png
ldd (Ubuntu GLIBC 2.36-0ubuntu4) 2.36
А на сервере куй.

root@radionet-nas:~# ./ttop-dl
./ttop-dl: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./ttop-dl)
./ttop-dl: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./ttop-dl)
ldd (Ubuntu GLIBC 2.31-0ubuntu9.9) 2.31
Как-то же можно забороть? Или собирай для разных GLIBC :)
А что он показывает? У меня судя по всему это temp1.
radeon-pci-0200
Adapter: PCI adapter
temp1:        +46.5°C  (crit = +120.0°C, hyst = +90.0°C)

BAT0-acpi-0
Adapter: ACPI interface
in0:          12.06 V  
curr1:         0.00 A  

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +46.0°C  (high = +84.0°C, crit = +100.0°C)
Core 1:       +45.0°C  (high = +84.0°C, crit = +100.0°C)
Core 2:       +45.0°C  (high = +84.0°C, crit = +100.0°C)
Core 3:       +45.0°C  (high = +84.0°C, crit = +100.0°C)

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +45.0°C  (crit = +102.0°C)
temp2:        +31.0°C  (crit = +96.0°C)

hbars ★★★★★
()
Последнее исправление: hbars (всего исправлений: 1)
Ответ на: комментарий от hbars

Для CPU это всегда первый coretemp.

У меня на ноуте просто выглядит немного по другому - там ещё один датчик - общая температура процессора первый. Но, как я понимаю, иногда там только отдельные ядра. Показывать ли только первое или максимальное от всех - надо подумать. htop вроде показывает максимальную - наверное так же переделаю.

Для nvme (у тебя не видно) - там тоже первая температура.

К сожалению, как правильно сделать правильную сборку - надо думать, простых вариантов не вижу. В идеальном мире этим должны мейнтейнеры заниматься :) Изначально статика+musl казался хорошим вариантом, но он не совместим с системным libsensors.so

inv2004
() автор топика
Ответ на: комментарий от inv2004

Вот сейчас что-то уже показывает. А вот путь для кэша все-таки сделай. И желательно через опции.

hbars ★★★★★
()
Ответ на: комментарий от inv2004

Температуру в история тоже запихай. Хотя может она там и есть. Только обновил :)

hbars ★★★★★
()
Последнее исправление: hbars (всего исправлений: 1)
Ответ на: комментарий от amd_amd

systemd есть, но в systemd.timers не попадает

Нет, root не нужен, как раз про это есть issue - под рутом у systemd нету пользовательских таймеров - с этим проблема. Но, если ты под arch - то там всё есть в aur (под рутом)

Если из бинарника с --on - то root не нужен. При ttop --on он выводит команды что выполняет - по идее по ним можно понять что произошло или ошибка

inv2004
() автор топика
Последнее исправление: inv2004 (всего исправлений: 2)
Ответ на: комментарий от inv2004

из бинарника

выводит команды что выполняет

$ ttop --on
systemctl is-active --quiet / 
systemctl is-active 'ttop.timer' 
inactive

create /home/arch/.config/systemd/user/ttop.service
create /home/arch/.config/systemd/user/ttop.timer
systemctl --user daemon-reload 
systemctl --user start 'ttop.timer' 
loginctl enable-linger
amd_amd ★★★★★
()
Последнее исправление: amd_amd (всего исправлений: 1)

последняя версия самая глючная, вначале все было нормально, потом началось - после выхода из программы строка приглашения в терминале на один символ от края отступала, не критично, но уже неприятно, а после выхода из последней версии - строка приглашения уехала на 75 символов от края и получается какой то трешь… из-за чего такое может происходить? и где взять ту изначальную версию программы?

amd_amd ★★★★★
()
Ответ на: комментарий от inv2004

Нет, root не нужен, как раз про это есть issue - под рутом у systemd нету пользовательских таймеров - с этим проблема. Но, если ты под arch - то там всё есть в aur (под рутом)

А нахрена мне пользовательские таймеры когда я хочу его в систему запихать на пример.
ps: ждем путей для кэша.

hbars ★★★★★
()
Ответ на: комментарий от amd_amd

доперло - вот этого не хватало systemctl –user enable ‘ttop.timer’

я думал daemon-reload это берёт на себя. Но спасибо, перепроверю ещё раз

75 символов от края и получается какой то трешь

жесть, не знал, локально не сталкивался, но я срочно изучу - понимаю какой негатив от этого

inv2004
() автор топика

а можно мне пояснения, как задается интервал снапшотов?)

потестил, судя по всему температуру ссд поймал, а вот с проца снять температуру не может.

Ingvarr ★★★★
()
Ответ на: комментарий от inv2004

daemon-reload

я просто увидел systemctl --user start 'ttop.timer' это же только включение демона и подумал, что бы его запихать в автостарт enable нужно

amd_amd ★★★★★
()
Последнее исправление: amd_amd (всего исправлений: 2)
Ответ на: комментарий от amd_amd

@amd_amd

Кстати вопрос - глючит та, где серая рамка исчезла?

Прошлые там на гитхабе в релизах

Я в любом случае вопрос - лучше с рамкой или без?

inv2004
() автор топика
Ответ на: комментарий от inv2004

Давай по версиям и ссылки на гите вроде .../ttop-x.xx

hbars ★★★★★
()
Последнее исправление: hbars (всего исправлений: 1)
Ответ на: комментарий от inv2004

глючит та, где серая рамка исчезла?

да она, а там где она есть - приветствие на 1 символ съезжает, хотя в более ранних версиях такого не было.

amd_amd ★★★★★
()
Ответ на: комментарий от amd_amd

0.6.6 Последняя:

wget https://github.com/inv2004/ttop/releases/latest/download/ttop

Действительно в bash оно уезжало, я просто на fish не видел

Рамку пока не возвращал - если ещё кто-то напишет что лучше с рамкой - верну. В случае «alert» - красная рамка осталась

Следующее для @hbars - чтобы --on из под рута работал

inv2004
() автор топика
Последнее исправление: inv2004 (всего исправлений: 1)
Ответ на: комментарий от inv2004

Следующее для hbars - чтобы --on из под рута работал

Но сделай кэш через опции чтоб оно могло работать без хоума.
Ну вообщем ты понял.

hbars ★★★★★
()
Ответ на: комментарий от hbars

Но сделай кэш через опции чтоб оно могло работать без хоума

Тут вопрос: Под рутом (например из aur) - оно и так в /var/log/ttop пишет - это норм? если да - то надо сосредоточиться на починке --on для рута, а путь не так важен тогда

inv2004
() автор топика
Последнее исправление: inv2004 (всего исправлений: 1)
Ответ на: комментарий от inv2004

0.6.7

исправлено:

  • установка из под root’а теперь возможна
  • установка с интервалом ttop --on <number>
inv2004
() автор топика
Ответ на: комментарий от amd_amd

строка MEM: что это такое =0b

это дельта (динамика) изменения.

Например, если какая-то программа постоянно выедает память - то это значение будет + , если отпускает, то -, если значение такое же как было на прошлом замере то =0b. Понятно, что при нормальной работе системы оно будет прыгать в обе стороны, но, возможно, на долгих отрезках за этой цифрой будет удобно смотреть

inv2004
() автор топика
Последнее исправление: inv2004 (всего исправлений: 2)
Ответ на: комментарий от amd_amd

откуда берутся данные?

данные для памяти берутся из /proc/meminfo

дельта считает как разница между двумя снепшотами по значению MemFree

delta = MemFree-текущий - MemFree-предыдущий

inv2004
() автор топика
Последнее исправление: inv2004 (всего исправлений: 4)
Ответ на: комментарий от inv2004

delta = MemFree-текущий - MemFree-предыдущий

вот бы такое в коньки прикрутить

amd_amd ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.