Giám sát máy chủ với Munin và Monit trên Ubuntu 16.04 LTS

theanh

Administrator
Nhân viên
Hướng dẫn này sẽ chỉ cho bạn cách giám sát máy chủ Ubuntu 16.04 bằng Munin và Monit. Munin tạo ra các biểu đồ đẹp về hầu hết mọi khía cạnh của máy chủ của bạn, trong khi Monit kiểm tra tính khả dụng của các dịch vụ như Apache, MySQL, Postfix và thực hiện hành động thích hợp như khởi động lại nếu thấy dịch vụ không hoạt động như mong đợi. Sự kết hợp của cả hai cung cấp cho bạn khả năng giám sát đầy đủ: đồ họa cho phép bạn nhận ra các sự cố hiện tại hoặc sắp xảy ra và một chương trình giám sát đảm bảo tính khả dụng của các dịch vụ được giám sát. Hướng dẫn này bao gồm hai chương (tùy chọn) về việc tích hợp Munin và Monit vào ISPConfig 3.1.


1 Lưu ý sơ bộ​

Tên máy chủ của hệ thống của chúng tôi là server1.example.com và chúng tôi có một trang web www.example.com trên đó với thư mục gốc của tài liệu /var/www/www.example.com/web.

Các bước sau đây phải được thực hiện với tư cách là người dùng root. Để trở thành người dùng root trên máy chủ của bạn, hãy chạy lệnh này:
Mã:
sudo -s
Đảm bảo hệ thống được cập nhật trước khi bạn bắt đầu cài đặt Munin, hãy chạy:
Mã:
apt-get update
apt-get upgrade
Apache được sử dụng để hiển thị các trang Munin, mô-đun apache fcgid là bắt buộc đối với tính năng thu phóng đồ thị Munin. Tôi sẽ cài đặt apache và mô-đun libapache2-mod-fcgid bằng apt.
Mã:
apt-get -y install apache2 libcgi-fast-perl libapache2-mod-fcgid
Kích hoạt mô-đun fcgid trong apache.
Mã:
a2enmod fcgid

2 Cài đặt và cấu hình Munin​

Để cài đặt Munin trên Ubuntu 16.04, hãy chạy các lệnh bên dưới:
Mã:
apt-get -y install munin munin-node munin-plugins-extra
Khi máy chủ đang chạy MySQL hoặc MariaDB, hãy kích hoạt một số plugin Munin bổ sung để theo dõi MySQL:
Mã:
cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/mysql_ mysql_
ln -s /usr/share/munin/plugins/mysql_bytes mysql_bytes
ln -s /usr/share/munin/plugins/mysql_queries mysql_queries
ln -s /usr/share/munin/plugins/mysql_slowqueries mysql_slowqueries
ln -s /usr/share/munin/plugins/mysql_threads mysql_threads
Tiếp theo, chúng ta phải chỉnh sửa tệp cấu hình Munin /etc/munin/munin.conf. Bỏ chú thích các dòng dbdir, htmldir, logdir, rundir và tmpldir (các giá trị mặc định là ổn). Chúng tôi muốn Munin sử dụng tên server1.example.com thay vì localhost.localdomain trong đầu ra HTML, do đó, chúng tôi thay thế localhost.localdomain bằng server1.example.com trong phần cây máy chủ đơn giản. Nếu không có chú thích, tệp đã thay đổi trông như thế này:
Mã:
nano /etc/munin/munin.conf
Mã:
# Tệp cấu hình ví dụ cho Munin, được tạo bởi 'make build'

# Ba biến tiếp theo chỉ định vị trí của cơ sở dữ liệu RRD
#, đầu ra HTML, nhật ký và tệp khóa/pid. Tất cả
# phải có thể ghi được bởi người dùng đang chạy munin-cron. Tất cả đều được
# mặc định theo các giá trị bạn thấy ở đây.
#
dbdir /var/lib/munin
htmldir /var/cache/munin/www
logdir /var/log/munin
rundir /var/run/munin

# Tìm kiếm các mẫu HTML ở đâu
#
tmpldir /etc/munin/templates

# Tìm kiếm các tệp www tĩnh ở đâu
#
#staticdir /etc/munin/static

# Các tệp cgi tạm thời ở đây. lưu ý rằng nó phải được ghi bởi
# người dùng cgi (thường là nobody hoặc httpd).
#
# cgitmpdir /var/lib/munin/cgi-tmp# (Chính xác là một) thư mục để bao gồm tất cả các tệp từ đó.includedir /etc/munin/munin-conf.d[...]# a simple host tree
[server1.example.com]
 address 127.0.0.1
 use_node_name yes[...]
Chúng ta sẽ tìm tệp cấu hình Apache cho Munin /etc/munin/apache.conf- tệp này định nghĩa một bí danh có tên là munin cho thư mục đầu ra HTML của munin /var/cache/munin/www, điều này có nghĩa là chúng ta có thể truy cập munin từ tất cả các trang web trên máy chủ này bằng cách sử dụng đường dẫn tương đối /munin (ví dụ: http://www.example.com/munin).



Bây giờ chúng ta sẽ chỉnh sửa tệp munin.conf cho Apache để cho phép truy cập từ các địa chỉ IP bên ngoài. Tạo bản sao lưu của tệp gốc:
Mã:
mv /etc/munin/apache24.conf/etc/munin/apache24.conf_bak
Mở tệp mới bằng trình chỉnh sửa:
Mã:
nano/etc/munin/apache24.conf
Và dán nội dung bên dưới:
Mã:
Bí danh /munin /var/cache/munin/www

 # Yêu cầu cục bộ
 Yêu cầu tất cả các tùy chọn đã cấp
 FollowSymLinks SymLinksIfOwnerMatch
 Tùy chọn Không có


ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph

 # Yêu cầu cục bộ
 Yêu cầu tất cả các tùy chọn đã cấp
 FollowSymLinks SymLinksIfOwnerMatch
 
 SetHandler fcgid-script
 
 
 SetHandler cgi-script
Khởi động lại Apache:
Mã:
service apache2 restart
Sau đó khởi động lại Munin:
Mã:
service munin-node restart
Bây giờ hãy đợi vài phút để Munin có thể tạo ra đầu ra đầu tiên của nó, sau đó hãy truy cập http://www.example.com/munin/ trong trình duyệt của bạn và bạn sẽ thấy số liệu thống kê đầu tiên:



(Đây chỉ là một phần nhỏ trong số nhiều đồ họa mà munin tạo ra...)


3 Bảo vệ thư mục đầu ra của Munin bằng mật khẩu (Tùy chọn, nhưng rất được khuyến nghị)​

Bây giờ, bạn nên bảo vệ thư mục đầu ra của munin bằng mật khẩu trừ khi bạn muốn mọi người có thể xem mọi số liệu thống kê nhỏ về máy chủ của bạn.

Để thực hiện việc này, chúng ta phải tạo tệp mật khẩu /etc/munin/munin-htpasswd. Chúng ta muốn đăng nhập bằng tên người dùng admin, vì vậy chúng ta thực hiện như sau:
Mã:
htpasswd -c /etc/munin/munin-htpasswd admin
Nhập mật khẩu cho admin. Sau đó mở /etc/munin/apache.confmột lần nữa...
Mã:
nano /etc/munin/apache24.conf
... bình luận "Require all granted" và thêm các dòng mà tôi đã đánh dấu màu đỏ:
Mã:
Alias /munin /var/cache/munin/www

 # Require local
 # Require all granted
 AuthUserFile /etc/munin/munin-htpasswd
 AuthName "Munin"
 AuthType Basic
 Require valid-user
 Options None


ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph

 # Yêu cầu cục bộ
 # Yêu cầu tất cả đã cấp
 AuthUserFile /etc/munin/munin-htpasswd
 AuthName "Munin"
 AuthType Basic
 Yêu cầu người dùng hợp lệ
 
 SetHandler fcgid-script
 
 
 SetHandler cgi-script
Sau đó khởi động lại Apache:
Mã:
service apache2 restart

4 Bật các mô-đun bổ sung trong Munin​

Lệnh Munin "munin-node-configure --suggest" có thể được sử dụng để nhận các đề xuất cho các mô-đun Munin bổ sung có thể được bật trên máy chủ. Chạy:
Mã:
munin-node-configure --suggest
Đầu ra sẽ tương tự như sau:



Cột "used" hiển thị nếu một mô-đun được bật, cột "Suggestions" hiển thị nếu máy chủ chạy một dịch vụ có thể được mô-đun này giám sát. Tạo liên kết tượng trưng cho mô-đun trong /etc/munin/plugins để bật mô-đun.

Ở đây, tôi sẽ bật các mô-đun apache_* chẳng hạn:
Mã:
cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/apache_accesses
ln -s /usr/share/munin/plugins/apache_processes
ln -s /usr/share/munin/plugins/apache_volume
Khởi động lại Munin để tải cấu hình mới.
Mã:
service munin-node restart

5 Cấu hình Munin trong ISPConfig (tùy chọn)​

Bảng điều khiển lưu trữ ISPConfig có tùy chọn hiển thị dữ liệu Munin trong mô-đun ISPConfig Monitor. Dữ liệu Munin được tải trong iframe, vì hầu hết các trình duyệt chặn nội dung được tải từ http trong trang web https, chúng ta sẽ phải tìm cách truy cập số liệu thống kê Munin qua SSL. Cách dễ nhất là sử dụng ISPConfig vhost hỗ trợ SSL cho việc này bằng cách tạo liên kết tượng trưng bên trong thư mục web ISPConfig đến thư mục dữ liệu www của Munin.
Mã:
ln -s /var/cache/munin/www /usr/local/ispconfig/interface/web/munin
Bây giờ chúng ta có thể truy cập Munin trong trình duyệt với thông qua ISPConfig apache vhost.

Bước tiếp theo là thêm cấu hình trong ISPConfig.

Đăng nhập vào ISPConfig với tư cách là người dùng Quản trị viên (admin) và vào mục Hệ thống >Cấu hình máy chủ, điền URL, tên người dùng và mật khẩu cho Munin như hiển thị bên dưới.



Đảm bảo rằng bạn sử dụng https:// và cổng 8080 trong URL munin.
 
Back
Bên trên