Metabase là gì
Metabase cung cấp giao diện để truy vấn dữ liệu trên trình duyệt của bạn. Ngoài việc hỗ trợ truy vấn SQL, Metabase cung cấp chức năng phân tích dữ liệu mà không cần SQL, tạo trang tổng quan và theo dõi số liệu. Hướng dẫn này chỉ ra cách kết nối MySQL với Metabase sau đó triển khai trên NGINX thông qua proxy ngược.
Có một số cơ sở dữ liệu bổ sung được hỗ trợ từ SQLite đến PostgreSQL. Việc hình dung kết quả trở nên rất đơn giản thông qua một giao diện trực quan. Điều này làm cho Metabase trở nên linh hoạt để chia sẻ dữ liệu ngay cả với những người không có nền tảng phân tích.
Cài đặt siêu dữ liệu
Java Runtime Environment
Các bước trong phần này sẽ cài đặt Java 8 JDK trên Ubuntu 16.04. Đối với các bản phân phối khác, hãy xem tài liệu chính thức.
-
Cài đặt
software-properties-common
để dễ dàng thêm các kho mới:sudo apt-get install software-properties-common
-
Thêm PPA Java:
sudo add-apt-repository ppa:webupd8team/java
-
Cập nhật danh sách nguồn:
sudo apt-get update
-
Cài đặt Java JDK 8:
sudo apt-get install oracle-java8-installer
Máy chủ MySQL
-
Tải xuống MySQL Server. Nhập mật khẩu gốc khi được chỉ định:
sudo apt install mysql-server
-
Đăng nhập với tư cách người dùng root:
mysql -u root -p
-
Tạo cơ sở dữ liệu và người dùng cho Metabase:
CREATE DATABASE employees; CREATE USER 'metabase_user' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON employees.* TO 'metabase_user'; GRANT RELOAD ON *.* TO 'metabase_user'; FLUSH PRIVILEGES; quit
Tải xuống Metabase
-
Tải xuống tệp jar từ Metabase:
wget http://downloads.metabase.com/v0.28.1/metabase.jar
-
Di chuyển tệp vào
/var
để nó có thể bắt đầu khi khởi động lại:sudo mv metabase.jar /var/metabase.jar
Reverse Proxy với NGINX
-
Cài đặt NGINX
sudo apt install nginx
-
Tạo tệp cấu hình NGINX mới với cài đặt bên dưới cài đặt
server_name
bằng FDQN hoặc địa chỉ IP công cộng của bạn:- Tệp:/ etc / nginx / conf.d / metabase.conf
-
1 2 3 4 5 6 7 8 9 10 11 12 13 14
server { listen 80; listen [::]:80; server_name _; location / { proxy_pass http://localhost:3000/; proxy_redirect http://localhost:3000/ $scheme://$host/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; } }
-
Xác minh rằng không có vấn đề gì với cấu hình:
sudo nginx -t
-
Khởi động lại NGINX:
sudo systemctl restart nginx
Tải xuống Cơ sở dữ liệu MySQL mẫu
Cơ sở dữ liệu kiểm tra nhân viên là một cơ sở dữ liệu mẫu có thể được tải vào MySQL. Cơ sở dữ liệu bao gồm dữ liệu về nhân viên và tiền lương với hơn 2,8 triệu mục nhập, kích thước này giúp nó hữu ích cho việc thử nghiệm theo một cách không tầm thường.
-
Cài đặt git:
sudo apt install git
-
Sao chép kho chứa cơ sở dữ liệu thử nghiệm:
git clone https://github.com/datacharmer/test_db.git
-
Điều hướng vào kho lưu trữ nhân bản:
cd test_db
-
Tải
employees.sql
vàometabase_example
cơ sở dữ liệu và nhập mật khẩu người dùng cơ sở dữ liệu khi được nhắc:mysql -u metabase_user -p employees < employees.sql
Bảng điều khiển sẽ in ra các bảng được tải cũng như tổng thời gian để hoàn thành.
Enter password: INFO CREATING DATABASE STRUCTURE INFO storage engine: InnoDB INFO LOADING departments INFO LOADING employees INFO LOADING dept_emp INFO LOADING dept_manager INFO LOADING titles INFO LOADING salaries data_load_time_diff 00:00:52
Biến môi trường
-
Tạo một tệp văn bản mới chứa các biến môi trường cho Metabase:
- Tệp:metabase -env
-
1 2 3 4 5 6
export MB_DB_TYPE=mysql export MB_DB_DBNAME=employees export MB_DB_PORT=3306 export MB_DB_USER=metabase_user export MB_DB_PASS=password export MB_DB_HOST=localhost
-
Tải các biến môi trường này:
source metabase-env
Đặt Metabase thành Start khi khởi động lại
-
Kiểm tra đường dẫn của tệp nhị phân JDK của bạn:
which java
Điều này sẽ in ra một đường dẫn như
/usr/bin/java
. -
Tạo tệp cấu hình systemd để đảm bảo Metabase chạy khi khởi động.
ExecStart=
nên đặt thành đường dẫn JDK từ phía trên. Đảm bảo thay thếUser
với tên người dùng Unix của bạn:- Tệp:/ etc / systemd / system / metabase.service
-
[Unit] Description=Metabase server After=syslog.target After=network.target[Service] User=username Type=simple [Service] ExecStart=/usr/bin/java -jar /var/metabase.jar Restart=always StandardOutput=syslog StandardError=syslog SyslogIdentifier=metabase [Install] WantedBy=multi-user.target
-
Áp dụng các thay đổi:
sudo systemctl start metabase
-
Kiểm tra xem Metabase đang hoạt động:
sudo systemctl status metabase
Quy tắc tường lửa
Lưu ý Dịch vụ Tường lửa đám mây miễn phí của Linode có thể được sử dụng để thay thế hoặc bổ sung cho cấu hình tường lửa nội bộ. Để biết thêm thông tin về Cloud Firewall, hãy xem hướng dẫn Bắt đầu với Cloud Firewall của chúng tôi. Để được trợ giúp giải quyết các vấn đề chung về tường lửa, hãy xem hướng dẫn Khắc phục sự cố Tường lửa.
UFW rất tốt để ngăn chặn truy cập trái phép vào cơ sở dữ liệu của bạn. Mặc định hợp lý là cho phép cổng 80/443 và SSH:
sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh
sudo ufw enable
Kiểm tra các quy tắc tường lửa:
sudo ufw status
Giao diện siêu dữ liệu
Metabase hiện có thể truy cập trên trình duyệt trên địa chỉ IP công khai của Linode của bạn.
-
Lần đầu tiên bạn cố gắng truy cập, sẽ mất một khoảng thời gian vì cơ sở dữ liệu MySQL cần phải di chuyển:
-
Tạo tài khoản:
-
Nhập thông tin cơ sở dữ liệu hoặc bỏ qua phần này rồi thêm thông tin sau từ Bảng điều khiển quản trị:
-
Từ menu thả xuống trên cùng bên phải, chọn Bảng điều khiển quản trị, sau đó nhấp vào Mô hình dữ liệu trên menu trên cùng.
-
Ở bên trái, chọn lương để xem thông tin về bảng, chẳng hạn như khóa ngoại và tên cột. Nhấp vào Thêm phân đoạn :
-
Tạo bộ lọc để xem tất cả nhân viên có mức lương lớn hơn 50.000 đô la (Metabase cho phép bạn tạo bộ lọc này mà không cần viết SQL):
-
Xem kết quả:
Metabase có nhiều chức năng hơn mà bạn có thể khám phá. Tham khảo tài liệu chính thức về các trường hợp sử dụng khác với Metabase.
Thông tin khác
Bạn có thể muốn tham khảo các nguồn sau đây để biết thêm thông tin về chủ đề này. Mặc dù những điều này được cung cấp với hy vọng rằng chúng sẽ hữu ích, xin lưu ý rằng chúng tôi không thể đảm bảo tính chính xác hoặc kịp thời của các tài liệu được lưu trữ bên ngoài.
- Trang web MySQL Chính thức
- Siêu dữ liệu
- Cơ sở dữ liệu kiểm tra nhân viên