Giám sát máy chủ với Shinken trên Ubuntu 16.04

theanh

Administrator
Nhân viên
Shinken là một khuôn khổ giám sát mạng và máy tính nguồn mở được viết bằng python và tương thích với Nagios. Shinken có thể được sử dụng trên tất cả các hệ điều hành có thể chạy các ứng dụng python như Linux, Unix và Windows. Shinken được Jean Gabes viết như một bằng chứng khái niệm cho một kiến trúc Nagios mới, nhưng nó đã bị tác giả Nagios từ chối và trở thành một công cụ giám sát hệ thống và mạng độc lập vẫn tương thích với Nagios.

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt Shinken từ nguồn và thêm máy chủ Linux vào hệ thống giám sát. Tôi sẽ sử dụng Ubuntu 16.04 Xenial Xerus làm hệ điều hành cho máy chủ Shinken và máy chủ được giám sát.


Bước 1 - Cài đặt Shinken Server​

Shinken là một khuôn khổ python, chúng ta có thể cài đặt nó bằng pip hoặc cài đặt nó từ nguồn. Ở bước này, chúng ta sẽ cài đặt Shinken từ nguồn.

Có một số tác vụ phải hoàn thành trước khi chúng ta bắt đầu cài đặt Shinken.

Cài đặt một số gói python mới và tạo người dùng Linux có tên "shinken":
Mã:
sudo apt-get install python-setuptools python-pip python-pycurl
useradd -m -s /bin/bash shinken
Tải xuống nguồn Shinken từ kho lưu trữ GitHub:
Mã:
git clone https://github.com/naparuba/shinken.git
cd shinken/
Sau đó cài đặt Shinken bằng lệnh bên dưới:
Mã:
git checkout 2.4.3
python setup.py install
Tiếp theo, để có kết quả tốt hơn, chúng ta cần cài đặt 'python-cherrypy3' từ kho lưu trữ ubuntu:
Mã:
sudo apt-get install python-cherrypy3
Bây giờ Shinken đã được cài đặt, tiếp theo chúng ta thêm Shinken để bắt đầu khi khởi động và khởi động nó:
Mã:
update-rc.d shinken defaults
systemctl start shinken

Bước 2 - Cài đặt Shinken Webui2​

Webui2 là giao diện web Shinken có sẵn từ shinken.io. Cách dễ nhất để cài đặt Sshinken webui2 là sử dụng lệnh CLI shinken (phải được thực thi với tư cách là người dùng shinken).

Đăng nhập vào người dùng shinken:
Mã:
su - shinken
Khởi tạo tệp cấu hình shinken - Lệnh sẽ tạo một cấu hình mới .shinken.ini:
Mã:
shinken --init
Và cài đặt webui2 bằng lệnh CLI shinken này:
Mã:
shinken install webui2


Webui2 đã được cài đặt, nhưng chúng ta cần cài đặt MongoDB và một gói python khác bằng pip. Chạy lệnh bên dưới với tư cách là root:
Mã:
sudo apt-get install mongodb
pip install pymongo>=3.0.3 requests arrow bottle==0.12.8
Tiếp theo, hãy vào thư mục shinken và thêm mô-đun webui2 mới bằng cách chỉnh sửa tệp 'broker-master.cfg':
Mã:
cd /etc/shinken/brokers/
vim broker-master.cfg
Thêm tùy chọn mới bên trong mô-đun ở dòng 40:
Mã:
modules webui2
Lưu tệp và thoát khỏi trình chỉnh sửa.

Bây giờ hãy vào thư mục contacts và chỉnh sửa tệp 'admin.cfg' cho cấu hình quản trị viên.
Mã:
cd /etc/shinken/contacts/
vim admin.cfg
Thay đổi các giá trị hiển thị bên dưới:
Mã:
contact_name admin # Tên người dùng 'admin'
mật khẩu yourpass # Mật khẩu 'mypass'
Lưu và thoát.


Bước 3 - Cài đặt Nagios-plugins và các gói Shinken​

Trong bước này, chúng ta sẽ cài đặt Nagios-plugins và một số mô-đun Perl. Sau đó cài đặt các gói shinken bổ sung từ shinken.io để thực hiện giám sát.

Cài đặt Nagios-plugins và cpanminus cần thiết để xây dựng và cài đặt các mô-đun Perl:
Mã:
sudo apt-get install nagios-plugins* cpanminus
Cài đặt các mô-đun Perl này bằng lệnh cpanm:
Mã:
cpanm Net::SNMP
cpanm Time::HiRes
cpanm DBI
Bây giờ hãy tạo liên kết mới cho tệp utils.pm để shinken thư mục và tạo một thư mục mới cho Log_File_Health:
Mã:
chmod u+s /usr/lib/nagios/plugins/check_icmp
ln -s /usr/lib/nagios/plugins/utils.pm /var/lib/shinken/libexec/
mkdir -p /var/log/rhosts/
touch /var/log/rhosts/remote-hosts.log
Tiếp theo, cài đặt các gói shinken sshlinux-snmp để giám sát các nguồn SSH và SNMP từ shinken.io:
Mã:
su - shinken
shinken install ssh
shinken install linux-snmp

Bước 4 - Thêm Máy chủ Linux/host-one mới​

Chúng tôi sẽ thêm một máy chủ Linux mới sẽ được giám sát bằng cách sử dụng máy chủ Ubuntu 16.04 có địa chỉ IP 192.168.1.121 và tên máy chủ 'host-one'.

Kết nối với máy chủ Linux-one:
Mã:
ssh [emailprotected]
Cài đặt các gói snmp và snmpd từ kho lưu trữ Ubuntu:
Mã:
sudo apt-get install snmp snmpd
Tiếp theo, chỉnh sửa tệp cấu hình 'snmpd.conf' bằng vim:
Mã:
vim /etc/snmp/snmpd.conf
Bình luận dòng 15 và bỏ bình luận dòng 17:
Mã:
#agentAddress udp:127.0.0.1:161
agentAddress udp:161,udp6:[::1]:161
Bình luận dòng 51 và 53, sau đó thêm cấu hình dòng mới bên dưới:
Mã:
#rocommunity mypass default -V systemonly
#rocommunity6 mypass default -V systemonly
 
rocommunity mypass
Lưu và thoát.

Bây giờ hãy khởi động dịch vụsnmpd bằng lệnh systemctl:
Mã:
systemctl start snmpd
Đi đến máy chủ shinken và định nghĩa máy chủ mới bằng cách tạo một tệp mới trong thư mục 'hosts'.
Mã:
cd /etc/shinken/hosts/
vim host-one.cfg
Dán cấu hình bên dưới:
Mã:
define host{
 use generic-host,linux-snmp,ssh
 contact_groups admins
 host_name host-one
 address 192.168.1.121
 _SNMPCOMMUNITY mypass # SNMP Pass Config trên snmpd.conf
 }
Lưu và thoát.

Chỉnh sửa cấu hình SNMP trên máy chủ Shinken:
Mã:
vim /etc/shinken/resource.d/snmp.cfg
Đổi 'public' thành 'mypass' - phải là cùng một mật khẩu mà bạn đã sử dụng trong tệp cấu hình snmpd trên máy chủ host-one của máy khách.
Mã:
$SNMPCOMMUNITYREAD$=mypass
Lưu và thoát.

Bây giờ hãy khởi động lại cả hai máy chủ - máy chủ Shinken và máy chủ Linux được giám sát:
Mã:
khởi động lại
Máy chủ Linux mới đã được thêm thành công vào máy chủ Shinken.


Bước 5 - Truy cập Shinken Webui2​

Truy cập Shinken webui2 trên cổng 7677 (thay thế IP trong URL bằng IP của bạn):

http://192.168.1.120:7767

Đăng nhập bằng người dùng admin và mật khẩu của bạn (mật khẩu mà bạn đã đặt trong tệp cấu hình admin.cfg).



Bảng điều khiển Shinken trong Webui2.



2 máy chủ của chúng tôi được giám sát bằng Shinken.



Liệt kê tất cả các dịch vụ được giám sát bằng linux-snmp.



Trạng thái của tất cả các máy chủ và dịch vụ.




Bước 6 - Các sự cố thường gặp với Shinken​

- Các sự cố với máy chủ NTP

Khi bạn gặp lỗi này với NTP.
Mã:
TimeSync - QUAN TRỌNG ( NTP QUAN TRỌNG: Không có phản hồi từ máy chủ NTP)
TimeSync - QUAN TRỌNG (NTP QUAN TRỌNG: Không xác định được độ lệch)
Để giải quyết vấn đề này, hãy cài đặt ntp trên tất cả các máy chủ Linux.
Mã:
sudo apt-get install ntp ntpdate
Chỉnh sửa cấu hình ntp:
Mã:
vim /etc/ntp.conf
Bình luận tất cả các nhóm và thay thế bằng:
Mã:
#pool 0.ubuntu.pool.ntp.org iburst
#pool 1.ubuntu.pool.ntp.org iburst
#pool 2.ubuntu.pool.ntp.org iburst
#pool 3.ubuntu.pool.ntp.org iburst
 
pool 0.id.pool.ntp.org
pool 1.asia.pool.ntp.org
pool 0.asia.pool.ntp.org
Tiếp theo, thêm một dòng mới bên trong restricted:
Mã:
# Người dùng cục bộ có thể thẩm vấn máy chủ ntp chặt chẽ hơn.
restrict 127.0.0.1
restrict 192.168.1.120 #địa chỉ IP máy chủ shinken
restrict ::1
LƯU Ý: 192.168.1.120 là địa chỉ IP máy chủ Shinken.

Lưu và thoát.

Khởi động ntp và kiểm tra bảng điều khiển Shinken:
Mã:
ntpd




- Không tìm thấy sự cố check_netint.pl


Tải xuống nguồn từ kho lưu trữ github vào thư mục lib shinken:
Mã:
cd /var/lib/shinken/libexec/
wget https://raw.githubusercontent.com/Sysnove/shinken-plugins/master/check_netint.pl
chmod +x check_netint.pl
chown shinken:shinken check_netint.pl


- Sự cố với NetworkUsage

Có thông báo lỗi:
Mã:
ERROR : Unknown interface eth\d+
Kiểm tra giao diện mạng của bạn và chỉnh sửa mẫu linux-snmp.

Trên máy chủ Ubuntu của tôi, giao diện mạng là 'enp0s8', không phải eth0, vì vậy tôi gặp lỗi này.

Chỉnh sửa các gói mẫu linux-snmp bằng vim:
Mã:
vim /etc/shinken/packs/linux-snmp/templates.cfg
Thêm giao diện mạng vào dòng 24:
Mã:
_NET_IFACES eth\d+|em\d+|enp0s8
Lưu và thoát.


Tài liệu tham khảo​

 
Back
Bên trên