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.
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":
Tải xuống nguồn Shinken từ kho lưu trữ GitHub:
Sau đó cài đặt Shinken bằng lệnh bên dưới:
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:
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ó:
Đăng nhập vào người dùng 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:
Và cài đặt webui2 bằng lệnh CLI shinken này:
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:
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':
Thêm tùy chọn mới bên trong mô-đun ở dòng 40:
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.
Thay đổi các giá trị hiển thị bên dưới:
Lưu và thoá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:
Cài đặt các mô-đun Perl này bằng lệnh cpanm:
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:
Tiếp theo, cài đặt các gói shinken ssh và linux-snmp để giám sát các nguồn SSH và SNMP từ shinken.io:
Kết nối với máy chủ Linux-one:
Cài đặt các gói snmp và snmpd từ kho lưu trữ Ubuntu:
Tiếp theo, chỉnh sửa tệp cấu hình 'snmpd.conf' bằng vim:
Bình luận dòng 15 và bỏ bình luận dòng 17:
Bình luận dòng 51 và 53, sau đó thêm cấu hình dòng mới bên dưới:
Lưu và thoát.
Bây giờ hãy khởi động dịch vụsnmpd bằng lệnh systemctl:
Đ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'.
Dán cấu hình bên dưới:
Lưu và thoát.
Chỉnh sửa cấu hình SNMP trên máy chủ Shinken:
Đổ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.
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áy chủ Linux mới đã được thêm thành công vào máy chủ Shinken.
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ụ.
Khi bạn gặp lỗi này với NTP.
Để 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.
Chỉnh sửa cấu hình ntp:
Bình luận tất cả các nhóm và thay thế bằng:
Tiếp theo, thêm một dòng mới bên trong restricted:
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:
- 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:
- Sự cố với NetworkUsage
Có thông báo lỗi:
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:
Thêm giao diện mạng vào dòng 24:
Lưu và thoát.
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
Mã:
git clone https://github.com/naparuba/shinken.git
cd shinken/
Mã:
git checkout 2.4.3
python setup.py install
Mã:
sudo apt-get install python-cherrypy3
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
Mã:
shinken --init
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
Mã:
cd /etc/shinken/brokers/
vim broker-master.cfg
Mã:
modules webui2
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
Mã:
contact_name admin # Tên người dùng 'admin'
mật khẩu yourpass # Mật khẩu 'mypass'
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
Mã:
cpanm Net::SNMP
cpanm Time::HiRes
cpanm DBI
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
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]
Mã:
sudo apt-get install snmp snmpd
Mã:
vim /etc/snmp/snmpd.conf
Mã:
#agentAddress udp:127.0.0.1:161
agentAddress udp:161,udp6:[::1]:161
Mã:
#rocommunity mypass default -V systemonly
#rocommunity6 mypass default -V systemonly
rocommunity mypass
Bây giờ hãy khởi động dịch vụsnmpd bằng lệnh systemctl:
Mã:
systemctl start snmpd
Mã:
cd /etc/shinken/hosts/
vim host-one.cfg
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
}
Chỉnh sửa cấu hình SNMP trên máy chủ Shinken:
Mã:
vim /etc/shinken/resource.d/snmp.cfg
Mã:
$SNMPCOMMUNITYREAD$=mypass
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
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ủ NTPKhi 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)
Mã:
sudo apt-get install ntp ntpdate
Mã:
vim /etc/ntp.conf
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
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 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+
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
Mã:
_NET_IFACES eth\d+|em\d+|enp0s8