Cách cài đặt và sử dụng Lnav Log Viewer trên Ubuntu 16.04 LTS

theanh

Administrator
Nhân viên
LNAV còn được gọi là Lateral Navigation là trình xem tệp nhật ký nâng cao miễn phí và mã nguồn mở có thể được sử dụng để tìm thông tin của các tệp đang được xem cùng với dấu thời gian và mức nhật ký. LNAV là trình xem tệp nhật ký dòng lệnh được xây dựng cho các giải pháp quy mô nhỏ. Nó đơn giản, dễ sử dụng và có thể tùy chỉnh. LNAV là ứng dụng hoàn toàn miễn phí chạy trên hệ điều hành Linux và Mac. Nó cho phép người dùng hiển thị nhật ký từ nhiều tệp trong một cửa sổ và bạn cũng có thể xem bản cập nhật trực tiếp cho các nhật ký này.

LNAV đi kèm với rất nhiều tính năng, một số tính năng trong số đó được liệt kê dưới đây:
  • Cho phép bạn truy vấn nhật ký thông qua SQL.
  • Khả năng phát hiện và đọc nhật ký từ nhiều định dạng nhật ký.
  • Nó có các tính năng làm sáng màu giúp người dùng dễ dàng xác định sự khác biệt giữa thông tin, cảnh báo và lỗi.
  • Tự động trích xuất dữ liệu từ các tệp nén như gzip và bzip2.
  • Khả năng tìm kiếm nhật ký khi bạn nhập. Các dòng nhật ký mới được tự động tải và tìm kiếm khi chúng được thêm vào.
Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt và sử dụng lnav trên máy chủ Ubuntu 16.04.

Yêu cầu​

  • Máy chủ chạy Ubuntu 16.04.
  • Người dùng không phải root có quyền sudo.

Cài đặt Lnav​

Theo mặc định, lnav có sẵn trong kho lưu trữ mặc định của Ubuntu 16.04. Vì vậy, bạn có thể cài đặt nó chỉ bằng cách chạy lệnh sau:
Mã:
sudo apt-get install lnav -y
Sau khi cài đặt lnav, bạn có thể xem phiên bản lnav bằng cách chạy lệnh sau:
Mã:
lnav -V
Bạn sẽ thấy đầu ra sau:
Mã:
lnav 0.6.2

Làm việc với Lnav​

Bạn có thể xem tất cả các tùy chọn của lnav bằng cách sử dụng lệnh sau:
Mã:
lnav -h
Bạn sẽ thấy đầu ra sau:
Mã:
usage: lnav [-hVsar] [logfile1 logfile2 ...]Một trình xem tệp nhật ký dựa trên Curses lập chỉ mục các thông báo nhật ký theo loạivà thời gian để giúp bạn dễ dàng điều hướng qua các tệp nhanh hơn.Các phím tắt: ? Xem/thoát khỏi văn bản trợ giúp trực tuyến. q Thoát khỏi chương trình.Tùy chọn: -h In thông báo này, sau đó thoát. -C Kiểm tra cấu hình, sau đó thoát. -d file Ghi thông báo gỡ lỗi vào tệp đã cho. -V In thông tin phiên bản. -s Tải tệp thông báo syslog gần đây nhất. -a Tải tất cả các loại tệp nhật ký gần đây nhất. -r Tải cả các tệp nhật ký đã xoay vòng cũ hơn. -t Thêm dấu thời gian vào các dòng dữ liệu đang được đọc trên đầu vào chuẩn. -w file Ghi nội dung của đầu vào chuẩn vào tệp này.Đối số tùy chọn: logfile1 Các tệp nhật ký hoặc thư mục để xem. Nếu một thư mục được cung cấp, tất cả các tệp trong thư mục sẽ được tải.Ví dụ: Để tải và theo dõi tệp syslog: $ lnav -s Để tải tất cả các tệp trong /var/log: $ lnav /var/log Để xem đầu ra của make với dấu thời gian được thêm vào: $ make 2>&1 | lnav -tPhiên bản: lnav 0.6.2
Bây giờ, hãy bắt đầu chạy lệnh lnav để xem thông tin thời gian thực dựa trên các dấu thời gian gần đây nhất từ tất cả các tệp nhật ký. Lệnh này sẽ thu thập nhật ký từ tất cả các tệp bên trong thư mục /var/log.
Mã:
sudo lnav
Bạn sẽ thấy đầu ra sau:
Mã:
28/01 16:56:01 icingaclient wpa_supplicant[926]: wlan0: CTRL-EVENT-SCAN-STARTED28/01 16:59:46 icingaclient dhclient: DHCPREQUEST của 192.168.137.101 trên wlan0 đến 192.168.137.1 cổng 67 (xid=0xcd468e)28/01 16:59:46 icingaclient dhclient: DHCPACK của 192.168.137.101 từ 192.168.137.128/01 16:59:46 icingaclient dhclient: liên kết với 192.168.137.101 -- gia hạn trong 273 giây.28 tháng 1 16:59:46 icingaclient NetworkManager[865]:  (wlan0): Trạng thái DHCPv4 đã thay đổi khởi động lại -> gia hạn28 tháng 1 16:59:46 icingaclient NetworkManager[865]:  địa chỉ 192.168.137.10128 tháng 1 16:59:46 icingaclient NetworkManager[865]:  tiền tố 24 (255.255.255.0)28 tháng 1 16:59:46 icingaclient NetworkManager[865]:  cổng 192.168.137.128 tháng 1 16:59:46 icingaclient NetworkManager[865]:  máy chủ tên '192.168.137.1'28 tháng 1 16:59:46 icingaclient NetworkManager[865]:  tên miền 'mshome.net'28 tháng 1 16:59:46 icingaclient dbus[779]: [hệ thống] Đang kích hoạt tên dịch vụ='org.freedesktop.nm_dispatcher' (sử dụng servicehelper)28 tháng 1 16:59:46 icingaclient dbus[779]: [hệ thống] Đã kích hoạt thành công dịch vụ 'org.freedesktop.nm_dispatcher'28 tháng 1 17:04:19 icingaclient dhclient: DHCPREQUEST của 192.168.137.101 trên wlan0 đến 192.168.137.1 cổng 67 (xid=0xcd468e)28 tháng 1 17:04:19 icingaclient dhclient: DHCPACK của 192.168.137.101 từ 192.168.137.1Tháng 1 28 17:04:20 icingaclient dhclient: liên kết với 192.168.137.101 -- gia hạn sau 226 giây.28 tháng 1 17:04:20 icingaclient NetworkManager[865]:  (wlan0): Trạng thái DHCPv4 đã thay đổi gia hạn -> gia hạn28 tháng 1 17:04:20 icingaclient NetworkManager[865]:  địa chỉ 192.168.137.10128 tháng 1 17:04:20 icingaclient NetworkManager[865]:  tiền tố 24 (255.255.255.0)28 tháng 1 17:04:20 icingaclient NetworkManager[865]:  cổng 192.168.137.128 tháng 1 17:04:20 icingaclient NetworkManager[865]:  máy chủ tên '192.168.137.1'28 tháng 1 17:04:20 icingaclient NetworkManager[865]:  tên miền 'mshome.net'28 tháng 1 17:04:20 icingaclient dbus[779]: [hệ thống] Đang kích hoạt tên dịch vụ='org.freedesktop.nm_dispatcher' (sử dụng servicehelper)28 tháng 1 17:04:20 icingaclient dbus[779]: [hệ thống] Đã kích hoạt thành công dịch vụ 'org.freedesktop.nm_dispatcher'28 tháng 1 17:05:01 icingaclient CRON[3964]: (root) CMD (lệnh -v debian-sa1 > /dev/null && debian-sa1 1 1)28 tháng 1 17:08:06 icingaclient dhclient: DHCPREQUEST của 192.168.137.101 trên wlan0 đến 192.168.137.1 cổng 67 (xid=0xcd468e)28/01 17:08:06 icingaclient dhclient: DHCPACK của 192.168.137.101 từ 192.168.137.128/01 17:08:06 icingaclient dhclient: liên kết với 192.168.137.101 -- gia hạn sau 297 giây.28/01 17:08:06 icingaclient NetworkManager[865]:  (wlan0): Trạng thái DHCPv4 đã thay đổi gia hạn -> gia hạn28 tháng 1 17:08:06 icingaclient NetworkManager[865]:  địa chỉ 192.168.137.10128 tháng 1 17:08:06 icingaclient NetworkManager[865]:  tiền tố 24 (255.255.255.0)28 tháng 1 17:08:06 icingaclient NetworkManager[865]:  cổng 192.168.137.128 tháng 1 17:08:06 icingaclient NetworkManager[865]:  máy chủ tên '192.168.137.1'28 tháng 1 17:08:06 icingaclient NetworkManager[865]:  tên miền 'mshome.net'28 tháng 1 17:08:06 icingaclient dbus[779]: [hệ thống] Đang kích hoạt tên dịch vụ='org.freedesktop.nm_dispatcher' (sử dụng servicehelper)28 tháng 1 17:08:06 icingaclient dbus[779]: [hệ thống] Đã kích hoạt thành công dịch vụ 'org.freedesktop.nm_dispatcher'
Nếu bạn muốn xem nhật ký từ thư mục /var/log/apache2, hãy chạy lệnh sau:
Mã:
sudo lnav /var/log/apache2
Đôi khi, thông tin mới nhất không có trong các tệp gần đây nhất. Vì vậy, bạn có thể hiển thị thông tin từ các tệp nhật ký cũ bằng tùy chọn -r:
Mã:
sudo lnav -r
Bạn sẽ thấy đầu ra sau:
Mã:
28/01 17:04:20 icingaclient dhclient: liên kết với 192.168.137.101 -- gia hạn sau 226 giây.28/01 17:04:20 icingaclient NetworkManager[865]:  (wlan0): Trạng thái DHCPv4 đã thay đổi gia hạn -> gia hạn28 tháng 1 17:04:20 icingaclient NetworkManager[865]:  địa chỉ 192.168.137.10128 tháng 1 17:04:20 icingaclient NetworkManager[865]:  tiền tố 24 (255.255.255.0)28 tháng 1 17:04:20 icingaclient NetworkManager[865]:  cổng 192.168.137.128 tháng 1 17:04:20 icingaclient NetworkManager[865]:  máy chủ tên '192.168.137.1'28 tháng 1 17:04:20 icingaclient NetworkManager[865]:  tên miền 'mshome.net'28 tháng 1 17:04:20 icingaclient dbus[779]: [hệ thống] Đang kích hoạt tên dịch vụ='org.freedesktop.nm_dispatcher' (sử dụng servicehelper)28 tháng 1 17:04:20 icingaclient dbus[779]: [hệ thống] Đã kích hoạt thành công dịch vụ 'org.freedesktop.nm_dispatcher'28 tháng 1 17:05:01 icingaclient CRON[3964]: (root) CMD (lệnh -v debian-sa1 > /dev/null && debian-sa1 1 1)28 tháng 1 17:08:06 icingaclient dhclient: DHCPREQUEST của 192.168.137.101 trên wlan0 đến 192.168.137.1 cổng 67 (xid=0xcd468e)28/01 17:08:06 icingaclient dhclient: DHCPACK của 192.168.137.101 từ 192.168.137.128/01 17:08:06 icingaclient dhclient: liên kết với 192.168.137.101 -- gia hạn sau 297 giây.28/01 17:08:06 icingaclient NetworkManager[865]:  (wlan0): Trạng thái DHCPv4 đã thay đổi gia hạn -> gia hạn28 tháng 1 17:08:06 icingaclient NetworkManager[865]:  địa chỉ 192.168.137.10128 tháng 1 17:08:06 icingaclient NetworkManager[865]:  tiền tố 24 (255.255.255.0)28 tháng 1 17:08:06 icingaclient NetworkManager[865]:  cổng 192.168.137.128 tháng 1 17:08:06 icingaclient NetworkManager[865]:  máy chủ tên '192.168.137.1'28 tháng 1 17:08:06 icingaclient NetworkManager[865]:  tên miền 'mshome.net'28 tháng 1 17:08:06 icingaclient dbus[779]: [hệ thống] Đang kích hoạt tên dịch vụ='org.freedesktop.nm_dispatcher' (sử dụng servicehelper)28 tháng 1 17:08:06 icingaclient dbus[779]: [hệ thống] Đã kích hoạt thành công dịch vụ 'org.freedesktop.nm_dispatcher'28 tháng 1 17:12:47 icingaclient dnsmasq[1174]: máy chủ tên 192.168.137.1 từ chối thực hiện truy vấn đệ quy28 tháng 1 17:13:03 icingaclient dhclient: DHCPREQUEST của 192.168.137.101 trên wlan0 đến 192.168.137.1 cổng 67 (xid=0xcd468e)28 tháng 1 17:13:03 icingaclient dhclient: DHCPACK của 192.168.137.101 từ 192.168.137.128 tháng 1 17:13:03 icingaclient dhclient: liên kết với 192.168.137.101 -- gia hạn sau 291 giây.
Bạn cũng có thể xem tệp nhật ký với các tùy chọn dấu thời gian bằng cách sử dụng tùy chọn -t:
Mã:
sudo lnav -t
Bạn sẽ thấy đầu ra sau:
Mã:
28 tháng 1 17:08:06 icingaclient dhclient: DHCPACK của 192.168.137.101 từ 192.168.137.128/01 17:08:06 icingaclient dhclient: liên kết với 192.168.137.101 -- gia hạn sau 297 giây.28/01 17:08:06 icingaclient NetworkManager[865]:  (wlan0): Trạng thái DHCPv4 đã thay đổi gia hạn -> gia hạn28 tháng 1 17:08:06 icingaclient NetworkManager[865]:  địa chỉ 192.168.137.10128 tháng 1 17:08:06 icingaclient NetworkManager[865]:  tiền tố 24 (255.255.255.0)28 tháng 1 17:08:06 icingaclient NetworkManager[865]:  cổng 192.168.137.128 tháng 1 17:08:06 icingaclient NetworkManager[865]:  máy chủ tên '192.168.137.1'28 tháng 1 17:08:06 icingaclient NetworkManager[865]:  tên miền 'mshome.net'28 tháng 1 17:08:06 icingaclient dbus[779]: [hệ thống] Đang kích hoạt tên dịch vụ='org.freedesktop.nm_dispatcher' (sử dụng servicehelper)28 tháng 1 17:08:06 icingaclient dbus[779]: [hệ thống] Đã kích hoạt thành công dịch vụ 'org.freedesktop.nm_dispatcher'28 tháng 1 17:12:47 icingaclient dnsmasq[1174]: máy chủ tên 192.168.137.1 từ chối thực hiện truy vấn đệ quy28 tháng 1 17:13:03 icingaclient dhclient: DHCPREQUEST của 192.168.137.101 trên wlan0 đến 192.168.137.1 cổng 67 (xid=0xcd468e)28 tháng 1 17:13:03 icingaclient dhclient: DHCPACK của 192.168.137.101 từ 192.168.137.128 tháng 1 17:13:03 icingaclient dhclient: liên kết với 192.168.137.101 -- gia hạn sau 291 giây.28 tháng 1 17:13:03 icingaclient NetworkManager[865]:  (wlan0): Trạng thái DHCPv4 đã thay đổi gia hạn -> gia hạn28 tháng 1 17:13:03 icingaclient NetworkManager[865]:  địa chỉ 192.168.137.10128 tháng 1 17:13:03 icingaclient NetworkManager[865]:  tiền tố 24 (255.255.255.0)28 tháng 1 17:13:03 icingaclient NetworkManager[865]:  cổng 192.168.137.128 tháng 1 17:13:03 icingaclient NetworkManager[865]:  máy chủ tên '192.168.137.1'28 tháng 1 17:13:03 icingaclient NetworkManager[865]:  tên miền 'mshome.net'28 tháng 1 17:13:03 icingaclient dbus[779]: [hệ thống] Đang kích hoạt tên dịch vụ='org.freedesktop.nm_dispatcher' (sử dụng servicehelper)28 tháng 1 17:13:03 icingaclient dbus[779]: [hệ thống] Đã kích hoạt thành công dịch vụ 'org.freedesktop.nm_dispatcher'
Để tải tất cả các loại tệp nhật ký gần đây nhất, hãy chạy lệnh sau:
Mã:
sudo lnav -a

Sử dụng phím nóng với Lnav​

Bạn cũng có thể điều hướng đầu ra của lệnh lnav bằng nhiều tùy chọn phím nóng khác nhau.

Đầu tiên, chạy lệnh lnav:
Mã:
sudo lnav
Bạn sẽ thấy đầu ra sau:



Bây giờ, sử dụng phím i từ bàn phím của bạn để chuyển đầu ra lnav sang chế độ xem biểu đồ như được hiển thị bên dưới:



Tiếp theo, sử dụng phím p để xem kết quả phân tích cú pháp nhật ký như được hiển thị bên dưới:



Tiếp theo, sử dụng phím m để đánh dấu các tệp nhật ký hàng đầu như được hiển thị bên dưới:


Kết luận​

Tôi hy vọng bây giờ bạn có thể dễ dàng xác định các vấn đề bằng cách sử dụng lnav. Bạn cũng có thể tham khảo trang web chính thức của nó để biết thêm chi tiết. Hãy thoải mái bình luận nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên