Tin tức, hướng dẫn và chia sẻ về công nghệ

[Graylog] [LAB] [Phần 2] Thu thập log của Linux thông qua graylog sidecar

Image result for graylog-sidecar
Logo của graylog

Ở bài trước ta đã cấu hình Graylog 3.1 trên CentOS 7, ở bài này mình sẽ hướng dẫn cấu hình thu thập log CentOS 7 sử dụng Collector Sidecar.

Graylog Sidecar là 1 input có khả năng quản lý cấu hình phía client để thu thập log. Graylog Sidecar hỗ trợ cả window lẫn linux. Sidecar nhận chỉ thị từ Graylog server để cấu hình việc đẩy log, còn để có thể đẩy log từ client về server có thể dùng filebeat hoặc nxlog.

1 . Mô hình

Mô hình lab được triển khai như sau:

Mô hình ip phanning được triển khai như sau:

2 . Cài đặt

2.1 Thiết lập môi trường :

  • Thực hiện update và cài đặt gói bổ trợ :
yum install -y epel-release
yum update -y
yum install -y git wget curl byobu
yum install -y pwgen
  • Thiết lập hostname
hostnamectl set-hostname client01
echo  "127.0.0.1 localhost client01" > /etc/hosts
echo  "10.10.34.102 client01" >> /etc/hosts
  • Tắt selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
  • Khởi động lại hệ thống
reboot

2.2 Cài đặt NTP

Ở bài trước ta đã tiến hành cài đặt NTP cho Client01 rồi nên bước này ta không cần cài nữa. Chỉ cần kiểm tra thời gian trên hệ thống đã đúng chưa :

[root@client01 ~]# timedatectl
      Local time: Fri 2019-12-27 17:21:58 +07
  Universal time: Fri 2019-12-27 10:21:58 UTC
        RTC time: Fri 2019-12-27 10:21:59
       Time zone: Asia/Ho_Chi_Minh (+07, +0700)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

2.3 Cài đặt Sidecar và filebeat

2.3.1 Cài đặt File Beats

Để thu thập log, cần phải kết hợp với thành phần collector là filebeat hoặc NXlog. Trong hướng dẫn này, mình sẽ sử dụng thành phần collector là filebeat.

  • Để cài filebeat, ta vào link sau đây để tìm và tải về phiên bản hệ điều hành thích hợp, ở đây mình sử dụng CentOS 7 nên mình sẽ tải về phiên bản sau :
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.4.2-x86_64.rpm
  • Cài đặt filebeat :
rpm -i filebeat-7.4.2-x86_64.rpm

2.3.2 Cài đặt graylog -sidecar

Đối với graylog 3, ta sẽ dùng bản graylog-sidecar 1.x trở lên. Có thể tham khảo các bản cài graylog-sidecar ở đây , để chọn phiên bản phù hợp với hệ điều hành của máy.

  • Tiến hành tải về phiên bản phù hợp với hệ điều hành :
wget https://github.com/Graylog2/collector-sidecar/releases/download/1.0.2/graylog-sidecar-1.0.2-1.x86_64.rpm
  • Kiểm tra thư mục đã tải về :
[root@client01 ~]# ls
anaconda-ks.cfg  graylog-sidecar-1.0.2-1.x86_64.rpm
  • Cài đặt file graylog-sidecar :
rpm -i graylog-sidecar-1.0.2-1.x86_64.rpm
graylog-sidecar -service install
  • Trước khi cấu hình sidecar, ta cần đăng nhập vào Web interface của graylog-server để tạo và lấy TOKEN :

Vào web interface của graylog, truy cập tab System/Sidecars, sau đó chọn Create or reuse a token for the graylog-sidecar user :

  • Tiếp theo nhập tên và chọn Create Token để tạo token :
  • Sau đó copy mã token để sử dụng cho việc cấu hình graylog-sidecar :

Mã token sẽ có dạng như sau :

157vjbs3t175upg3id65gb6k2nhj0v8k2k17j51g057ed8h9rl4

Quay lại máy graylog-sidecar (client01) để chỉnh sửa file config, các thao tác sửa đổi sẽ được thự hiện ở file /etc/graylog/sidecar/sidecar.yml :

  • Khai báo ip của graylog-server :
sed -i 's|#server_url: "http://127.0.0.1:9000/api/"|server_url: "http://10.10.34.101:9000/api/"|' /etc/graylog/sidecar/sidecar.yml
  • Thay giá trị api_token bằng chuỗi token đã tạo trước đó :
sed -i 's|server_api_token: ""|server_api_token: "157vjbs3t175upg3id65gb6k2nhj0v8k2k17j51g057ed8h9rl4"|' /etc/graylog/sidecar/sidecar.yml
  • Sửa đổi và bỏ comment 1 số dòng để graylog-sidecar hoạt động :
sed -i 's|#log_path: "/var/log/graylog-sidecar"|log_path: "/var/log/graylog-sidecar"|' /etc/graylog/sidecar/sidecar.yml
sed -i 's|#tls_skip_verify: false|tls_skip_verify: true|' /etc/graylog/sidecar/sidecar.yml
sed -i 's|#node_name: ""|node_name: "client01"|' /etc/graylog/sidecar/sidecar.yml
  • Tiến hành khởi động dịch vụ graylog-sidecar :
systemctl start graylog-sidecar.service
systemctl enable graylog-sidecar.service

2.4 Cấu hình sidecar trên Web interface của graylog-server .

2.4.1 Khai báo input cho sidecar

  • Để graylog-server biết nơi cần nhận log, ta cần khai báo input cho graylog-server :

Truy cập System/Inputs chọn input là Beats và bấm Launch new input :

  • Có thể tham khảo edit input như sau :
  • Sau khi chỉnh sửa input, ta bấm save để lưu lại cấu hình .
  • Sau khi tạo, input sẽ có dạng như sau :

2.4.2 Cấu hình sidecars

  • Truy cập vào System/Sidecars chọn Configuration sau đó chọn Create Configuration :
  • Khai báo các thông số và sửa địa chỉ ip thành địa chỉ của Graylog-server như sau :
  • Chọn tab Overview sau đó chọn Manage sidecar.
  • Tích chọn filebeat và chọn cấu hình configuration mới tạo.
  • Chọn Confim để tiếp tục .

2.4.3 Kiểm tra kết quả

  • Trên web interface của server, vào tab Search.
  • Trên máy client01, tiến hành đăng nhập vào ssh để tạo log ssh, sau đó quay trở lại để kiểm tra log nhận được :

Ta thấy ở đây, khi đăng nhập sai password với user là hungnv đã có log trả về.

Chúc các bạn thành công !

2 Comments

  1. hieu

    phần 2.2.4 làm theo như ad sẽ không ra
    sau khi edit filebeat on linux chọn tiếp overview sẽ không ra như thế

    • Nguyễn Việt Hùng

      Hi a. A có thể check lại xem lại Firewall ở 2 phía client và server xem đã mở port chưa ạ?

Leave a Reply

Your email address will not be published. Required fields are marked *