-
Notifications
You must be signed in to change notification settings - Fork 2
/
monitroing dosyası açıklamaları.txt
58 lines (56 loc) · 5.7 KB
/
monitroing dosyası açıklamaları.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
sort = alfabetik sırlama.
uniq = tekrar eden satırları ayırma.
$1,$2... = Mer $1 haba $2 dün $3 ya $4 sütunları tutuyor diyebiliriz.
free -m = Ram miktarını Mebibayt cinsinde gösterir. Böyle yapmamızın sebebi scripte kullanımlar üzerinden yüzde hesabı vs. yapmamız için.
grep '^/dev/' = ^ ekinden sonra gelen kelime ile başlayan yerleri alır.
grep -v '/boot$' = -v flagi ile belirttiğimiz kelimeyi içeren satırlar çıkarılır
awk '{ft += $2} END {print ft}' = ft bir değişken olarak düşünüle bilir ft içerisinde $2 de yer alan verileri ekler ve ft yi ekrana yazdırır.
cut -c 9- | xargs | awk '{printf("%.1f%%") = "cut -c 9-" Bir karakteri veya bir karakter diziyi silmek için kullanılır. "xargs" Fonksiyon olarak öncesinden kullanılan çıktıyı bir sonraki komuta iletir. "printf("%.1f%%")" Float değer tipinde "."dan sonra 1 karakter alıp sonuna "%" ekler.
uname = işletim sistemi detaylarını print eder. -a flagi bütün özellikleri print etmesini dikte eder.
grep = search yapar dosya içinde kelime tabanlı olarak
| = linux dilinde pipe anlamına gelir. Outputu yeni input olarak verir.
sort = satır satır dosydadaki textleri sıralar. GNL gibi.
uniq = birbirinin aynısı tekrar eden satırları filtreleyerek çıkarır
wc = sayım yapar , -l flagi ile satır sayısı yani line olduğunu dikte ediyoruz
free = show free memory, -m flagi ile MB cinsinden çıktı istiyoruz
awk = yapısal arama yapmamızı sağlıyor, scriptte sütun bazlı arama yapıyoruz
df = display free disk space
top = printout CPU use concurrently -b flagi başlatıyor -n flagi bitirmek için ama -n flagi sonuna int değer ile kaç iterasyon göstericeğini istiyor
cut = istediğimiz porsiyonu kesiyor -c flagini anlamadım
xargs = argüman listesi ooluşturuyor
who = display who is logged in -b:time of last system boot
journalctl = journal deamoninin topladığı loglar
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
arc=$(uname -a) --> Mevcut işletim sisteminin mimarisi ve kernel versiyonunu gösterir.
pcpu=$(grep "physical id" /proc/cpuinfo | sort | uniq | wc -l) --> Fiziksel işlemci sayısını verir.
vcpu=$(grep "^processor" /proc/cpuinfo | wc -l) --> Sanal işlemci sayısını verir.
fram=$(free -m | awk '$1 == "Mem:" {print $2}') --> Sunucunun erişilebilir toplamRAM miktarını verir.
uram=$(free -m | awk '$1 == "Mem:" {print $3}') --> Kullanılan RAM miktarını verir.
pram=$(free | awk '$1 == "Mem:" {printf("%.2f"), $3/$2*100}') --> printf("%.2f") virgülden sonra alınacak 2 değeri yollar $3/$2*100 ise yüzde olarak kullanımı verir
fdisk=$(df -Bg | grep '^/dev/' | grep -v '/boot$' | awk '{ft += $2} END {print ft}') --> Sunucunun erişilebilir depolama miktarını verir GB cinsinden.
udisk=$(df -Bm | grep '^/dev/' | grep -v '/boot$' | awk '{ut += $3} END {print ut}') --> Sunucunun kullanılan depolama alanını verir mb cinsinden.
pdisk=$(df -Bm | grep '^/dev/' | grep -v '/boot$' | awk '{ut += $3} {ft+= $2} END {printf("%d"), ut/ft*100}') --> "kullanılan depolama alanı / erişilebilir alan * 100" bize yüzde kullanımını verir.
cpul=$(top -bn1 | grep '^%Cpu' | cut -c 9- | xargs | awk '{printf("%.1f%%"), $1 + $3}') --> Yüzde olarak işlemci kullanım oranını verir.
lb=$(who -b | awk '$1 == "sistem" {print $3 " " $4}') --> Son yeniden başlatma tarihi ve saatini verir.
lvmt=$(lsblk | grep "lvm" | wc -l) --> LVM ile yapılandırılmış disklerin bilgisini verir.
lvmu=$(if [ $lvmt -eq 0 ]; then echo hayır; else echo evet; fi) --> Sistemde LVM'nin aktif olup olmadığı bilgisini verir. NOT: Diğer öğelerin sorunsuz çalışması için net-tools paketini yüklemeniz gerekli.
ctcp=$(cat /proc/net/sockstat{,6} | awk '$1 == "TCP:" {print $3}') --> Mevcut aktif bağlantı sayısını verir.
ulog=$(users | wc -w) --> Sunucuyu kullanan kullanıcı sayısını verir.
ip=$(hostname -I) --> Sunucu IP Adresini verir.
mac=$(ip link show | awk '$1 == "link/ether" {print $2}') --> Sunucu MAC Adresini verir.
cmds=$(journalctl _COMM=sudo | grep COMMAND | wc -l) --> Sudo ile çalışıtırlmış komut sayısını verir. (Eğer sudoya giriş yapılmış ise diğer kullanıcıların sudo kullanım sayısıyla birlikte yazar öyle değilse içinde bulunulan kullanıcının kullandığı sudo command kadar bilgi verir.)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
wall " #Mimari ve Kernel Versiyonu: $arc
#Fiziksel İşlemci Sayısı: $pcpu
#Sanal İşlemci Sayısı: $vcpu
#RAM Miktar ve Kullanımı: $uram/${fram}MB ($pram%)
#Disk Miktarı ve Kullanımı: $udisk/${fdisk}Gb ($pdisk%)
#CPU Kullanım Oranı: $cpul
#Son Yeniden Başlama Tarihi: $lb
#LVM Kullanım Durumu: $lvmu
#Aktif Bağlantı Sayısı: $ctcp ESTABLISHED
#Sunucuyu Kullanan K. Sayısı: $ulog
#IP ve MAC Adresi: IP $ip ($mac)
#Kullanılmış Sudo Sayısı: $cmds cmd" # Diğer termianallerde gözükmesi için bunu ekliyoruz.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
NOT : chmod +x monitoring.sh ile sh dosyamıza yetki tanımı yapmayı unutmayalım.