Linux sisteminin günlük yönetimi - sistemin durumunu izleyin + saldırıya uğrayıp uğramadığını kontrol edin

Genel Bakış

İş yerinde, bazen lider her gün iş olduğunu açıklar ve sizden sunucuyu kontrol etmenizi ve sistemin durumunun normal olup olmadığını izlemenizi ister.Şu anda kontrol etmemiz gereken bilgiler nelerdir? Yük, işlem, bellek, ağ, ağ kartı vb. Açılardan nasıl izleneceğini tanıtalım. >

1. w Mevcut sistem yükünü görüntüleyin

Parametre Tanımı:

Soldan birinci satırda görüntülenen bilgiler: zaman, sistem çalışma süresi, oturum açmış kullanıcı sayısı, ortalama yük.

İkinci satırın başlangıcı ve aşağıdaki tüm satırlar bize şu anda hangi kullanıcıların giriş yaptığını ve nereden giriş yaptıklarını vb. Söyler. Aslında, bu bilgiler arasında en çok dikkat etmemiz gereken üç değer, ilk satırdaki "yük ortalaması:" dan sonraki üç değerdir.

İlk değer, sistemin 1 dakika içindeki ortalama yük değerini temsil eder; İkinci değer, sistemin 5 dakika içindeki ortalama yük değerini temsil eder; Üçüncü değer, sistemin 15 dakikalık ortalama yük değerini temsil eder.

Bu değerin anlamı, bir birim zaman periyodundaki aktif CPU işlemlerinin sayısıdır.

Tabii ki, değer ne kadar büyükse, sunucunuz üzerindeki baskı da o kadar büyük olur. Normal koşullar altında, bu değer, sunucudaki CPU sayısını aşmadığı sürece önemli değildir.

2. vmstat sistemin durumunu izler

Yukarıda bahsedilen w, sistemin genel yüküne bakar Bu değere bakarak, mevcut sistemin basınç altında olup olmadığını öğrenebilirsiniz, ancak basıncın nerede olduğu (CPU, bellek, disk vb.) Yargılanamaz. Vmstat aracılığıyla basıncın nerede olduğunu öğrenebilirsiniz. Vmstat komutu ile yazdırılan sonuç 6 bölüme ayrılmıştır: procs, memory, swap, io, system, cpu.Lütfen r b si so bi bo sütunlarına dikkat edin.

2.1, procs işlemle ilgili bilgileri görüntüler

r: Cpu zaman diliminde çalışan ve bekleyen işlemlerin sayısını ifade eder.Uzun süre sunucu cpu sayısından daha uzun ise cpu'nun yeterli olmadığı anlamına gelir; b: G / Ç bekleme, bellek vb. gibi kaynakları bekleyen işlemlerin sayısını temsil eder. Bu sütunun değeri uzun süre 1'den büyükse, dikkat etmeniz gerekir;

2.2, bellekle ilgili bilgiler

swpd: Takas bölümüne geçiş yapılan bellek miktarını gösterir; free: şu anda boş bellek miktarı; buff: tampon boyutu, (diske yazılacaktır); önbellek: önbellek boyutu, (diskten okuma);

2.3, takas belleği değişim durumu

si: takas alanından belleğe yazılan veri miktarı; yani: bellekten takas alanına yazılan veri miktarı;

2.4, io disk kullanımı

bi: blok cihazından (okuma diski) okunan veri miktarı; bo: Blok cihazından yazılan veri miktarı (diske yazma);

2.5, sistem toplama aralığında meydana gelen kesintilerin sayısını görüntüler

in: belirli bir zaman aralığında gözlenen saniyedeki cihaz kesintilerinin sayısını gösterir; cs: saniyedeki bağlam anahtarı sayısını gösterir;

2.6, CPU, cpu'nun kullanım durumunu gösterir

us: kullanıcı tarafından harcanan cpu süresi yüzdesini gösterir; sy: Sistem tarafından harcanan CPU zamanı yüzdesini gösterir; id: cpu'nun boşta olduğu sürenin yüzdesini gösterir; wa: Bekleyen G / Ç tarafından işgal edilen CPU süresinin yüzdesini gösterir; st: çalınan cpu yüzdesini gösterir (genellikle 0, dikkat etmeyin);

Yukarıda tanıtılan çeşitli parametreler arasında genel olarak sütun r, sütun b ve sütun wa Üç sütunun anlamı yukarıda açıkça belirtilmiştir. IO kısmındaki bi ve bo da sıklıkla başvurulacak nesnelerdir. Disk io basıncı yüksekse bu iki sütundaki değerler daha yüksek olacaktır. Ek olarak, si ve benzeri sütunların değerleri görece yüksek olduğunda ve sürekli değiştiğinde, bu, belleğin yetersiz olduğunu ve bellekteki verilerin sık sık takas bölümüne aktarıldığını gösterir ki bu, genellikle sistem performansı üzerinde büyük bir etkiye sahiptir.

Not: Genellikle, sistem durumunu görüntülemek için vmstat kullanırken, genellikle şu biçimde görüntülenir:

# vmstat 15

Not: Durum, her saniyede toplam 5 kez yazdırılır.

3. üst, işlem tarafından kullanılan sistem kaynaklarını gösterir

Bu komut, her 3 saniyede bir değişen süreç tarafından kullanılan sistem kaynaklarını dinamik olarak izlemek için kullanılır. Bu komutun özelliği, en yüksek sistem kaynaklarını (CPU, bellek, disk IO vb.) Kaplayan işlemleri en üste koymaktır. Top komutu, sistem yükü (yük ortalaması), işlem sayısı (Görevler), cpu kullanımı, bellek kullanımı ve takas bölümü kullanımı dahil olmak üzere birçok bilgiyi yazdırır. Aslında, yukarıdaki içerik diğer komutlar aracılığıyla görüntülenebilir, bu nedenle en üstteki odak, aşağıdaki işlemler tarafından kullanılan sistem kaynaklarının ayrıntılı durumunu görüntülemektir. Şeylerin bu kısmı birçok şeyi yansıtıyor.

Not: Dinamik olmayan baskı sistemi kaynaklarının kullanımını gösteren ve kabuk komut dosyalarında kullanılabilen, sıklıkla top -bn1 kullandığım bir komutu paylaşın:

Top komutunun tek farkı, tüm bilgileri dinamik olarak görüntülemek yerine tek seferde çıktı olarak vermesidir.

4. sar izleme sistemi durumu

Sar komutu çok güçlüdür Yük ortalaması, ağ kartı trafiği, disk durumu, bellek kullanımı gibi tüm sistem kaynaklarının durumunu izleyebilir. Diğer sistem durumu izleme araçlarından farklıdır çünkü geçmiş bilgileri yazdırabilir ve sistem durumu bilgilerini günden sıfırdan geçerli ana kadar görüntüleyebilir. Bu komut sisteminizde kurulu değilse, onu kurmak için yum install -y sysstat (veya apt-get install -y sysstat) komutunu kullanın. Sar komutunu ilk kez kullandığınızda, sar aracı ilgili veritabanı dosyasını oluşturmadığından bir hata bildirilecektir (izleme zaman zaman gerçekleşmeyecektir, çünkü kitaplık dosyasını sorgulamaya gerek yoktur). Veritabanı dosyası "/ var / log / sa /" dizinindedir ve varsayılan olarak bir ay süreyle saklanır. Bu komut çok karmaşık olduğu için sadece birkaç tanesini tanıtacağım.

4.1. Ağ kartı trafiğini kontrol edin sar -n DEV

Parametre açıklaması: IFACE sütunu aygıt adını, rxpck / s saniyede alınan paket sayısını, txpck / s saniyede gönderilen paket sayısını, rxbyt / s saniyede alınan veri miktarını (Byte cinsinden) temsil eder , Txbyt / s saniyede gönderilen veri miktarını temsil eder. Sonraki birkaç sütuna dikkat etmeyin.

Yönettiğiniz sunucu bir gün çok ciddi paketleri kaybediyorsa, ağ kartı trafiğinin anormal olup olmadığını kontrol etmelisiniz. Rxpck / s sütunundaki değer 4000'den büyükse veya rxbyt / s sütunu 5.000.000'den büyükse, bu büyük olasılıkla Saldırıya uğradı ve verileri kendiniz kopyalamadığınız sürece normal sunucu ağ kartı trafiği bundan daha yüksek olmayacak.

Yukarıdaki komut ağ kartı trafiğinin geçmişini görüntülemektir.Ağ kartı trafiği zaman zaman nasıl kontrol edilir?

4.2. Geçmiş yükü görüntüleyin sar -q

Bu komut, geçmişte belirli bir zamanda sunucunun yük durumunu görüntüleyebilir.

Herkesin odak noktası, bunun paket kaybı ve ağ koşulları olup olmadığını görmektir!

5. Ücretsiz görüntüleme belleği kullanımı

Mevcut sistemin toplam bellek boyutunu ve bellek kullanımını öğrenmek için sadece boş yazın ve Enter tuşuna basın. Bellek kullanımını sırasıyla M veya G birimlerinde yazdırmak için -m veya -g seçeneğini de ekleyebilirsiniz:

Bellek kullanımını (megabayt cinsinden) görüntülemek için genellikle free -m yöntemini kullanıyorum ve sistemin gerçek kullanılabilir belleği ve kullanılabilir belleği aşağıdaki toplama ve çıkarma yöntemlerine sahip:

  • kullanılmış = toplam ücretsiz hangisi toplam = kullanılmış + ücretsiz
  • Gerçek bellek kullanımı: kullanılmış-arabellekler-önbelleğe alınmış hangisi toplam ücretsiz arabellekleri önbelleğe alınmış
  • Mevcut gerçek hafıza: arabellekler + önbelleğe alınmış + ücretsiz

6. ps sistem işlemlerini görüntüleyin

Süreci izlemek için, esas olarak anormal işlemler olup olmadığını görmek için sistem işlemlerini özel olarak görüntüleyen bir komut aşağıda verilmiştir:

Parametre Tanımı:

PID: Sürecin kimliği Bu id çok kullanışlıdır.Linux'ta, çekirdek yönetim süreci belirli bir işlemi tanımlamak ve yönetmek için pid'e güvenmek zorundadır.Örneğin, belirli bir işlemi sonlandırmak istersem, sürecin pid'i öldürmeyebilir. -9 işlemi pid'i öldürmek için -9 seçeneği eklemeniz gerekir

STAT: Sürecin durumunu gösterir, süreç durumu aşağıdaki türlere ayrılır (hatırlanması gerekmez, anlaşılması gerekir)

D Kesintisiz süreç (genellikle IO)

R çalışan süreç

S Kesilen işlemler. Normalde sistemdeki çoğu işlem bu durumdadır.

T işlemi durdurdu veya duraklattı, uyku 10 gibi bir komut çalıştırıyorsak, onu duraklatmak için ctrl -z tuşlarına basarsak, görüntülemek için ps kullanırız, T'nin durumunu gösterir.

W Bu, 2.6xx çekirdeğinden bu yana, yeterli bellek sayfasının ayrılmadığı anlamına gelir.

X ölü bir süreçtir (bu hiç görünmüyor gibi görünüyor)

Z Zombie süreçleri, öldürülemeyen veya yok edilemeyen çöp süreçleri, az miktarda sistem kaynağını işgal eder, ancak önemli değildir. Çok fazla varsa, bir sorun var. Genellikle görünmez.

< Yüksek öncelikli süreç

N düşük öncelikli süreç

L, bellek belleği sayfalamasında kilitli

ana süreç

l Çok iş parçacıklı süreç

+ Ön planda çalışan bir süreci temsil eder

Bu ps komutu, çalışmamda kullandığım birçok komuttan biridir ve hakim olunması gerekir. Ps komutunun kullanımıyla ilgili olarak, belirli bir işlemi veya numarasını görüntülemek için genellikle bunu bir dikey çizgi karakteriyle birlikte kullanırım.

7. netstat ağ durumunu görüntüle

Netstat komutu, ağ bağlantı durumunu, sistem açık bağlantı noktalarını, yönlendirme tablosunu ve diğer bilgileri yazdırmak için kullanılır. Düzenleyicide netstat hakkında en sık kullanılan komutlar netstat -nlp (mevcut sistemin başlattığı bağlantı noktalarını yazdırmak) ve netstat -an (ağ bağlantı durumunu yazdırmak) bu iki komutun çok yararlı olduğunu lütfen unutmayın.

Yönettiğiniz sunucu web hizmetleri sağlayan bir sunucuysa (bağlantı noktası 80), web hizmetine şu anda hangi IP'lerin bağlı olduğunu kontrol etmek için netstat -an | grep 80'i kullanabilir ve ardından netstat -an | grep 80'i kullanabilirsiniz. | wc -l yaklaşık kaç tane bağlantı olduğunu görmek için.

8, Paket yakalama aracı tcpdump

Bazen, böyle bir gereksiniminiz olabilir ve belirli bir ağ kartında hangi veri paketlerinin bulunduğunu izlemek isteyebilirsiniz, özellikle de başlangıçta sunucunuzda bir trafik saldırısı olduğunu belirlediğinizde. Şu anda, veri paketini yakalamak için bir paket yakalama aracı kullanın, hangi IP'nin size saldırdığını bilebilirsiniz.

Tcpdump komutu yoksa, onu kurmak için yum install -y tcpdump komutunu kullanmanız gerekir. Yukarıdaki örnekte, üçüncü ve dördüncü sütunlarda görüntülenen bilgiler, hangi IP + bağlantı noktasının hangi IP + bağlantı noktasına bağlı olduğudur. Aşağıdaki bilgiler veri paketiyle ilgilidir. Anlamıyorsanız önemli değil. Sonuçta, biz uzmanlaşmıyoruz. Ağ ve burada dikkat edilmesi gereken tek şey üçüncü ve dördüncü sütunlardır. -İ seçeneğinin ardından cihaz adı gelir. Eth1 ağ kartının paketlerini yakalamak istiyorsanız, eth1'i takip etmelisiniz. -Nn seçeneğine gelince, üçüncü ve dördüncü sütunlar, ekleme yapmazsanız IP + bağlantı noktası numarası şeklinde görüntülenir- nn, ana bilgisayar adını + hizmet adını gösterir.

Alan sınırlıdır. Bu, bu Linux izleme sisteminin durumu hakkında bazı komutların tanıtımıdır. Yukarıdaki komutlar çok yaygın olarak kullanılmaktadır. Size daha fazla test yapmanızı ve alıştırma yapmanızı öneririm! !

Devops ve DBA hakkında daha fazlasını daha sonra paylaşacağım, ilgilenen arkadaşlar buna dikkat edebilir! !

Sıvı seviye şalterinin ilkesine, kurulumuna ve uygulamasına aşina, sadece doğru olanı seçin, pahalı olanı değil!
önceki
Ultraman'daki sahte kral ve gerçek imparator olan Ao Wang bir kral değil, Ao Di: Oyuk oldum
Sonraki
Bu iPhone 8'in pozlaması biraz çılgınca, istediğiniz her şeye sahipsiniz!
5 pratik yöntemi ayrıntılı olarak açıklayın --- Büyük dosya içeriklerini boşaltmak veya silmek için Linux sistemi
Cerro o kadar iyi olmamalıydı, şimdi gücü, o sıradaki anormal performansı yüzünden Uub'u eziyor.
Parçaların Deformasyonu "Dev" Pekin Otomobil Fuarı
ROG STRIX Z370 serisi anakart analizi! Pişman değilim
Gizemli dört Olimpiyatın ultraman kombinasyonunun konumu olan Uub, başarmak ister, ancak Siro başaramaz.
oracle19c önleyici indirme ve yükleme
En son veriler! 2017 yılında cep telefonu üreticilerinin yurt içi sevkiyatlarının tahmini sıralaması: Huawei şampiyonluğu üst üste iki yıl kazandı
Canavar, Rob'un Ultraman Crystal olduğu ve Cyro'nun gülmek üzere olduğu ve galaksideki herkes sessiz olduğu için gülüyor.
Linux disk bağlama, bölümleme ve genişletme işlemlerinin uygulama yöntemlerini ayrıntılı olarak açıklayın
Volkswagen'in Dijital Baş Sorumlusu ile röportaj: Dijital dönüşümün sonuçları kademeli olarak mevcut seri üretilen modellere dahil ediliyor
Topluluk yenileme ayrıca "hayranları kabul edebilir" mi? Vanke bunu Chengdu'da yaptı
To Top