Tóm Tắt
Chào mừng bạn đến bài viết hơi thiên hướng dành cho Devops này. Thật ra khi công việc nhiều, bạn cần biết những công cụ tốt để giúp bạn làm việc hiệu quả hơn. Hôm nay chúng ta sẽ cùng nhau tìm hiểu về Kibana và ứng dụng của nó, mục đích của bài viết này là bạn biết thêm về kibana, cài đặt kibana cách sử dụng, ứng dụng, lợi ích ....
Kibana là một ứng dụng giao diện người dùng mở và miễn phí nằm trên Elastic Stack, cung cấp khả năng tìm kiếm và trực quan hóa dữ liệu cho dữ liệu được lập chỉ mục trong Elasticsearch.
Thường được gọi là công cụ biểu đồ cho Elastic Stack (trước đây được gọi là ELK Stack sau Elasticsearch, Logstash và Kibana), Kibana cũng hoạt động như giao diện người dùng để theo dõi, quản lý và bảo mật một cụm Elastic Stack - cũng như trung tâm tập trung cho các giải pháp tích hợp được phát triển trên Elastic Stack.
Được phát triển vào năm 2013 từ trong cộng đồng Elasticsearch, Kibana đã phát triển để trở thành cửa sổ cho chính Elastic Stack, cung cấp một cổng thông tin cho người dùng và các công ty.
Kibana là gì?
Kibana là một nền tảng phân tích hiển thị dữ liệu từ Elasticsearch một cách trực quan dễ sử dụng,Kibana cũng là một công cụ mã nguồn mở miễn phí, cho tất cả mọi người sử dụng. Kibana cung cấp các tính năng cho người dùng quản lý như biểu đồ cột, biểu đồ đường, biểu đồ tròn, biểu đồ nhiệt và nhiều loại chart khác nữa.
Kibana giá bao nhiêu? Có miễn phí không?
Kibana được sử dụng miễn phí theo giấy phép Elastic hoặc SSPL. Các tính năng miễn phí bổ sung có sẵn theo giấy phép Elastic. Dưới đây là các tính năng có sẵn miễn phí với bản phân phối mặc định của Elastic Stack:
- APM
- Canvas
- Metrics
- Logs
- Maps
- SIEM
- Stack Monitoring
- Uptime
Ngoài các tính năng miễn phí này, người dùng có thể thêm các công cụ bổ sung, tích hợp lưu trữ đám mây và đào tạo thông qua đăng ký triển khai trả phí.
Cách cài đặt Kibana trên CentOS
Cài đặt Kibana sẽ có 2 cách cài cơ bản, đó là dùng repo để cài bằng yum và cách còn lại là cài băng source, down về rồi install.
Thật ra 2 cách đều cài được, tuỳ vào nhu cầu của bạn thôi. Theo mình thì bạn nên cài bằng yum nếu mới tiếp cận và chưa rành về cách mà chúng vận hành, nhưng mình sẽ hướng dẫn cả 2 cách luôn.
À Kibana là phải dùng với Elasticsearch nhé. Xem cách cài đặt Elasticsearch tại đây nhé
Cài đặt Kibana bằng source (RPM theo cách thủ công)
RPM cho Kibana v7.12.0 có thể được tải xuống từ trang web và cài đặt như sau:
Tải RPM cho Kibana
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.12.0-x86_64.rpm
shasum -a 512 kibana-7.12.0-x86_64.rpm
# So sánh SHA do shasum sản xuất với SHA đã xuất bản.
sudo rpm --install kibana-7.12.0-x86_64.rpm
SysV init so với systemd
Kibana không được khởi động tự động sau khi cài đặt. Cách khởi động và dừng Kibana phụ thuộc vào việc hệ thống của bạn sử dụng SysV init hay systemd (được sử dụng bởi các bản phân phối mới hơn). Bạn có thể biết cái nào đang được sử dụng bằng cách chạy lệnh này:
ps -p 1
Chạy Kibana với SysV init
Sử dụng lệnh chkconfig để định cấu hình Kibana tự động khởi động khi hệ thống khởi động:
sudo chkconfig --add kibana
#Bạn có thể bắt đầu và dừng Kibana bằng lệnh dịch vụ
sudo -i service kibana start
sudo -i service kibana stop
Nếu Kibana không khởi động được vì bất kỳ lý do gì, nó sẽ in lý do không STDOUT. Các tệp nhật ký có thể được tìm thấy trong /var/log/kibana/, bạn có gặp lỗi thì vào đó mà tìm nhé.
Chạy Kibana với systemd
Để cấu hình Kibana tự động khởi động khi hệ thống khởi động, hãy chạy các lệnh sau:
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable kibana.service
Kibana có thể được bắt đầu và dừng lại như sau
sudo systemctl start kibana.service
sudo systemctl stop kibana.service
Đường dẫn cấu hình Kibana
Kibana tải cấu hình của nó từ tệp /etc/kibana/kibana.yml theo mặc định. Định dạng của tệp cấu hình này được giải thích trong Configuring Kibana.
Cài đặt kibana bằng Yum repo
Như bạn đã biết Kibana hoạt động dựa trên Elasticsearch và do ES cung cấp luôn, Vì thế mặt định trên centos sẽ không có các repo này nên bạn không thể chạy lệnh yum install như các tool khác mà trước tiên cần phải cài đặt repository của Kibana vào trước.
Bước 1: Chuẩn bị
Nếu bạn đã cài đặt Elasticsearch rồi sử dụng repo ở link https://artifacts.elastic.co/packages/7.x/yum thì không cần làm thêm bước này, vì có thể dùng cùng được.
Còn nếu bạn chưa cài đặt Elasticsearch thì phải cài thêm Kibana publickey vào.
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Tạo file repo để chuẩn bị cài đặt
touch /etc/yum.repos.d/kibana.repo
vi /etc/yum.repos.d/kibana.repo
Copy và paste nội dung bên dưới vào nhé!
[kibana-7.x]
name=Kibana 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
enabled=1
gpgcheck=1
autorefresh=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
type=rpm-md
Bước 2: Cài đặt Kibana bằng Yum
sudo yum install kibana -y
# Sử dụng yum trên CentOS và các bản phân phối dựa trên Red Hat cũ hơn.
sudo dnf install kibana
# Sử dụng dnf trên Fedora và các bản phân phối Red Hat mới hơn khác.
sudo zypper install kibana
# Sử dụng zypper trên các bản phân phối dựa trên OpenSUSE
Bước 3: Khởi động, sử dụng
sudo systemctl start kibana
Khởi động cùng hệ thống, nếu có restart server thì Kibana sẽ tự động chạy cùng, ko cần start nữa, lệnh này chắc ai cũng nắm rồi nhỉ?
sudo systemctl enable kibana #Centos 7
chkconfig kibana on #Centos 6
Kibana được sử dụng để làm gì?
Sự tích hợp chặt chẽ của Kibana với Elasticsearch và Elastic Stack lớn hơn khiến nó trở nên lý tưởng để hỗ trợ những điều sau:
Tìm kiếm, xem và trực quan hóa dữ liệu được lập chỉ mục trong Elasticsearch và phân tích dữ liệu thông qua việc tạo biểu đồ thanh, biểu đồ hình tròn, bảng, biểu đồ và bản đồ.
Chế độ xem bảng điều khiển kết hợp các yếu tố hình ảnh này sau đó được chia sẻ qua trình duyệt để cung cấp chế độ xem phân tích thời gian thực thành khối lượng dữ liệu lớn để hỗ trợ các trường hợp sử dụng như:
- Ghi nhật ký và phân tích nhật ký
- Các chỉ số cơ sở hạ tầng và giám sát container
- Giám sát hiệu suất ứng dụng (APM)
- Phân tích và hiển thị dữ liệu không gian địa lý
- Phân tích bảo mật
- Phân tích kinh doanh
Giám sát, quản lý và bảo mật một phiên bản Elastic Stack thông qua giao diện web.
Tập trung quyền truy cập cho các giải pháp tích hợp được phát triển trên Elastic Stack cho khả năng quan sát, bảo mật và các ứng dụng tìm kiếm doanh nghiệp.
Tìm kiếm và trực quan hóa dữ liệu trong Kibana hoạt động như thế nào?
Kibana cho phép phân tích trực quan dữ liệu từ một chỉ mục Elasticsearch hoặc nhiều chỉ số. Các chỉ số được tạo khi Logstash (một công ty nhập quy mô lớn) hoặc Beats (một tập hợp những người gửi dữ liệu cho một mục đích duy nhất) nhập dữ liệu không có cấu trúc từ các tệp nhật ký và các nguồn khác và chuyển đổi nó thành một định dạng có cấu trúc cho các chức năng lưu trữ và tìm kiếm của Elasticsearch.
Giao diện của Kibana cho phép người dùng truy vấn dữ liệu trong chỉ số Elasticsearch và sau đó trực quan hóa kết quả thông qua các tùy chọn biểu đồ tiêu chuẩn hoặc các ứng dụng tích hợp sẵn như Ống kính, Canvas và Bản đồ. Người dùng có thể chọn giữa các loại biểu đồ khác nhau, thay đổi tổng hợp các số và lọc theo các phân đoạn dữ liệu cụ thể.
Kibana dashboard là gì?
Trang tổng quan Kibana là một tập hợp các biểu đồ, đồ thị, số liệu, tìm kiếm và bản đồ đã được thu thập cùng nhau vào một ngăn duy nhất. Trang tổng quan cung cấp thông tin chi tiết nhanh chóng về dữ liệu từ nhiều góc độ và cho phép người dùng đi sâu vào chi tiết.
Làm thế nào để tạo Dashboard Kibana?
Để tạo trang tổng quan trong Kibana, người dùng phải lập chỉ mục dữ liệu trong Elasticsearch và đã tạo sẵn tìm kiếm, hình ảnh hóa hoặc bản đồ. Từ bên trong Kibana, nhấp vào Trang tổng quan trong điều hướng bên. Khi mở giao diện Trang tổng quan, tổng quan về các trang tổng quan hiện có sẽ được trình bày. Nếu không có trang tổng quan, có thể thêm các tập dữ liệu mẫu, bao gồm các trang tổng quan được tạo sẵn.
Để tạo trang tổng quan, người dùng có thể làm theo các bước sau:
- Trong điều hướng bên, nhấp vào Dashboard.
- Nhấp vào Create new dashboard.
- Nhấp vào Add.
- Sử dụng Add Panels để thêm hình ảnh trực quan và các tìm kiếm đã lưu vào dashboard. Nếu có một số lượng lớn các hình ảnh trực quan, danh sách có thể được lọc.
Nếu có biểu tượng chỉ đọc trong tiêu đề, điều này cho biết rằng người dùng không có đủ quyền để tạo, chỉnh sửa hoặc lưu trang tổng quan. Quản trị viên Kibana có thể thay đổi các cài đặt quyền này trên cơ sở cá nhân hoặc nhóm.
Kibana Lens
Kibana Lens là một công cụ tích hợp được thiết kế để cho phép truy cập nhanh hơn vào thông tin chi tiết về dữ liệu cho cả người dùng có kinh nghiệm và chưa quen. Lens có giao diện kéo và thả để đơn giản hóa quá trình khám phá dữ liệu Elasticsearch và xây dựng hình ảnh. Ống kính hỗ trợ việc tạo biểu đồ với các đề xuất thông minh cung cấp các cách thay thế để trực quan hóa dữ liệu dựa trên phương pháp hay nhất về phân tích dữ liệu và các kiểu sử dụng phổ biến.
Với Kibana Lens, người dùng có thể:
- Khám phá dữ liệu trong chỉ mục Elasticsearch với tương tác chương trình tối thiểu
- Kéo và thả các trường dữ liệu để tạo nhiều trực quan hóa dữ liệu
- Tìm kiếm đồng thời trên nhiều chỉ số Elasticsearch để so sánh trong cùng một hình ảnh trực quan
- Tùy chỉnh trực quan hóa dữ liệu bằng cách chuyển đổi các loại biểu đồ và thay đổi tổng hợp trong thời gian thực
- Tạo trực quan hóa dữ liệu tương tác mà không cần mã hoặc trải nghiệm trước đó bằng Kibana
Kibana Canvas
Canvas là một ứng dụng trình bày và trực quan hóa dữ liệu trong Kibana. Với Canvas, dữ liệu trực tiếp có thể được lấy trực tiếp từ Elasticsearch và kết hợp với màu sắc, hình ảnh, văn bản và các tùy chọn tùy chỉnh khác để tạo hiển thị động, nhiều trang.
Với Canvas, người dùng có thể:
- Tạo và cá nhân hóa không gian làm việc với hình nền, đường viền, màu sắc, phông chữ, v.v.
- Tùy chỉnh bàn làm việc với các trực quan hóa tùy chỉnh, chẳng hạn như hình ảnh và văn bản
- Tùy chỉnh dữ liệu bằng cách kéo trực tiếp từ Elasticsearch
- Hiển thị dữ liệu với biểu đồ, đồ thị, trình theo dõi tiến trình và hơn thế nữa
- Tập trung vào dữ liệu mong muốn để hiển thị với các bộ lọc
Chúc các bạn có thêm nhiều kiến thúc về Kibana, công cụ tuyệt vờ, Trong series này tôi sẽ viết các bài khác gồm:
- Grafana là gì ? Hướng dẫn cài đặt Grafana cho DevOps tối ưu hiệu năng
- MongoDB là gì? Cách cài đặt và tìm hiểu cơ bản về MongoDB
- Redis là gì? Tại sao cần hiểu và sử dụng Redis để tối ưu hiệu xuất
- Apache Solr: Hướng dẫn cài đặt và cách sử dụng Apache Solr
- Lucene là gì? Tìm hiểu về Lucene và Elasticsearch
- Logstash là gì? Cài đặt sử dụng và làm chủ Logstash trong 1 bài viết