Cài đặt và cấu hình Zabbix kết hợp Grafana trên CentOS 7(Phần 1)

Hệ thống giám sát là một trong những nhiệm vụ quan trọng nhất đối với người quản trị hệ thống (System administrator). Nó rất quan trọng để biết mọi thứ về hoạt động của hệ thống như tải CPU, thống kê lưu lượng mạng, sử dụng RAM, người dùng đăng nhập hệ thống, không gian đĩa hoặc các dịch vụ đang chạy…
Hệ thống máy chủ vận hành thì sẽ không tránh khỏi sẽ có những dịch vụ  không ổn định ở một thời điểm nào đó vì những nguyên do khác nhau nên người quản trị rất cần phải biết là khi nào hệ thống bị vấn đề  hoặc sự cố để có thể phòng tránh hoặc xử lý kịp thời nhằm đảm bảo dịch vụ cho khách hàng.
Trong bài này tôi sẽ  giới thiệu công cụ giám sát hệ thống Zabbix  trực quan trên nền web. Công cụ này sẽ giám sát hầu như tất cả các khía cạnh của công việc một người quản trị hệ thống phải làm.

1.Tổng quan về Zabbix

– Zabbix là một giải pháp giám sát dịch vụ hệ thống mạng phân tán mã nguồn mở nổi tiếng, có nhiều tính năng độc đáo và khả năng tùy biến cao.

– Zabbix có khả năng phục vụ cho hệ thống mạng tầm trung và lớn của doanh nghiệp với mức chi phí đầu tư vừa phải.

– Ưu điểm của Zabbix:

  + Tự động tìm và phát hiện server trong hệ thống mạng.

  + Hỗ trợ server cài đặt trên dòng OS Unix/Linux.

  + Giao diện Web tinh tế và đẹp mắt

  + Có thể thông báo sự cố qua Email, SMS,Telegram ….

  + Có báo cáo biểu đồ qua giao diện Web.

  + Linh động trong việc phân quyền người dùng.

  + Mã nguồn mở, chi phí đầu tư thấp.

  + Nhiều Plugins hỗ trợ cho nhiều dịch vụ hệ thống khác nhau.

  + Hỗ trợ monitor các máy client với nhiều loại OS khác nhau.

– Nhược điểm của Zabbix:

  + Không có giao diện web mobile hỗ trợ.

  + Không phù hợp với hệ thống mạng lớn hơn 1000+ host cần monitor. Do phát sinh vấn đề hiệu suất về PHP và Database.

  + Thiết kế templating/alerting đôi khi khá phức tạp

– Các thành phần trong hệ thống Zabbix:

  + Zabbix Server: Chịu trách nhiệm cho các hoạt động kiểm tra dịch vụ mạng từ xa, thu thập thông tin, lưu trữ, hiển thị, cảnh báo, …. để quản trị viên có thể giám sát hệ thống tốt nhất.

  + Zabbix Proxy: Là một máy chủ được dùng để quản lý các nhanh hệ thống ở xa, hoặc ở các lớp mạng khác nhau, làm nơi chứa metric tạm thời khi client gửi về nhằm giảm tải cho zabbix-server.

  + Zabbix Agent: Được setup ở phía client để thu thập các thông tin về server và gửi về zabbix-server hoặc zabbix-proxy.

  + Zabbix –Sender: Command line dùng để gửi metric cho zabbix –server hoặc zabbix-proxy.

  + Zabbix-Get: Command line để get các thông tin metric từ zabbix-agent

  + Giao diện web: Hiển thị thông tin về các server đang monitor.

2. Cơ chế hoạt động  của Zabbix

  • Zabbix có thể thu thập metric dựa vào zabbix-agent, smnp hoặc IPMI sau đó đẩy về Zabbix ser để phân tích.
  • Zabbix server dựa vào metric nhận được để tính toán, vẽ biểu đồ và cảnh báo cho người dùng dựa vào các trigger được định nghĩa.
  • Sau khi metric được zabbix server phân tích xong sẽ được đẩy vào lưu trữ trong Database.
  • Zabbix Web dùng để hiển thị các metric thông qua biểu đồ để theo dõi.

3. Yêu cầu cấu hình phần cứng
– Zabbix yêu cầu cả bộ nhớ vật lý và bộ nhớ đĩa. Tối thiểu là CPU 2Core – RAM 1GB – Disk 50GB.
– Tuy nhiên dựa vào số host và parameters monior để chọn Resource thích hợp:

 

4. Mô hình triển khai trong Zabbix
Triển khai mô hình monitor zabbix
+ Zabbix Server: Zabbix server, zabbix-web, Database.
+ Zabbix Agent gửi metric về Zabbix server từ Client hoặc qua Zabbix Proxy.

 

5. Mã hóa dữ liệu trong Zabbix
Để tránh việc bị các attacker ghe lén các metric của zabbix agent đẩy về zabbix server, zabbix hỗ trợ mã hóa các metric theo kiểu mã hóa đối xứng và mã hóa bất đối xứng. Trong hướng dẫn này tôi sẽ sử dụng loại mã hóa đối xứng sử dụng thuật toán PSK (pre-shared keys). Thuật toán này giữa agent và server sẽ sử dụng chung 1 key cho việc mã hóa và giải mã metric.

Sử dụng kiểu mã hóa “pre-shared keys”

PSK là một chuổi mã hex, ví dụ như sau:


1. Tạo PSK
Tạo một psk 32 bytes sử dụng OpenSSL:


Tạo một file /home/zabbix/zabbix_agentd.psk. và paste chuổi PSK vừa tạo vào. 1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952

Sữa file config của zabbix agent vào thêm PSK vào như sau:

TLSConnect=psk
TLSAccept=psk TLSPSKFile=/home/zabbix/zabbix_agentd.psk TLSPSKIdentity=PSK 001

Cấu hình mã hóa PSK trên Zabbix web:

+ Click: Configuration → Hosts

+ Select host vào muốn mã hóa và click chọn Encryption

+ Thêm PSK đã tạo vào.

6. Tích hợp Grafana với Zabbix

Có rất nhiều phần mềm nổi tiếng về giám sát hệ thống, giám sát mạng (PRTG, Nagios, Centreon, Cacti, Observium…). Zabbix là một phần mềm giám sát rất mạng mẽ và dễ sử dụng. Zabbix ghi lại tình trạng các thiết bị, sự cố, hiệu năng sử dụng… giúp người quản lý dễ dàng có thể theo dõi chúng. Khi gặp sự cố zabbix bắn lên cảnh báo trên trang Dashboard, gửi email, sms, chạy scripts. Graph/Screen của zabbix đủ để cho admin nắm được hiện trạng, tình hình của hệ thống / mạng. Nhưng để tối ưu nhất thì ta có thể cài đặt thêm Grafana, cho phép bạn tạo biểu đồ (customs) và bảng điều khiển từ nhiều hệ thống giám sát khác nhau.

Grafana là một dashboard hỗ trợ cho việc visualization metric. Grafana tương tác với zabbix thông qua zabbix api. Các graph được visualization rất trực quan và thân thiện. Grafana hổ trợ hiển thị time-series ở nhiều backend khác nhau như: Graphite, InfluxDB, Elasticsearch, Zabbix, ….

7.Kết Luận.

Qua bài viết trên  chúng ta đã nắm được cách zabbix  hoạt động , ưu điểm và nhược điểm  của  zabbix. Hiểu được zabbix  giám sát được những gì để có thể xử lý kịp thời thay vì các kiểu cảnh báo qua email , tin nhắn. Qua phần sau mình sẽ chỉ cách cấu hình và cài đặt zabbix 3.4.10 và grafana v5.1.4

Bình luận