Hôm nay tôi sẽ walk through setup local Kibana instance kết nối remote Elasticsearch cluster. ObjectRocket for Elasticsearch instances bao gồm free hosted Kibana install, nhưng có case chạy Kibana trên local machine cung cấp flexibility thêm. Cũng, nếu chạy trên environment/service không cung cấp hosted Kibana, walkthrough này giúp dễ dàng chạy Kibana local.
Tại sao chạy local Kibana instance?
Bạn từng muốn tạo custom visualizations không share với Kibana users khác? Hoặc try new Kibana plugin không cần install trên shared Kibana instance? Chạy Kibana local làm được tất cả và hơn nữa.
Kibana không store gì locally và mặc định dùng same index để store config trong Elasticsearch cluster. Nghĩa là bạn có thể chạy bao nhiêu Kibana instances tùy thích hoặc chỉ chạy khi cần. Vì shared state/config, bạn tạo/sửa visualizations trên instance này, nội dung mới sẽ thấy trên bất kỳ Kibana instance nào connect đến cluster. Ưu điểm: collaboration tốt. Nhược điểm: mistake của một user có thể delete/modify visualizations cho tất cả users.
Nếu nhiều user dùng Kibana instance, bạn có thể chạy own instance với different index để có custom visualizations mà không rủi ro user khác đè lên. Hoặc try visualizations/plugins trên own Kibana trước khi provide access cho mọi người.
Flexibility này handy, nên bắt đầu setup.
Setup Kibana
Kibana chỉ connect Elasticsearch như bất kỳ Elasticsearch client nào, nên nếu connect được local system đến Elasticsearch, bạn có thể chạy Kibana local. Chúng tôi khuyến nghị Dockerized Kibana để minimize components cài local và keep things contained, nên ít nhất cần Docker và Docker Compose trên local system.
Sau khi Docker ready, clone local-kibana GitHub repo của chúng tôi vào directory trên system.
Tiếp theo, config included kibana.yml file theo nhu cầu. Dưới đây là copy version trong repo:
--- ## Default Kibana configuration from kibana-docker. ## from https://github.com/elastic/kibana-docker/blob/master/build/kibana/config/kibana.yml # # Kibana server name and host. You shouldn't need to change these server.name: kibana server.host: "0" # These are the settings you must set to your target Elasticsearch cluster and user. elasticsearch.url: "https://your-host.es.objectrocket.com:yourport" elasticsearch.username: "youruser" elasticsearch.password: "yourpassword" # The index Kibana should use. By default, Kibana will use an index named ".kibana". # If you want to isolate your visualizations/dashboards/index patterns from others, change This #kibana.index: ".kibana"
Trong config file, có 2 section focus: elasticsearch.* settings và kibana.index setting.
Elasticsearch.* settings xác định target Elasticsearch cluster connect. Nếu dùng ObjectRocket service, tìm mọi thứ cần thiết ở section "Connect" trong UI. Không thì set thành Elasticsearch host và username/password dùng connect Elasticsearch. Lưu ý Kibana không accept multiple Elasticsearch hostnames, nếu có multiple hosts, pick just one cho Kibana instance này.
Section thứ 2: kibana.index setting. Nếu muốn làm việc cùng visualizations/dashboards như mọi người, để nguyên. Nếu muốn custom settings, uncomment và đổi thành cái khác để bạn và người khác identify là Kibana settings của bạn.
Chạy Kibana
Bây giờ ready fire Kibana lên. Nếu service có network security/ACLs, trước hết đảm bảo connect được Elasticsearch từ local machine.
Từ local-kibana directory, chạy:
$ docker-compose build --no-cache
$ docker-compose up
Kibana mất vài phút start up và config itself, cuối cùng sẽ thấy Kibana state updated thành 'green' trong terminal. Bây giờ ready connect.
Kết nối
Kibana container up và running, navigate đến localhost:5601 trong browser. Kibana hỏi username/password (cùng user/password trong config file) một lần nữa, rồi mọi thứ load up. Nếu đổi Kibana index từ default, cũng cần setup index patterns và default index pattern lần đầu login.
Kết thúc
Đó là tất cả cần để launch local Kibana instance nhanh và dễ. Có thể tìm detailed instructions hơn trong docs của chúng tôi.