RHEL/CentOS 7/6'da "Log.io" Aracı ile Sunucu Günlüklerini Gerçek Zamanlı Olarak İzleyin


Log.io, Node.js ve Socket.io'nun üzerine kurulmuş, Linux sunucularının günlüğünü izlemeye olanak tanıyan küçük, basit ama etkili bir uygulamadır. dosyaları web arayüzü ekran widget'ları aracılığıyla gerçek zamanlı olarak.

Bu eğitim, Log.io'yu yapılandırarak RHEL/CentOS 7/6.x'te yüklü Log.io ile herhangi bir yerel günlük dosyasını gerçek zamanlı olarak nasıl yükleyip izleyebileceğiniz konusunda size rehberlik edecektir. b> günlük dosyalarındaki yerel değişiklikleri izlemek için biçerdöver dosyası.

Adım 1: Epel Depolarını Ekleyin

1. CentOS Epel depoları, Node.js ve NPMNode Paketli Modüller için ikili paketleri sağlar . Aşağıdaki komutu vererek Epel depolarını kurun.

RHEL/CentOS 7'de
yum install http://fedora.mirrors.telekom.ro/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
RHEL/CentOS 6'da
--------------------- On RHEL/CentOS 6.x - 32 Bit ---------------------
yum install http://fedora.mirrors.telekom.ro/pub/epel/6/i386/epel-release-6-8.noarch.rpm

--------------------- On RHEL/CentOS 6.x - 64 Bit ---------------------
yum install http://fedora.mirrors.telekom.ro/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

2. Sisteminize Epel Repos'u ekledikten sonra aşağıdaki komutu çalıştırarak sistem yükseltmesi yapın.

yum update

Adım 2: Node.js ve NPM Paketlerini yükleyin

3. Node.js, arka uç işlevselliğine sahip ağ uygulamaları oluşturmanıza olanak tanıyan, Javascript sunucu tarafı programlama platformudur. NPM (Node Paket Yöneticisi), pratikte Node.js'nin paket yöneticisidir. Bir sonraki adımda aşağıdaki komutları vererek Node.js ve NMP ikili dosyalarını YUM paket yöneticisi aracılığıyla sisteminize yükleyin.


curl --silent --location https://rpm.nodesource.com/setup_5.x | bash - 
yum install -y nodejs

Adım 3: Log.io Uygulamasını Kurun ve Yapılandırın

4. Log.io uygulaması, kurulumun gerçekleşmesi gereken geçerli bir yerel sistem kullanıcısı belirtilerek NPM aracılığıyla sisteminize kurulmalıdır. Log.io'yu yüklemek için herhangi bir geçerli sistem kullanıcısını kullanabilseniz de, kişisel olarak uygulamayı root kullanıcısı veya root ayrıcalıklarına sahip başka bir sistem kullanıcısı aracılığıyla kurmanızı öneririm.

Bu yaklaşımın kullanılmasının nedeni, Log.io'nun yerel olarak günlük dosyalarını okumak için erişime sahip olması gerektiği ve ayrıcalığa sahip olmayan kök ayrıcalıklarına sahip bir kullanıcının genellikle bazı önemli günlük dosyalarına erişememesi ve bunları okuyamamasıdır.

Bu nedenle, root hesabıyla giriş yapın ve aşağıdaki komutu vererek Log.io uygulamasını root hesabı üzerinden yükleyin (başka bir kullanıcı kullanıyorsanız root hesabını sistem kullanıcınızla değiştirin).

npm install -g log.io --user “root”

5. Uygulama yüklendikten sonra çalışma dizininizi gizli olan Log.io klasörüne değiştirin ve yapılandırmak amacıyla klasör içeriğini görselleştirmek için bir dizin listesi yapın. daha fazla uygulama.

pwd  		[Make sure you are on the right path]
cd .log.io/
ls

6. Şimdi Log.io'yu yerel günlük dosyalarını gerçek zamanlı izleyecek şekilde yapılandırmanın zamanı geldi. Log.io'nun nasıl çalıştığına dair bir iç bilgi alalım.

  1. Harvester dosyası, yapılandırmasında belirtilen yerel günlük dosyalarındaki değişiklikleri izler ve çıktısını Socket.io TCP
    aracılığıyla gönderir. Ayrıca mesajları Log.io yerel sunucusuna veya IP Adresi ile bildirilen herhangi bir uzak sunucuya gönderen protokol (harvester'ların tüm log.io dinleme sunucularına yayınlarında belirtilen 0.0.0.0 adresi) - harvester.conf
  2. Log.io sunucusu tüm ağ arayüzlerine bağlanır (eğer log_server.conf dosyasında aksi belirtilmemişse) ve yerel veya uzak hasat düğümlerinden gelen mesajları bekler ve çıktılarını log.io Web sunucusuna gönderir (0.0.0.0, mesajları beklediği anlamına gelir) herhangi bir yerel veya uzak biçerdöverden) dosyası log_server.conf
  3. Log.io Web sunucusu tüm ağ arayüzlerine bağlanır, 28778 numaralı bağlantı noktasındaki web istemcilerinin bağlantılarını dinler ve log.io sunucusundan dahili olarak aldığı mesajları işler ve çıktı olarak verir - dosya web_server.conf

Öncelikle, varsayılan olarak yalnızca Apache günlük dosyalarını izleyen harvester.conf dosyasını düzenleme için açın ve nodeName ifadesini ana makine adınızla eşleşecek ve logStreams hangi dahili günlük dosyalarını izlemek istediğinizi içeren ifadeler (bu durumda denetim, mesajlar ve güvenli günlükler gibi birden fazla günlük dosyasını izliyorum). Aşağıdaki dosya alıntısını kılavuz olarak kullanın.

nano harvester.conf

Biçerdöver dosyası alıntısı.

exports.config = {
  nodeName: "pxe-server",
  logStreams: {

audit: [
      "/var/log/audit/audit.log"
    ],

messages: [
      "/var/log/messages"
    ],

secure: [
      "/var/log/secure"
    ]

},
  server: {
    host: '0.0.0.0',
    port: 28777
  }
}

Ayrıca, hasatçı çıktısının uzak bir Log.io sunucusuna gönderilmesine ihtiyacınız yoksa, sunucu deyimindeki ana bilgisayar satırını yalnızca gönder olarak değiştirin 0.0.0.0 adresini geridöngü adresiyle (127.0.0.1) değiştirerek yerel olarak çıktısını alabilirsiniz.

7. Güvenlik nedeniyle, uzak hasatçıların yerel Log.io sunucunuza çıktı vermesini beklemiyorsanız log_server.conf dosyasını açın ve <'yi değiştirin b>0.0.0.0 adresi ve geridöngü adresi (127.0.0.1).

nano log_server.conf

8. Kimlik bilgileri ile oturum açma, HTTPS veya Log.io web sunucusuna yönelik IP'lere dayalı kısıtlama gibi diğer güvenlik özellikleri web sunucusu tarafında uygulanabilir. Bu eğitim için yalnızca bir güvenlik önlemi olarak yalnızca kimlik bilgileri ile oturum açmayı kullanacağım.

Bu nedenle, web_server.conf dosyasını açın, tüm eğik çizgileri ve yıldız işaretlerini silerek auth ifadesinin tamamının açıklamasını kaldırın ve user ve pass ile değiştirin b> alt ekran görüntüsünde önerildiği gibi direktifleri uygulayın.

nano web_server.conf

Adım 4: Güvenlik Duvarı Kuralı Ekleyin ve Log.io Uygulamasını Başlatın

9. Log.io sunucusuna web erişimi sağlamak için RHEL/CentOS 7 Güvenlik Duvarına bir kural ekleyin Aşağıdaki komutu vererek TCP 28778 portunu açmak için.

firewall-cmd --add-port=28778/tcp --permanent
firewall-cmd --reload

Not: RHEL/CentOS 6.x kullanıcıları iptable güvenlik duvarında 28778 bağlantı noktasını açabilir.

Adım 5: Log.io Uygulamasını başlatın ve Web Arayüzüne girin

10. Log.io günlük izleme uygulamasını başlatmak için mevcut çalışma dizininizin root'un .log.io evi olduğundan emin olun ve aşağıdakileri kullanın: Uygulamayı başlatmak için aşağıdaki sırayla komutları girin.

------------ First start server, put it in background and press Enter key ------------
log.io-server & 

------------ Start log harvester in background ------------
log.io-harvester & 

11. Sunucu başlatıldıktan sonra bir tarayıcı açın, URL adresinde HTTP protokolünü kullanarak sunucunuzun IP'sini ve ardından 28778 bağlantı noktası numarasını girin; oturum açma kimlik bilgilerinizi isteyen bir istem görünmelidir .

Devam etmek için 8. adımda yapılandırılan kullanıcı adınızı ve şifrenizi girin; izlenen günlük dosyalarını gerçek zamanlı olarak sunan Log.io uygulaması artık tarayıcınızda görünür olmalıdır.

http://192.168.1.20:28778

Web arayüzüne yeni ekranlar ekleyin ve akışlarınızı veya düğümlerinizi buna göre düzenleyin.

12. Log.io uygulamasını durdurmak için aşağıdaki komutu çalıştırın.

pkill node

Adım 6: Log.io Yönetim Komut Dosyasını Oluşturun

13. Log.io uygulamasını yöneten bir komutu üç anahtarla ( start, stop ve stop) kullanmak için status) /usr/local/bin yürütülebilir dizininde log.io adlı aşağıdaki komut dosyasını oluşturun ve bu komut dosyasına yürütme izinlerini ekleyin.

nano /usr/local/bin/log.io
chmod +x /usr/local/bin/log.io

Bu betik dosyasına aşağıdaki alıntıyı ekleyin.

#!/bin/bash

                start() {
                echo "Starting log.io process..."
                /usr/bin/log.io-server &
                /usr/bin/log.io-harvester &
                                         }

                stop() {
                echo "Stopping io-log process..."
                pkill node
                                         }                             

                status() {
                echo "Status io-log process..."
                netstat -tlp | grep node
                                         }

case "$1" in
                start)
start
        ;;
                stop)
stop
        ;;
                status)
status
                ;;
                *)
echo "Usage: start|stop|status"
        ;;
Esac

14. Log.io durumunu başlatmak, durdurmak veya görüntülemek için kök hesapla (veya Log.io uygulamasının yüklü olduğu kullanıcıyla) oturum açın ve uygulamayı kolayca yönetmek için aşağıdaki komutları çalıştırmanız yeterlidir.

log.io start
log.io status
log.io stop

Bu kadar! Bana göre Log.io, yerel veya uzak sunucuların günlük dosyalarını gerçek zamanlı olarak izlemek ve sistemlerde dahili olarak neler olup bittiğine ilişkin bir bakış açısı elde etmek ve özellikle sunucu sorunlarının hatalarını ayıklamak için mükemmel ve etkili bir web uygulamasıdır. sistemler konsol kullanmaya gerek kalmadan yanıt vermemeye veya çökmeye eğilimlidir.