Strona 1 z 2

Conky + Lan + SSH

: 02 czerwca 2009, 19:33
autor: Skorpion1980
Witam

Chciałbym wyświetlić 3 obrazy conky na swoim komputerze:
1. Lokalny
2. Maszyna odległa ale na Lanie
3. Maszyna odległa poza moim netem.

i doszedłem do tego momentu że umiem podłączyć się do maszyn odległych komendą:

Kod: Zaznacz cały

ssh -X konto@adres 
~$conky
no i tutaj następuje problem, bo kiedy mam ustawione że conky wyświetla się na pulpicie to mrugają na zmianę z conky'm z mojej maszyny lokalnej, więc muszę oba odpalać jako oddzielne okna

Kod: Zaznacz cały

own_window yes
a chciałbym zgrać to z pulpitem.

Z góry mówię że nie mam na myśli nachodzenie się obrazów conky bo każdy ma ustawioną inna pozycje wyświetlania

Kod: Zaznacz cały

gap_x X
gap_y Y
Jeśli ktoś ma na to jakieś rozwiązanie to byłbym wdzięczny za pomoc :-)
Za wszelaką pomoc z góry dziękuje :-)

: 02 czerwca 2009, 19:45
autor: sigo
Uruchamianie w ten sposób conky'ego nie ma sensu.
Powiedz jakie informacje potrzebujesz mieć wyświetlane na swoim pulpicie.

: 02 czerwca 2009, 20:17
autor: Skorpion1980
Tak więc najważniejsze co bym chciał widzieć z tych odległych maszyn to:
1. uptime
2. obciążenie CPU
3. trzy najbardziej obciążające procesy
4. Obciążenie Ram
5. Obciążenie Swap
6. trzy najbardziej zajmujące Ram procesy
7. Ilość zajętego miejsca na dysku "/"
8. Ilość zajętego miejsca na dysku "/home"
9. Zalogowani użytkownicy
10.Aktualny transfer internetowy Do i Z
11. Totalny transfer internetowy Do i Z

Myśle że to wszystkie potrzebne dla mnie dane które bym potrzebował widzieć :)

: 02 czerwca 2009, 21:56
autor: lis6502
Najwygodniej byłoby poczytać ten temat. Jeśli koniecznie upierasz się na conkym, proponuję napisać skrypt, który zrzuci te dane (ze zdalnych maszyn) do jednego loga. Następnie loga możesz nawet netcatnąć czy telnetować do siebie, sparsować i przerobić dane dla conky (polecam funkcję ${tail}).

: 02 czerwca 2009, 22:48
autor: sigo
Ja na Twoi miejscu napisałbym skrypt wyciągający te dane, a do dwóch ostatnich punktów użył vnstat. Wszystko generowałoby się na serwerze, a conky co określoną ilość czasu pobierałby ten plik i wyświetlał dane u Ciebie na pulpicie.

Tylko od Twojej inwencji zależy w jaki sposób to rozwiążesz - można nawet dodać autoryzację (by ograniczyć dostęp do pliku niepożądanym osobnikom - conky robił by to automatycznie).

Zastanawiam się, czy czegoś podobnego nie zastosować u siebie. Jeżeli napiszę taki skrypt, umieszczę go tutaj.

: 03 czerwca 2009, 15:43
autor: Skorpion1980
No dzięki za rady, wybiorę zaraz jedną z opcji i spróbuje sam powalczyć.
Co do autoryzacji to mam użyty na swoich serwerach klucze publiczne więc myślę że bezpieczeństwo jest w miarę zapewnione, choć nigdy nic nie wiadomo.
Co do pisania skryptów to moja wiedza dopiero raczkuje w tej kwestii, ale jak to mówią, dla chcącego nic trudnego.

: 03 czerwca 2009, 16:05
autor: sigo
Jeżeli masz na serwerze postawiony apache, to możesz generować statystyki do katalogu dostępnego po www, który będzie zabezpieczony poprzez pliki .ht~, czyli najzwyklejsza autoryzacja http.
Taki plik możesz pobrać za pomocą wgeta (jest parametr odpowiadający za autoryzację).

Nie kombinuj z uruchamianiem conky'ego na serwerze, bo to jest naprawdę zły pomysł.

: 03 czerwca 2009, 16:31
autor: Skorpion1980
I tak właśnie chce zrobić idąc za twoją radą, chce stworzyć statystyki poprzez www, które zapisze do logów i pobiorę na swoją maszyna, po czym będę próbować wyświetlić to na pulpicie.
Oczywiście zdaje sobie sprawę że łatwo powiedzieć a trudniej wykonać, ale nie poddam się tak łatwo ;-)

: 04 czerwca 2009, 01:59
autor: sigo
Napisałem trochę kodu (nie jest ładny, gdyż nie potrafię pisać w bashu).
Pokazuje datę wygenerowania, średnie obciążenie, 3 procesy najbardziej obciążające procesor, zajętą pamięć ram (z pominięciem pamięci zbuforowanej oraz cached - przeszkadza w wiarygodnych wynikach) oraz listę zalogowanych użytkowników.

Kod: Zaznacz cały

#!/bin/bash

date=`date +"%d.%m.%Y %H:%M:%S"`
load=`awk '{print $1" "$2" "$3}' /proc/loadavg`
pcpu=`ps --sort pcpu -eo pid,pcpu,pmem,args | tail -n3 | awk '{print $1"\t"$2"%\t"$3"%\t"$4}'`
mtotal=`grep -i memtotal /proc/meminfo | awk '{print $2}'`
mfree=`grep -i memfree /proc/meminfo | awk '{print $2}'`
mbuffers=`grep -i buffers /proc/meminfo | awk '{print $2}'`
mcached=`grep -i cached /proc/meminfo | head -n1 | awk '{print $2}'`

echo -e "Generate:\t${date}"
echo -e "Load average:\t${load}\n"
echo "Top processes (cpu)"
echo -e "PID\tCPU\tMem\tName\n${pcpu}\n"
echo -e "Ram:\t$[(${mtotal}-(${mfree}+${mbuffers}+${mcached}))/1024]MiB / $[${mtotal}/1024]MiB\n"
echo -e "Users logged on:\n`who`"

: 04 czerwca 2009, 19:12
autor: Skorpion1980
Dziękuję, sigo na pewno skrypcik się przyda, jeszcze go dopracuje pod swoje "widzi mi się" i będzie grać.
A teraz pytanie jak lepiej pobrać to do conky, czy zrobić zapis skryptu do pliku i pobranie z wyświetleniem czy pobranie bezpośrednie z serwera bez zapisu?
Na chwile obecną wiem jak zapisać, pobrać i wyświetlić, ale pobranie bezpośrednie to jakoś nie mogę sobie wyobrazić, a jak wiadomo bez wyobrażenia trudno coś wyrzeźbić ;-)