Smokeping – Phần 1 – Hướng dẫn cài đặt smokeping trên Centos 7

Hệ thống monitor là một thứ không thể thiếu đối với một doanh nghiệp. Hôm nay tôi sẽ giới thiệu với các bạn một công cụ dùng để monitor network với chi phí thấp và cấu hình khá đơn giản. Đó là công cụ Smokeping.

Giới thiệu

  • Smokeping là một phần mềm mã nguồn mở được viết bằng ngôn ngữ Perl
  • Tác giả: Tobi Oetiker
  • SmokePing là một công cụ đo độ trễ. SmokePing có thể đo lường, lưu trữ, hiển thị độ trễ và sự mất gói tin trên biểu đồ.
  • SmokePing sử dụng RRDtool để duy trì lưu trữ dữ liệu lâu dài và hiển thị lên biểu đồ một cách dễ nhìn, lấy thông tin chính xác về trạng thái của từng kết nối mạng.
  • Có thể cấu hình cảnh báo qua email
  • Chi phí triển khai thấp

Chuẩn bị

Để cài đặt smokeping, ta cần chuẩn bị một server cài đặt hệ điều hành Centos 7 trắng. Cấu hình tối thiểu 1 core CPU, 500MB RAM, 5GB disk.

Ở bài viết này tôi sẽ cài đặt smokeping trên VPS có IP 10.10.34.175

Cài đặt

Khai báo repos và các gói cần thiết :

yum -y update 
yum groupinstall "Development tools" -y
yum -y install epel-release wget curl httpd postfix

Cài đặt:

yum -y install smokeping

Cấu hình web server

Backup file config:

mv /etc/httpd/conf.d/smokeping.conf /etc/httpd/conf.d/smokeping.conf.bak

Sửa file /etc/httpd/conf.d/smokeping.conf thành nội dung như sau:

<Directory "/usr/share/smokeping" >
  Options +ExecCGI
  Require all granted
</Directory>

<Directory "/var/lib/smokeping" >
  Require all granted
</Directory>

ScriptAlias /smokeping/sm.cgi /usr/share/smokeping/cgi/smokeping.fcgi
ScriptAlias /smokeping/smokeping.cgi /usr/share/smokeping/cgi/smokeping.fcgi

Alias /smokeping/images /var/lib/smokeping/images
Alias /smokeping /usr/share/smokeping/htdocs

RedirectMatch permanent "^/smokeping/?$" "/"
RedirectMatch permanent "^/smokeping/smokeping.cgi" "/"
RedirectMatch permanent "^/smokeping/sm.cgi" "/"

Sửa file cấu hình /etc/httpd/conf/httpd.conf:

Tìm dòng DirectoryIndex index.html (dòng 164) trong file /etc/httpd/conf/httpd.conf và thay bằng dòng :

DirectoryIndex index.html smokeping.fcgi

Tìm dòng DocumentRoot "/var/www/html" (dòng 119) trong file /etc/httpd/conf/httpd.conf và thay bằng dòng:

DocumentRoot "/usr/share/smokeping/cgi"

Cấu hình smokeping

Chúng ta cấu hình ở file /etc/smokeping/config

vi /etc/smokeping/config

Ví dụ tôi có 2 site cần theo dõi là Viettel và FPT. Ở mỗi site có 2 host. Ta thêm host để theo dõi ở mục *** Targets *** (ở cuối file cấu hình) như sau:

 + Site1-Viettel

 menu = Site1-Viettel
 title = Site1-Viettel

 ++ Host1-175

 menu = Host1
 title = 10.10.34.175
 host = 10.10.34.175

 ++ Host2-176
 menu = Host2
 title = 10.10.34.176
 host = 10.10.34.176

 + Site2-FPT

 menu = Site2-FPT
 title = Site2-FPT

 ++ Host1-173

 menu = Host1
 title = 10.10.34.173
 host = 10.10.34.173

 ++ Host2-174
 menu = Host2
 title = 10.10.34.174
 host = 10.10.34.174

Chúng ta có thế thêm các host quốc tế để theo dõi:

+ GW
menu = GW
title = GW

++ CloudflareDNS

menu = Cloudflare DNS
title = Cloudflare DNS server
host = 1.1.1.1

++ GoogleDNS

menu = Google DNS
title = Google DNS server
host = 8.8.8.8

Ngoài ra, cũng có thể đặt 2 hoặc nhiều host trên cùng 1 biểu đồ để so sánh với nhau. Ví dụ ở đây tôi muốn so sánh độ trễ giữa google và cloudflare khi ping đến từ host smokeping của tôi.

++ MultiHost

menu = Multihost example
title = CloudflareDNS and Google DNS
host = /GW/CloudflareDNS /GW/GoogleDNS

Sau khi cấu hình, chúng ta thực hiện tiếp các bước sau:

Cấu hình firewalld:

systemctl start firewalld
systemctl enable firewalld
sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Khởi đông lại dịch vụ và kiểm tra kết quả trên web :

systemctl restart httpd
systemctl restart smokeping
systemctl enable httpd
systemctl enable smokeping

Kết quả:

Truy cập vào IP 10.10.34.175 trên trình duyệt và kiểm tra kết quả.

Biểu đồ khái quát của site Viettel với 2 host 10.10.34.175 và 10.10.34.176
Biểu đồ khái quát của site GW dùng để theo dõi DNS quốc tế
Click vào biểu đồ khái quát để thấy biểu đồ chi tiết. Ở đây là biểu đồ chi tiết của host Cloudflare 1.1.1.1

Kết luận

Như vậy tôi đã hướng dẫn xong cho các bạn cách cài đặt công cụ smokeping.

Ở bài viết tiếp theo tôi sẽ giới thiệu các khái niệm liên quan và cách đọc biểu đồ đối với công cụ này.

Cám ơn các bạn đã theo dõi. Chúc các bạn thành công!

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *