Xem nhật ký trên máy chủ linux từ xa


21

Có công cụ hay nào để thực hiện 'tail -f' trên máy chủ từ xa (linux) không? Thật tuyệt khi có thể làm một cái gì đó như "taillog server_host / var / log / syslog" để xem nhật ký trên các máy chủ khác nhau mà không cần phải ssh in.

Làm thế nào về một ứng dụng hiển thị nhiều bản ghi cạnh nhau?

Câu trả lời:


16

Nếu các tệp nhật ký đang được tạo trên máy chủ máy khách thông qua syslogcơ sở thì cách tốt nhất là thiết lập trình nền syslog của máy khách để chuyển tiếp các nhật ký đó đến máy chủ riêng biệt. Ví dụ: nếu tôi có một tên nội bộ syslog.privatetrỏ đến máy chủ từ xa mà tôi muốn nhận các mục nhật ký. Tôi có thể thêm dòng sau /etc/syslog.confvào máy chủ.

*.*          @syslog.private

và sau đó khởi động lại daemon syslog trên máy khách

service syslog reload

Điều này sẽ khiến mọi mục nhập đi qua syslog của khách hàng được gửi qua dây đến syslog.privatevà nếu máy đó được cấu hình đúng, các mục cũng sẽ có sẵn ở đó. Trong các hệ thống RedHat, điều này được kiểm soát bởi /etc/sysconfig/syslogtệp. Hãy chắc chắn rằng -rtùy chọn có mặt

% grep "SYSLOGD" /etc/sysconfig/syslog 
SYSLOGD_OPTIONS="-m 0 -r"

và sau đó khởi động lại daemon syslog trên máy chủ nhận.

Bạn cũng có thể kiểm soát những gì được chuyển tiếp đến máy chủ từ xa bằng cách thêm các loại trừ, xem ví dụ bên dưới

*.*;mail.none   @syslog.private

Mà nói chuyển tiếp tất cả mọi thứ syslog.privatevới ngoại trừ bất cứ điều gì gửi đến mailcơ sở.

Nếu giải pháp này phù hợp với bạn, bạn có thể xem xét một trong những triển khai nhật ký hệ thống thay thế như rsyslog hoặc syslog-ng , cung cấp thêm tùy chọn ghi nhật ký và lưu trữ.


1
+1. Kho lưu trữ log tập trung là imo cần thiết. Nó là rất tốt để có một bộ nhật ký sạch sau khi phá vỡ. Chà, nó không được đảm bảo sạch sẽ, vì chúng có thể bị kẻ tấn công đầu độc. Nhưng kẻ tấn công không thể loại bỏ bất cứ điều gì.
Chỉ huy Keen

Sau đó, sử dụng đa nhiệm hoặc sperlunk trên máy chủ ghi nhật ký trung tâm của bạn là một cách tuyệt vời để cảm nhận toàn bộ mạng của bạn
Dave Cheney

9

Nếu bạn thiết lập xác thực ssh dựa trên khóa và sudo trên các máy chủ từ xa trên máy chủ từ xa để cho phép chạy đuôi với các tệp nhật ký mà không cần nhắc mật khẩu. Sẽ rất dễ dàng để xây dựng một kịch bản taillog làm những gì bạn muốn dưới đây. Điều này không thực sự tránh ssh, nhưng nó giúp bạn tiết kiệm một vài bước.

#!/bin/bash
ssh $1 sudo tail -f $2

Hoặc, bạn có thể thiết lập nhật ký hệ thống để chuyển tiếp tất cả các thông điệp tường trình đến một hệ thống trung tâm và sau đó chạy lệnh đuôi của bạn trên máy chủ nhật ký hệ thống. Chỉ cần xem các tập tin nhật ký trên hệ thống trung tâm.


5

Tôi rất muốn giới thiệu multitail để xem nhật ký nâng cao. Tự mô tả như đuôi trên steroid.


Tôi vừa có một cuộc bỏ phiếu cách đây 15 giờ cho đề nghị đó. Tôi sẽ hủy đăng bài ...
Avery Payne

Hmm, vâng tôi không nghĩ rằng multitail là một câu trả lời chính xác cho câu hỏi nhưng tôi nghĩ rằng nó đủ giá trị để được đưa vào câu trả lời. Một cuộc bỏ phiếu cho nó là khá khắc nghiệt.
gacrux

đồng ý không công bằng .... nhiều câu trả lời đăng nhập một nửa câu hỏi hai phần này - phần 'bên cạnh nhau'. (vimdiff cũng làm một công việc tốt, hoặc ít nhất là vim -O) chỉ vì nó không giải quyết được phần từ xa có khả năng là vấn đề.
ericslaw

3

Điều này rõ ràng không trả lời câu hỏi của bạn, nhưng nếu bạn có nhiều hơn một vài nhật ký để xem và ít hơn giới hạn phiên bản miễn phí, bạn có thể dùng thử Splunk miễn phí để có giao diện đẹp và hữu ích cho tất cả dữ liệu đăng nhập của bạn.

tail -f không hỗ trợ nhiều hơn một bản ghi, nhưng không cạnh nhau, chỉ xuống dưới.


Splunk có một tính năng đuôi mà bạn có thể sử dụng để thực hiện đuôi từ xa -f trên một tệp. Tôi không tin rằng nó làm song song, mặc dù.
thepocketwade

2

Đa nhiệm vụ sẽ làm những gì bạn đang theo dõi trên máy cục bộ. Nó không đề cập cụ thể nếu nó sẽ hoạt động trên một mạng, mặc dù có một số cách để khắc phục điều đó (mount NFS, mount SMB, v.v.) Nó cũng cho biết nó sẽ hoạt động như một máy chủ syslog, ngụ ý rằng nó có thể có khả năng để nhận dữ liệu hoạt động từ nhật ký hệ thống của máy khác, mặc dù tôi chưa bao giờ sử dụng tính năng đó và không biết có phải như vậy không.


2

Tôi đang sử dụng OtrosLogViewer (giấy phép apache commons). Nó hỗ trợ đăng nhập đuôi từ các máy chủ từ xa bằng ssh / sftp và samba / CIFS. Bạn có thể nối nhiều tệp nhật ký vào một cửa sổ. Đây là một ảnh chụp màn hình: Ảnh chụp màn hình OtrosLogViewer


Bạn có một mẫu để tập tin syslog linux?
Edgard Leal

Bạn phải tạo cơ sở mẫu của riêng mình dựa trên các ví dụ: code.google.com/p/otroslogviewer/wiki/Log4jPotypeLayout
KrzyH

sử dụng định dạng sau để kết nối trong SFTP (không có trình duyệt UI trong phiên bản 1.4.5):sftp://hostname/path/to/directory
Donatello

1

Tôi đã viết vsConsole cho chính xác mục đích này - dễ dàng truy cập vào các tệp nhật ký (quyền sshing và quyền tệp luôn là một vấn đề) - và sau đó thêm giám sát ứng dụng và theo dõi phiên bản. Tôi muốn biết bạn nghĩ gì về nó. http://vs-console.appspot.com/

Điều này có nghĩa là một đường cong dễ học, ít học, giải pháp một cú nhấp để giải quyết các vấn đề phát triển phổ biến mà tôi luôn cần một giải pháp đơn giản cho.


0

Bạn có thể sử dụng một cái gì đó như Phplogcon. Tôi sử dụng rsyslog với mysql và gửi tất cả các bản ghi từ các máy chủ khác của tôi đến nó. Phplogcon sau đó hiển thị chúng thông qua việc sử dụng một ứng dụng web.

Đây không phải là giao diện đẹp nhất nhưng đó là một cách hay để quản trị viên truy cập nhật ký mà không để máy chủ tiếp xúc với các thông tin đăng nhập từ xa không cần thiết.


0

Đã được đề cập, nhưng đáng nói lại. SPLUNK!

Tôi đã có niềm vui xây dựng các thiết lập nhật ký hệ thống trung tâm lớn với một gui đẹp trong quá khứ. Đó là một thế giới đau khổ. Splunk làm cho nó trở thành một doddle, đặc biệt là với giấy phép doanh nghiệp tha cho bạn quản lý trung tâm. Nếu nhật ký của bạn dưới 500 triệu một ngày, nó miễn phí. Nếu không, nó có thể rất tốn kém, nhưng nó đáng giá và không chỉ cho một chút đăng nhập - bạn có thể làm nhiều hơn nữa. Tôi thường ủng hộ các ứng dụng nguồn mở, nhưng Splunk đánh bại mọi thứ tôi gặp.


0

Thử đi:

ssh servername tail -f /var/log/messages

Nếu tệp nhật ký của bạn được bảo vệ:

ssh -f servername sudo tail -f /var/log/messages

(bạn không phải sử dụng "ssh -f" - chỉ để mật khẩu của bạn không bị lặp lại với TTY)

Nếu bạn thích điều đó, bạn có thể sử dụng cùng một lệnh với cụm SSH .


0

Bạn cũng có thể sử dụng Octopussy (dự án của tôi) để tập trung nhật ký của bạn, xem và tạo cảnh báo và báo cáo.


-1

Ngoài câu trả lời @KrzyH (Otros) , tôi đã viết một phần bổ sung cho Otros để bạn có thể cài đặt WAR trên máy từ xa, vì vậy về mặt kỹ thuật bạn có thể sử dụng Otros làm dịch vụ web.

Thêm chi tiết tại đây .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.