Cách quản lý log với Graylog 2 trên Ubuntu 16.04
Graylog là một nền tảng quản lý log open-souce mạnh mẽ. Nó tổng hợp và extract dữ liệu quan trọng từ log server , thường được gửi bằng giao thức Syslog. Nó cũng cho phép bạn tìm kiếm và trực quan hóa các bản ghi trong giao diện web.Trong hướng dẫn này, bạn sẽ cài đặt và cấu hình Graylog trên Ubuntu 16.04 và cài đặt một đầu vào đơn giản để nhận log hệ thống.
Yêu cầu
Trước khi bắt đầu hướng dẫn này, bạn cần:
- Một server Ubuntu 16.04 với ít nhất 2 GB RAM, được bật mạng riêng và user không phải root. Điều này có thể được cài đặt theo Cài đặt server ban đầu với Ubuntu 16.04 .
- Đã cài đặt Oracle JDK 8, bạn có thể thực hiện theo phần “Cài đặt Oracle JDK” của bài viết cài đặt Java này .
- Elasticsearch 2.x, bạn có thể cài đặt theo các Bước 1 và 2 của hướng dẫn cài đặt Elasticsearch . Một số version nhất định của Graylog chỉ hoạt động với một số version nhất định của Elasticearch. Ví dụ: Graylog 2.x không hoạt động với Elasticsearch 5.x. Tham khảo bảng so sánh version Greylog-Elasticsearch này để biết version chính xác. Hướng dẫn này sử dụng Elasticsearch 2.4.4 và Graylog 2.2.
- MongoDB, có thể được cài đặt theo hướng dẫn MongoDB .
Bước 1 - Cấu hình Elasticsearch
  Ta  cần sửa đổi file  cấu hình Elasticsearch để tên cụm  trùng với  một bộ trong file  cấu hình Graylog. Để giữ cho mọi thứ đơn giản,  ta  sẽ đặt tên cụm Elasticsearch thành tên Graylog mặc định của graylog . Bạn có thể đặt nó thành  bạn muốn , nhưng hãy  đảm bảo  bạn cập nhật file  cấu hình Graylog để phản ánh thay đổi đó.
Mở file cấu hình Elasticsearch trong editor :
- sudo nano /etc/elasticsearch/elasticsearch.yml 
Tìm dòng sau:
cluster.name: <CURRENT CLUSTER NAME> Thay đổi giá trị cluster.name thành graylog :
cluster.name: graylog Lưu file và thoát khỏi editor .
Vì ta đã sửa đổi file cấu hình, ta phải khởi động lại dịch vụ để các thay đổi có hiệu lực.
- sudo systemctl restart elasticsearch 
Đến đây bạn đã cấu hình Elasticsearch, hãy chuyển sang cài đặt Graylog.
Bước 2 - Cài đặt Graylog
Trong bước này, ta sẽ cài đặt server Graylog.
 Đầu tiên,  download  file  gói có chứa cấu hình repository  Graylog. Truy cập trang  download  Graylog để tìm số version  hiện tại.  Ta  sẽ sử dụng version  2.2 cho hướng dẫn này.
- wget https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.deb 
Tiếp theo, cài đặt cấu hình repository  từ file  gói .deb ,    thay thế 2.2 bằng version  bạn đã  download .
- sudo dpkg -i graylog-2.2-repository_latest.deb 
Bây giờ cấu hình repository đã được cập nhật, ta phải tìm nạp danh sách các gói mới. Thực hiện lệnh này:
- sudo apt-get update 
Tiếp theo, cài đặt gói graylog-server :
- sudo apt-get install graylog-server 
Cuối cùng, khởi động Graylog tự động khi khởi động hệ thống bằng lệnh này:
- sudo systemctl enable graylog-server.service 
Graylog hiện đã được cài đặt thành công nhưng nó vẫn chưa bắt đầu. Ta phải cấu hình nó trước khi nó bắt đầu.
Bước 3 - Cấu hình Graylog
 Bây giờ  ta  đã cấu hình Elasticsearch và cài đặt Graylog,  ta  cần thay đổi một vài cài đặt trong file  cấu hình Graylog mặc định trước khi có thể sử dụng nó. Tệp cấu hình của Graylog được đặt tại /etc/graylog/server/server.conf theo mặc định.
 Đầu tiên,  ta  cần đặt giá trị password_secret . Graylog sử dụng giá trị này để bảo mật password   user  được lưu trữ.  Ta  sẽ sử dụng giá trị 128 ký tự được tạo ngẫu nhiên.
  Ta  sẽ sử dụng pwgen để tạo password , vì vậy hãy cài đặt nó nếu nó chưa được cài đặt:
- sudo apt install pwgen 
Tạo password  và đặt nó vào file  cấu hình Graylog.  Ta  sẽ sử dụng chương trình sed để đưa giá trị password_secret vào file  cấu hình Graylog. Bằng cách này,  ta  không phải  copy paste  bất kỳ giá trị nào. Thực thi lệnh này để tạo bí mật và lưu trữ trong file :
- sudo -E sed -i -e "s/password_secret =.*/password_secret = $(pwgen -s 128 1)/" /etc/graylog/server/server.conf 
Để biết thêm thông tin về cách sử dụng sed , hãy xem hướng dẫn sử dụng sed DigitalOcean này .
 Tiếp theo,  ta  cần đặt giá trị root_password_sha2 . Đây là mã băm SHA-256 của password  mong muốn của bạn.   ,  ta  sẽ sử dụng lệnh sed để sửa đổi file  cấu hình Graylog để  ta  không phải tạo mã băm SHA-256 theo cách thủ công bằng cách sử dụng shasum và dán nó vào file  cấu hình.
 Thực hiện lệnh này, nhưng thay thế password bên dưới bằng password   administrator  mặc định mong muốn của bạn:
 Lưu ý: Có một khoảng trống ở đầu lệnh, ngăn không cho password  của bạn được lưu trữ dưới dạng văn bản thuần túy trong lịch sử Bash của bạn.
-  sudo sed -i -e "s/root_password_sha2 =.*/root_password_sha2 = $(echo -n 'password' | shasum -a 256 | cut -d' ' -f1)/" /etc/graylog/server/server.conf 
Bây giờ, ta cần thực hiện một vài thay đổi đối với file cấu hình. Mở file cấu hình Graylog bằng editor :
- sudo nano /etc/graylog/server/server.conf 
Tìm và thay đổi các dòng sau, bỏ ghi chú và thay thế graylog_public_ip bằng IP công cộng của  server  của bạn. Đây có thể là địa chỉ IP hoặc domain  đủ điều kiện.
 ... rest_listen_uri = http://your_server_ip_or_domain:9000/api/  ... web_listen_uri = http://your_server_ip_or_domain:9000/  ... Lưu file và thoát khỏi editor .
 Vì  ta  đã thay đổi file  cấu hình,  ta  phải khởi động lại (hoặc khởi động) dịch vụ graylog-server . Lệnh khởi động lại sẽ khởi động  server  ngay cả khi nó hiện đang dừng.
- sudo systemctl restart graylog-server 
Tiếp theo, kiểm tra trạng thái của server .
- sudo systemctl status graylog-server 
Đầu ra sẽ giống như sau:
● graylog-server.service - Graylog server    Loaded: loaded (/usr/lib/systemd/system/graylog-server.service; enabled; vendor preset: enabled)    Active: active (running) since Fri 2017-03-03 20:10:34 PST; 1 months 7 days ago      Docs: http://docs.graylog.org/  Main PID: 1300 (graylog-server)     Tasks: 191 (limit: 9830)    Memory: 1.2G       CPU: 14h 57min 21.475s    CGroup: /system.slice/graylog-server.service            ├─1300 /bin/sh /usr/share/graylog-server/bin/graylog-server            └─1388 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSCon Bạn sẽ thấy active cho trạng thái.
 Nếu  kết quả  báo cáo rằng hệ thống không chạy, hãy kiểm tra /var/log/syslog để biết bất kỳ lỗi nào. Đảm bảo rằng bạn đã cài đặt Java khi cài đặt Elasticsearch và bạn đã thay đổi tất cả các giá trị trong Bước 3. Sau đó, hãy khởi động lại dịch vụ Graylog   .
 Nếu bạn đã  cấu hình  firewall  với ufw , hãy thêm ngoại lệ firewall  cho cổng TCP 9000 để bạn có thể truy cập giao diện web:
- sudo ufw allow 9000/tcp 
Khi Graylog đang chạy,  bạn có thể  truy cập http:// your_server_ip :9000 bằng trình duyệt web  của bạn . Bạn có thể phải đợi tối đa năm phút sau khi khởi động lại graylog-server trước khi giao diện web bắt đầu. Ngoài ra, hãy  đảm bảo  MongoDB đang chạy.
Bây giờ Graylog đang chạy bình thường, ta có thể chuyển sang xử lý log .
Bước 4 - Tạo đầu vào
Hãy thêm một đầu vào mới vào Graylog để nhận các bản ghi. Đầu vào cho Graylog biết cổng nào để lắng nghe và giao thức nào sẽ sử dụng khi nhận log . Ta sẽ thêm đầu vào Syslog UDP, đây là một giao thức ghi log thường được sử dụng.
 Khi bạn truy cập http:// your_server_ip :9000 trong trình duyệt  của bạn , bạn sẽ thấy trang đăng nhập. Sử dụng admin cho tên  user  của bạn và sử dụng password  bạn đã nhập ở Bước 3 cho password  của bạn.
Sau khi đăng nhập, bạn sẽ thấy một trang có tiêu đề “Bắt đầu” trông giống như hình sau:
Để xem trang đầu vào, hãy nhấp vào menu thả xuống Hệ thống trong thanh chuyển và chọn Đầu vào .
Sau đó, bạn sẽ thấy một hộp thả xuống chứa văn bản Chọn đầu vào . Chọn Syslog UDP từ menu thả xuống này, sau đó nhấp vào nút Chạy đầu vào mới .
Một phương thức với một biểu mẫu sẽ xuất hiện. Điền vào các chi tiết sau để tạo đầu vào của bạn:
- Đối với Node , hãy chọn server của bạn. Nó phải là mục duy nhất trong danh sách.
-  Đối với Tiêu đề , hãy nhập tiêu đề phù hợp, chẳng hạn như Linux Server Logs.
-  Đối với địa chỉ Bind , hãy sử dụng IP riêng của  server  của bạn. Nếu bạn cũng muốn có thể thu thập log  từ các  server  bên ngoài (không  được khuyến khích , vì Syslog không hỗ trợ xác thực), bạn có thể đặt nó thành 0.0.0.0(tất cả các giao diện).
-  Đối với Port , nhập 8514. Lưu ý ta đang sử dụng cổng8514cho hướng dẫn này vì các cổng từ0đến1024được dùng bởi user root . Bạn có thể sử dụng bất kỳ số cổng nào trên1024cũng được miễn là nó không xung đột với bất kỳ dịch vụ nào khác.
Nhấp vào Lưu . Danh sách đầu vào local sẽ cập nhật và hiển thị đầu vào mới của bạn, như thể hiện trong hình sau:
Bây giờ một đầu vào đã được tạo, ta có thể gửi một số log đến Graylog.
Bước 5 - Cấu hình server để gửi log tới Graylog
  Ta  có một đầu vào được  cấu hình  và đang lắng nghe trên cổng 8514 , nhưng  ta  chưa gửi bất kỳ dữ liệu nào đến đầu vào, vì vậy  ta  sẽ không thấy bất kỳ kết quả nào. rsyslog là một tiện ích phần mềm được sử dụng để chuyển tiếp log  và được cài đặt sẵn trên Ubuntu, vì vậy  ta  sẽ  cấu hình  tiện ích đó để gửi log  tới Graylog. Trong hướng dẫn này,  ta  sẽ  cấu hình   server  Ubuntu chạy Graylog để gửi log  hệ thống của nó tới đầu vào mà  ta  vừa tạo, nhưng bạn có thể làm theo các bước sau trên bất kỳ  server  nào khác mà bạn có.
 Nếu bạn muốn gửi dữ liệu tới Graylog từ các  server  khác, bạn cần thêm ngoại lệ firewall  cho cổng UDP 8514 .
- sudo ufw allow 8514/udp 
Tạo và mở file  cấu hình log  rsyslog mới trong  editor .
- sudo nano /etc/rsyslog.d/60-graylog.conf 
Thêm dòng sau vào file , thay thế your_server_private_ip bằng IP riêng của  server  Graylog của bạn.
*.* @your_server_private_ip:8514;RSYSLOG_SyslogProtocol23Format Lưu và thoát khỏi editor .
 Khởi động lại dịch vụ rsyslog để các thay đổi có hiệu lực.
- sudo systemctl restart rsyslog 
Lặp lại các bước này cho từng server mà bạn muốn gửi log .
Đến đây bạn sẽ có thể xem log của bạn trong giao diện web. Nhấp vào tab Nguồn trong thanh chuyển để xem biểu đồ của các nguồn. Nó trông giống như sau :
Bạn cũng có thể nhấp vào tab Tìm kiếm trong thanh chuyển để xem tổng quan về các log mới nhất .
Bạn có thể tìm hiểu thêm về các tìm kiếm trong tài liệu tìm kiếm Graylog .
Kết luận
Đến đây bạn có một server Graylog đang hoạt động với nguồn đầu vào có thể thu thập log từ các server khác.
Tiếp theo, bạn có thể cần xem xét cài đặt trang tổng quan, cảnh báo và stream . Trang tổng quan cung cấp tổng quan nhanh về log của bạn. Luồng phân loại tin nhắn mà bạn có thể theo dõi bằng cảnh báo. Để tìm hiểu thêm về cách cấu hình các tính năng nâng cao hơn của Graylog, bạn có thể tìm hướng dẫn trong tài liệu Graylog .
Các tin liên quan
Cách cài đặt Webmin trên Ubuntu 16.042017-04-21
Cách cài đặt và cấu hình OrientDB trên Ubuntu 16.04
2017-03-24
Cách cài đặt và cấu hình Postfix trên Ubuntu 16.04
2017-03-16
how-to-monitor-system-metrics-with-the-tick-stack-on-ubuntu-16-04
2017-03-16
Cách cấu hình client FreeIPA trên Ubuntu 16.04
2017-03-08
Cách cài đặt Moodle trên Ubuntu 16.04
2017-03-02
Cách cài đặt và bảo mật MongoDB trên Ubuntu 16.04
2017-02-24
Cách cài đặt ionCube trên Ubuntu 16.04
2017-01-11
Cách thiết lập xác thực đa yếu tố cho SSH trên Ubuntu 16.04
2017-01-10
Cách chuyển cài đặt ownCloud sang Nextcloud trên Ubuntu 14.04
2017-01-06
 

