Mục lục:

Cài đặt và thiết lập Shinken Network Monitor trên Raspberry Pi: 14 bước
Cài đặt và thiết lập Shinken Network Monitor trên Raspberry Pi: 14 bước

Video: Cài đặt và thiết lập Shinken Network Monitor trên Raspberry Pi: 14 bước

Video: Cài đặt và thiết lập Shinken Network Monitor trên Raspberry Pi: 14 bước
Video: LearnRaspberry(P1): Tất tần tận cài đặt & thiết lập Raspberry chi tiết, không cần màn hình rời 2024, Tháng mười một
Anonim
Cài đặt và thiết lập Shinken Network Monitor trên Raspberry Pi
Cài đặt và thiết lập Shinken Network Monitor trên Raspberry Pi

LƯU Ý: shinken được cập nhật lần cuối vào tháng 3 năm 2016 lên bản phát hành ổn định 2.4.3. Vì vậy, vài năm trước, tôi đã chuyển sang các cách khác để giám sát mạng gia đình. Ngoài ra, php5 dường như không có sẵn

Vì vậy, vui lòng không sử dụng hướng dẫn này!

Cài đặt và thiết lập phiên bản mới nhất của shinken Network Monitor cho gia đình hoặc doanh nghiệp nhỏ.

Tại nơi làm việc, nhóm của tôi phát triển phần mềm cho hơn 75 lớp máy chủ, với hơn 300 phiên bản ở nhiều trung tâm dữ liệu và các điểm hiện diện. Có một nhóm vận hành giàu kinh nghiệm giám sát và giữ cho các máy chủ này hoạt động 24x7. Tôi không có bất cứ điều gì gần với kiến thức hoặc chuyên môn của họ. Ngoài bản thân tôi, tôi không có ai hỗ trợ mạng gia đình của tôi. Và, tôi muốn không mất thời gian giám sát và bảo trì mạng gia đình của mình.

Mạng LAN tại nhà của tôi có hơn 40 thiết bị được kết nối, con số này lớn hơn nhiều so với những gì tôi từng mong đợi. Nhiều ngôi nhà, thậm chí có thể là của bạn, có một số lượng lớn các thiết bị được kết nối. Ví dụ về các thiết bị được nối mạng là:

  • máy tính xách tay và máy tính bảng
  • trình đọc sách điện tử
  • điện thoại di động
  • lồng bộ điều nhiệt, chuông cửa đổ chuông
  • hệ thống an ninh, hệ thống thủy lợi
  • TV thông minh, đầu thu U-question và DVR
  • máy chủ phương tiện truyền trực tuyến (Apple TV, Roku, ChromeCast FireStick)
  • dự án tự động hóa nhà raspberry pi

Khi nhiều thiết bị gia đình được kết nối hơn, tôi hy vọng mạng của mình sẽ phát triển.

Tại sao một ngôi nhà nên có một màn hình mạng? Có các máy chủ và dịch vụ quan trọng trên mạng gia đình. Ví dụ về các máy chủ quan trọng bao gồm: cổng ISP, điểm truy cập không dây, hệ thống bảo mật và hệ thống tưới tiêu. Ví dụ về các dịch vụ quan trọng bao gồm: sao lưu PC hoặc MAC, đảm bảo Wi-Fi hoặc internet đang hoạt động ở tốc độ cần thiết. Để đảm bảo các dịch vụ / máy chủ quan trọng đang chạy, chúng nên được kiểm tra thủ công theo định kỳ, việc này đòi hỏi nhiều thời gian. Ngoài ra, các máy chủ sẽ được tự động kiểm tra bằng cách sử dụng một bộ giám sát mạng để cố gắng khắc phục sự cố và gửi cảnh báo nếu không thể khắc phục được.

Shinken là một Network Monitor chạy trên mọi máy tính. Trong hướng dẫn này, tôi sẽ làm cho nó chạy Raspberry Pi (2 hoặc 3) chạy Diet-Pi hoặc raspbian.

Nhiều ứng dụng giám sát mạng tuyệt vời tồn tại. Ví dụ như: SolarWinds, NetCool và nagios. Các ứng dụng này có khả năng giám sát, xác định vấn đề, tự khắc phục và gửi cảnh báo.

Nói chung, tôi đã cố gắng giữ cho mạng của mình có chi phí thấp và dễ bảo trì và cập nhật. Tôi đã thu hẹp sự tập trung của mình vào các ứng dụng mã nguồn mở được viết bằng một số ít ngôn ngữ. Các ngôn ngữ tôi chọn là: python, bash, html và css.

Shinken là một mã nguồn mở viết lại nagios trong python. Vì vậy, shinken phù hợp với giới hạn của tôi và đáp ứng nhu cầu của tôi.

Người có thể hướng dẫn cung cấp hướng dẫn từng bước nếu bạn muốn làm bằng tay. Tuy nhiên, tôi muốn một quy trình có thể lặp lại, vì vậy tôi cũng bao gồm một tập lệnh cài đặt không cần giám sát trong phụ lục, tập lệnh này thực hiện mọi thứ bằng một vài lệnh.

Bước 1: Thu thập các bộ phận

Ngoài giờ, tôi thấy các phần bên dưới hoạt động tốt nhất trong các ứng dụng của mình. Những bộ phận này đắt hơn những bộ phận có trong bộ khởi động thông thường.

Nhận các bộ phận và công cụ (giá bằng USD):

  • Raspberry Pi 2 model B (Pi 3) Element 14 $ 35 ($ 39)
  • Bộ chuyển đổi WiFi Panda 300n Amazon $ 16,99 (không cần thiết nếu sử dụng Pi 3)
  • Bộ đổi nguồn USB 5.2V 2.1A từ Amazon $ 5,99
  • Cáp Micro USB to USB 3ft từ Amazon $ 4,69
  • Cáp Ethernet CAT5e / 6 $ x.xx, phụ thuộc vào độ dài
  • Vỏ từ Amazon $ 6,99
  • SanDisk Ultra 16 GB microSDHC Class 10 với Bộ điều hợp (SDSQUAN-016G-G4A) từ Amazon $ 8,99
  • Các mặt hàng thông thường hoặc có thể tái sử dụng:

    • MacBook Pro (Tôi sử dụng MAC vì nó chạy linux làm hệ điều hành cơ bản. Tuy nhiên, có thể sử dụng PC Windows)
    • FTDI TTL-232R-RPI Cáp nối tiếp với USB từ Mouser $ 15
    • TV có cổng HDMI
    • Bàn phím USB
    • Chuột USB
    • Cáp HDMI (chỉ cần thiết ở lượt đi đầu tiên)

Ghi chú:

  • Văn bản được bao gồm trong các mảnh ghép, chẳng hạn như, ♣ thay thế-này ♣, phải được thay thế bằng một giá trị thực tế. Tất nhiên, loại bỏ các quân bích.
  • Các lệnh được biểu thị bằng $. Nếu các lệnh cắt và dán, không sao chép $.

Bước 2: Thiết lập Raspberry Pi

Sử dụng hướng dẫn này để thiết lập Raspberry Pi chạy DietPi. Nếu bạn thích, có thể sử dụng Raspbian với hướng dẫn này.

Tôi đã đổi tên máy chủ thành ♣ monitor-hostname ♣. Thay thế các mục trong ♣ bằng các giá trị thực tế.

Bước 3: Mở cửa sổ đầu cuối và đăng nhập

Trước mỗi bước sau:

  • Mở cửa sổ đầu cuối trên MacBook hoặc PC, sau đó
  • Đăng nhập vào Raspberry Pi

$ ssh pi @ ♣ raspberry-pi-ip-address ♣

Nếu bạn đã cài đặt avahi-daemon trên Raspberry Pi của mình, thì bạn có thể đăng nhập theo cách này (tôi lười và tôi không muốn nhớ địa chỉ IP):

$ ssh pi ♣ tên máy chủ ♣.local

Bước 4: Luôn nâng cấp và cập nhật

Trước khi cài đặt các gói mới trên máy chủ, hãy luôn cập nhật và nâng cấp.

  • Cập nhật danh sách gói tải xuống mới nhất từ kho thích hợp.
  • Nâng cấp cập nhật các gói
  • Autoremove xóa các gói không còn cần thiết
  • Khởi động lại là tùy chọn. Một số dịch vụ cần được khởi động lại sau khi nâng cấp. Khởi động lại là cách lười biếng để đảm bảo tất cả các dịch vụ được yêu cầu được khởi động lại đúng cách

$ sudo apt-get update -y

$ sudo apt-get nâng cấp -y $ sudo apt-get autoremove $ sudo khởi động lại

Hoặc bạn có thể bỏ qua tất cả các bước còn lại và sử dụng cài đặt không cần giám sát ở một trong các phụ lục.

Bước 5: Cài đặt phụ thuộc Shinken

Thường thì shinken chạy trên một máy chủ rất lớn và được cài đặt trên một máy ảo (VM). Một máy chủ lớn có khả năng chạy nhiều máy ảo. Máy ảo có nhiều lợi ích khi quản lý nhiều máy chủ hoặc nhiều phiên bản của cùng một máy chủ. Máy ảo sử dụng hiệu quả các tài nguyên máy chủ đắt tiền.

Một máy ảo có thể chạy trên Raspberry Pi. Tuy nhiên, nhiều lợi thế của việc chạy máy ảo trên Raspberry Pi 35 USD đã bị mất. Shinken KHÔNG yêu cầu máy ảo. Hướng dẫn này không sử dụng máy ảo.

Cài đặt các phụ thuộc shinken: sqlite3, php5, python3 và một số thư viện python:

$ sudo apt-get install sqlite3 -y

$ sudo apt-get install php5 -y $ sudo apt-get install python3 -y $ sudo apt-get install python-pip python-pycurl python-cherrypy3 python-setuptools -y

Bước 6: Cài đặt Shinken

Thêm người dùng shinken và cài đặt lắc bằng pip.

$ sudo adduser shinken

$ sudo pip cài đặt shinken $ sudo adduser shinken sudo

Phần trên cài đặt shinken và một số daemon trong /etc/init.d:

  • shinken-poller
  • chất phản ứng shinken
  • shinken-receiver
  • người lên lịch shinken
  • shinken-nhà môi giới

Bước 7: Khởi tạo và khởi động Shinken

Chỉ trong trường hợp shinken đang chạy, hãy dừng nó lại. Ngoài ra, hãy tạo một thư mục nhật ký và đặt các quyền.

$ sudo mkdir / var / log / shinken

$ sudo chmod 777 / var / log / shinken $ sudo service shinken stop

Chạy phần sau để khởi tạo và bắt đầu shinken:

$ sudo shinken --init

$ sudo /etc/init.d/shinken start

Xác minh rằng shinken được định cấu hình đúng cách:

$ / usr / bin / shinken-Arbiter -v -c /etc/shinken/shinken.cfg

Làm cho shinken bắt đầu khi khởi động

$ sudo update-rc.d shinken mặc định

Bước 8: Thiết lập và cấu hình Sqlite3

Thiết lập sqlite làm cơ sở dữ liệu shinken:

$ sudo shinken cài đặt sqlitedb

Tạo tệp cấu hình để thêm sqlite:

$ sudo nano /etc/shinken/modules/sqlitedb.cfg

Tôi đang sử dụng sqlite3. Không rõ bằng cách nào điều này ánh xạ vào sqlite3 hoặc vào một tệp DB sqlite cụ thể.

xác định mô-đun {

module_name sqlitedb module_type sqlitedb uri /var/lib/shinken/webui.db}

Thay đổi quyền đối với tệp

$ sudo chmod 777 /etc/shinken/modules/sqlitedb.cfg

Bước 9: Cài đặt giao diện người dùng web Shinken

Cài đặt giao diện người dùng web của Shinken:

$ sudo / usr / bin / shinken tìm kiếm webui

$ sudo / usr / bin / shinken cài đặt webui Lấy: webui OK webui

Chỉnh sửa cấu hình giao diện người dùng Web và thay đổi mục nhập: CHANGE_ME. Tôi không chắc nó sẽ được thay đổi thành gì. Tôi đã đổi thành một từ ngẫu nhiên.

$ sudo nano /etc/shinken/modules/webui.cfg

Chỉnh sửa môi giới chính để bao gồm các mô-đun giao diện người dùng Web

$ sudo nano /etc/shinken/brokers/broker-master.cfg

Thay đổi dòng:

mô-đun

đến

mô-đun webui

Khởi động lại shinken

$ sudo /etc/init.d/shinken khởi động lại

Bước 10: Thêm người dùng và mật khẩu

Đảm bảo có phương pháp được cài đặt để cấp phép cho người dùng shinken

$ sudo shinken cài đặt auth-cfg-password Chỉnh sửa cấu hình giao diện người dùng web của shinken

$ sudo nano /etc/shinken/modules/webui.cfg

Thay đổi để trông giống như:

mô-đun auth-cfg-password

Vince35 gợi ý rằng cần khởi động lại vào thời điểm này:

$ sudo /etc/init.d/shinken khởi động lại

Mở cửa sổ trình duyệt và đăng nhập bằng mật khẩu và tên người dùng: admin, admin. Nhập nội dung sau vào URL của trình duyệt (xóa khoảng trắng xung quanh dấu hai chấm):

♣hostname♣.local:7767

đăng nhập bằng admin, raspberry-pi-password

Và nó sẽ hoạt động!

Bước 11: Phụ lục: Tài liệu tham khảo

Giám sát mạng

Tài liệu tổng quan về giám sát mạng thú vị

Màn hình mạng

  • ngón:
  • HowToGeek.com - nguồn tuyệt vời
  • MRTG:
  • Netbeez:
  • Raspberry Pi Geek:
  • Shinken: viết lại Nagios trong python:
  • Cài đặt Shinken:
  • Thiết lập giao diện người dùng web Shinken:
  • Hệ thống GitHub:
  • Rob Layton: Thiết lập thủ công máy chủ giám sát Shinken

Bước 12: Phụ lục: Cập nhật

15OCT2016: Ảnh bìa được cập nhật để bao gồm logo Shinken và Raspberry Pi

16OCT2016: Diễn đạt lại một số đoạn. Không có thay đổi kỹ thuật.

19OCT2016: Cập nhật có hướng dẫn và UAI để bắt đầu shinken khi khởi động lại

Cải tiến trong tương lai:

Thêm các hệ thống được giám sát, trong tài liệu hướng dẫn hoặc dưới dạng phụ lục với các tập lệnh mẫu

Bước 13: Phụ lục: Khắc phục sự cố

Thay đổi quyền trên Thư mục

/ usr / bin

/etc/init.d / etc / shinken / var / lib / shinken / modules / webui / / etc / shinken / modules /

Tôi đã khởi động lại Raspberry Pi, nhưng shinken không khởi động. Tôi không thể ghi vào các thư mục nhật ký. Vì vậy, tôi đã thực hiện các thay đổi sau:

sudo mkdir / var / log / shinken

sudo chmod 777 / var / log / shinken

shinken localhost xuống

Nếu localhost hiển thị là không hoạt động.

$ sudo nano / etc / network / interface

Vì bất kỳ lý do gì, tệp / etc / network / interface của tôi thường bị lộn xộn. Thay đổi một dòng này:

auto lo iface lo inet loopback

đến hai dòng sau:

tự động lo

iface lo inet loopback

Và khởi động lại

$ sudo khởi động lại

Init.d sẽ tự động bắt đầu shinken, nhưng tôi phải làm điều này:

$ sudo /etc/init.d/shinken khởi động lại

Bước 14: Phụ lục: Cài đặt không cần giám sát

Thực hiện cài đặt và cấu hình shinken rất dễ dàng bằng cách tự động hóa các bước hướng dẫn bằng cách sử dụng tập lệnh cài đặt không cần giám sát. Tập lệnh giả định một pi raspberry chạy raspbian hoặc dietpi, được thiết lập bằng cách sử dụng một trong các liên kết nhúng.

Tôi đã hoàn thành tập lệnh trên github và

  • đã kiểm tra nguồn trên dietpi
  • đã thử nghiệm tập lệnh cài đặt không cần giám sát trên dietpi

    • chạy một lần
    • chạy nhiều lần, với CTRL-c ngắt
  • đã thử nghiệm tập lệnh cài đặt không cần giám sát trên raspbian và diet-pi

Tập lệnh giả định tên người dùng = pi và mật khẩu = raspberry, và tập lệnh đang cố gắng cài đặt shinken. Nếu những điều này không chính xác, hãy chỉnh sửa tệp cho phù hợp.

Mở cửa sổ terminal trên MacBook hoặc PC và chạy các lệnh sau:

$ ssh pi @ ♣ địa chỉ ip ♣

$ sudo wget https://raw.githubusercontent.com/dumbo25/uai_install_shinken_rpi/master/shinken_uai.sh $ sudo chmod o + x shinken_uai.sh $ sudo bash shinken_uai.sh $ sudo khởi động lại $ sudo /etc/init.d/ khởi động lại shinken

Tập lệnh mất vài phút để chạy trên diet-pi.

Đảm bảo khởi động lại Raspberry Pi và đợi cho đến khi shinken khởi động

Mở trình duyệt và trong cửa sổ URL, hãy nhập:

♣ địa chỉ ip ♣: 7767

Đăng nhập bằng quản trị viên và ♣ raspberry-pi-password ♣

Và nó sẽ hoạt động!

Đề xuất: