DevOps

Chia sẻ màn hình terminal của bạn dưới dạng một web site

Trong lúc làm việc, với vị trí là 1 DevOps, bạn không thể chia sẽ quyền admin cho Dev để vào server debug trực tiếp được, để các Dev có thể check log từ server, bạn có thể mở một terminal chạy lệnh tail -f log và share kết quả trả về dưới dạng web site cho Dev, và đương nhiên web site đó được update realtime cho dev. Để làm được việc đó, bạn có thể sử dụng một app đó là Gotty.

[ Server ] <=====SSH=====> [ your PC ] ===> [ terminal as web ] =====> [ shared developer ]

Sau đây là hướng dẫn cụ thể cách sử dụng Gotty:

Cài đặt Gotty:

Cài đặt Gotty cho macOS:

$ brew install yudai/gotty/gotty

Cài đặt Gotty cho Ubuntu:

  • Download binary package của Gotty:
$ export VER="1.0.1"
$ cd /tmp
$ wget https://github.com/yudai/gotty/releases/download/v${VER}/gotty_linux_amd64.tar.gz
  • Giải nén chương trình:
$ tar xvf gotty_linux_amd64.tar.gz
  • Phân quyền cho phép file được chạy và di chuyển file đến thư mục $PATH để ta có thể chạy chương trình dù đang đứng ở bất kỳ thư mục nào:
$ chmod  +x gotty
$ sudo mv gotty /usr/local/bin/

Sau khi cài đặt Gotty cho macOS hoặc Ubuntu, bạn có thể kiểm tra việc cài đặt bằng cách check version của Gotty với dòng lệnh “gotty -version” như sau:

$ gotty -version
gotty version 1.0.1

Ví dụ chia sẽ màn hình terminal đang check thông tin của instance với lệnh sau:

gotty top

Sau khi gotty chạy xong, bạn có thể truy cập vào trang chia sẽ bằng cách gõ vào địa chỉ IP của bạn kèm theo port 8080 (bạn có thể thay đổi port chia sẽ bằng cách thêm tham số -p [port_number] )

Đặt mật khẩu cho gotty:

Để bảo mật hơn bạn có thể đảm bảo trang chia sẽ của mình chỉ có những user được chia sẽ vào xem được bằng cách thiết lập user và password bằng cách thêm vào lệnh tham số “—credential user:password” như sau

gotty --credential user:password_hay top

Như vậy, user phải đăng nhập vào với user và pass đã đặt ở lệnh trên để vào xem terminal của bạn

Cho phép tương tác với terminal

Để cho phép user tương tác với terminal, bạn có thể thêm vào tham số -w trong câu lệnh của mình.

gotty -w --credential user:12345678 bash

Với câu lệnh này, user được chia sẽ terminal không chỉ xem được màn hình terminal mà còn có thể tương tác được với terminal, phải cẩn thận với lệnh này khi chia sẽ màn hình terminal của bạn nhé.

Hy vọng bài viết mang lại giá trị cho các bạn.