Thứ sáu, 05/05/2017 | 00:00 GMT+7

Cách cài đặt Icinga và Icinga Web trên Ubuntu 16.04

Icinga là một hệ thống giám sát open-souce linh hoạt và mạnh mẽ được sử dụng để giám sát tình trạng của các server và dịch vụ được nối mạng. Nó được dùng để giám sát tải và thời gian hoạt động của một group nhân viên web, dung lượng đĩa trống trên thiết bị lưu trữ, mức tiêu thụ bộ nhớ trên dịch vụ bộ nhớ đệm, v.v. Sau khi được cài đặt đúng cách, Icinga có thể cung cấp cho bạn cái nhìn tổng quan về trạng thái của một số lượng lớn server và dịch vụ, cũng như thông báo, lập lịch thời gian ngừng hoạt động và lưu trữ lâu dài dữ liệu hiệu suất.

Hướng dẫn này sẽ bao gồm việc cài đặt lõi Icinga, backend database của nó và giao diện Icinga Web. Cuối cùng, ta sẽ cài đặt thông báo qua email để bạn có thể nhận được cảnh báo trong hộp thư đến của bạn khi dịch vụ hoạt động sai.

Yêu cầu

Trước khi bắt đầu hướng dẫn này, bạn cần :

Bước 1 - Cài đặt Icinga

Để có được version mới nhất của Icinga, trước tiên, ta cần thêm một repository do group Icinga duy trì. Sau đó, ta sẽ cài đặt phần mềm với apt-get và chạy qua một vài màn hình cấu hình để cài đặt chương trình backend database của Icinga.

Đầu tiên, hãy download khóa ký gói của nhà phát triển Icinga và thêm nó vào hệ thống apt :

  • curl -sSL https://packages.icinga.com/icinga.key | sudo apt-key add -

Khóa này sẽ được sử dụng để tự động xác minh tính toàn vẹn của bất kỳ phần mềm nào mà ta download từ repository Icinga. Bây giờ ta cần thêm địa chỉ repository vào file cấu hình apt . Mở file bằng editor yêu thích của bạn. Ta sẽ sử dụng nano trong suốt hướng dẫn này:

  • sudo nano /etc/apt/sources.list.d/icinga.list

Thao tác này sẽ mở một file văn bản trống mới. Dán vào dòng sau:

/etc/apt/sources.list.d/icinga.list
deb https://packages.icinga.com/ubuntu icinga-xenial main 

Lưu file , sau đó làm mới cache gói của bạn:

  • sudo apt-get update

apt-get bây giờ sẽ download thông tin từ repository mà ta vừa thêm vào, làm cho các gói Icinga có sẵn để cài đặt:

  • sudo apt-get install icinga2 icinga2-ido-mysql

Thao tác này sẽ cài đặt phần mềm Icinga chính, cùng với bộ điều hợp database cho phép Icinga đưa dữ liệu lịch sử và thông tin khác vào database MySQL. Bạn sẽ thấy một vài màn hình cấu hình cho bộ điều hợp database :

  1. Bật tính năng ido-mysql của Icinga 2? ĐÚNG
  2. Cấu hình database cho icinga2-ido-mysql với dbconfig-common? ĐÚNG
  3. Sau đó, bạn sẽ được yêu cầu cài đặt password database Icinga. Tạo một password mạnh và ghi lại để sử dụng sau này. Ta cần nó khi cài đặt giao diện web.

Bây giờ ta cần thực sự kích hoạt backend database Icinga. Lệnh icinga2 có thể bật và tắt các tính năng trên dòng lệnh. Trong khi ta đang ở đó, ta cũng sẽ bật tính năng lệnh, tính năng này cuối cùng sẽ cho phép ta chạy kiểm tra tình trạng thủ công từ giao diện web.

  • sudo icinga2 feature enable ido-mysql command

Bây giờ hãy khởi động lại icinga2 để sử dụng các tính năng mới:

  • sudo systemctl restart icinga2

Và cuối cùng, hãy kiểm tra trạng thái của icinga2 đảm bảo rằng nó đang chạy đúng cách:

  • sudo systemctl status icinga2
Output
● icinga2.service - Icinga host/service/network monitoring system Loaded: loaded (/lib/systemd/system/icinga2.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2017-04-20 00:54:55 UTC; 3s ago Process: 15354 ExecStartPre=/usr/lib/icinga2/prepare-dirs /usr/lib/icinga2/icinga2 (code=exited, status=0/SUCCESS) Main PID: 15416 (icinga2) Tasks: 11 Memory: 7.7M CPU: 488ms . . .

Nếu bạn thấy Active: active (running) , Icinga đang hoạt động. Bây giờ ta đã cài đặt hệ thống lõi Icinga và backend database , đã đến lúc cài đặt và chạy giao diện web.

Bước 2 - Cài đặt giao diện web Icinga

Lõi Icinga hoàn toàn có thể cấu hình và sử dụng được mà không cần giao diện web, nhưng Icinga Web cung cấp một cái nhìn tổng quan tốt đẹp có thể duyệt qua về tình trạng của server và dịch vụ của bạn, đồng thời cho phép bạn lên lịch thời gian ngừng hoạt động, xác nhận sự cố, kích hoạt kiểm tra tình trạng theo cách thủ công và gửi thông báo. từ trình duyệt của bạn.

Hãy cài đặt Icinga Web với apt-get :

  • sudo apt-get install icingaweb2

Phần còn lại của cài đặt Icinga Web được thực hiện trong trình duyệt web, nhưng trước khi ta chuyển sang, có một cài đặt ta cần cập nhật. Icinga Web cần một múi giờ được đặt cho môi trường PHP, vì vậy hãy chỉnh sửa file cấu hình PHP:

  • sudo nano /etc/php/7.0/apache2/php.ini

Ta cần tìm một dòng cụ thể để cập nhật. Trong nano ta có thể nhấn CTRL-W để hiển thị giao diện tìm kiếm, nhập date.timezone , sau đó nhấn ENTER . Con trỏ sẽ di chuyển đến dòng mà ta cần cập nhật. Đầu tiên, bỏ comment bằng cách xóa tên đầu tiên ; dấu chấm phẩy, sau đó nhập múi giờ chính xác của bạn.
Bạn có thể tìm định dạng múi giờ chính xác trong phần múi giờ của hướng dẫn sử dụng PHP . Nó sẽ trông giống như thế này khi bạn hoàn thành:

/etc/php/7.0/apache2/php.ini
date.timezone = America/New_York 

Lưu và đóng file . Khởi động lại Apache để cập nhật:

  • sudo systemctl restart apache2

Bây giờ đã đến lúc làm việc thông qua cài đặt dựa trên trình duyệt của Incinga Web.

Bước 3 - Cài đặt giao diện web Icinga

Trước khi chuyển sang trình duyệt của bạn cho quá trình cài đặt dựa trên web, ta cần tạo mã thông báo cài đặt . Đây là khóa ta tạo trên dòng lệnh cho phép ta sử dụng công cụ cài đặt web. Ta tạo khóa này bằng lệnh icingacli :

  • sudo icingacli setup token create

Một mã thông báo ngắn sẽ được in:

Output
1558c2c0ec4572ab

Sao chép mã thông báo vào clipboard của bạn, sau đó chuyển sang trình duyệt của bạn và tải địa chỉ Web Icinga. Theo mặc định, đây là domain hoặc địa chỉ IP của server của bạn, theo sau là /icingaweb2 :

https://icinga-master.example.com/icingaweb2 

Trang  cài đặt  web Icinga

Bạn sẽ thấy màn hình cấu hình. Dán mã thông báo bạn đã sao chép vào clipboard và nhấn Tiếp theo để bắt đầu quá trình. Có nhiều trang tùy chọn để xem qua. Ta sẽ từng bước qua chúng.

Cài đặt module

Trên trang thứ hai, bạn sẽ có tùy chọn để bật một số module bổ sung cho giao diện web. Ta có thể chấp nhận một cách an toàn mặc định chỉ bật module Giám sát . Nhấn Next để tiếp tục.

Tình trạng môi trường

Trang thứ ba hiển thị trạng thái của môi trường PHP của ta . Bạn sẽ không thấy bất kỳ hộp màu đỏ nào, điều này nghĩa là có sự cố hoặc cấu hình sai. Bạn có thể thấy một số hộp màu vàng đề cập đến việc thiếu các module PostgreSQL. Ta có thể bỏ qua những điều này một cách an toàn, vì ta đang sử dụng MySQL, không phải PostgreSQL. Nhấn Next để tiếp tục.

Xác thực web Icinga

Trang thứ tư cho phép ta chọn cách ta muốn xác thực user Icinga Web. Nếu bạn muốn tích hợp với một dịch vụ LDAP để xác thực, đây sẽ là nơi để chọn. Ta sẽ sử dụng mặc định, Database , để lưu trữ user trong database MySQL của ta . Nhấn Next để tiếp tục.

Cài đặt database user

Trang thứ năm yêu cầu ta cài đặt database để lưu trữ dữ liệu user . Điều này tách biệt với database mà ta đã cài đặt trước đó trong quá trình cài đặt dòng lệnh.

Hầu hết các mặc định đều ổn, nhưng ta cũng cần chọn tên database và kết hợp user / password :

  1. Tên tài nguyên: icingaweb_db
  2. Loại database : MySQL
  3. Server : localhost
  4. Hải cổng :
  5. Tên database : icingaweb_users
  6. Tên user : icingaweb
  7. Mật khẩu: đặt và ghi lại password
  8. Bộ nhân vật:
  9. Kiên trì: bỏ chọn
  10. Sử dụng SSL: bỏ chọn

Nhấn Next để tiếp tục.

Tạo database user

Trang tiếp theo sẽ cho biết rằng database của bạn không tồn tại và bạn không có thông tin đăng nhập để tạo nó. Nhập root cho tên user , nhập password root MySQL và nhấp vào Tiếp theo để tạo database và user Icinga Web.

Đặt tên cho nhà cung cấp xác thực

Bây giờ ta cần đặt tên cho phần backend xác thực mà ta vừa tạo. Icingaweb2 mặc định là tốt. Nhấp vào Tiếp theo .

Tạo account quản trị

Bây giờ ta đã cài đặt database user của bạn , ta có thể tạo account quản trị Icinga Web đầu tiên của bạn . Chọn tên user và password và nhấp vào Tiếp theo để tiếp tục.

Tùy chọn và Lưu trữ Nhật ký

Tiếp theo, ta sẽ giới thiệu các tùy chọn về cách lưu trữ log và sở thích của user . Các giá trị mặc định là tốt và sẽ lưu trữ các tùy chọn trong database trong khi đăng nhập vào log hệ thống. Nhấn Next để tiếp tục.

Đánh giá cấu hình

Ta có một trang để xem xét tất cả các cấu hình của ta . Nhấp vào Tiếp theo để xác nhận chi tiết cấu hình và chuyển sang cấu hình module giám sát.

Giới thiệu về cấu hình giám sát

Bây giờ ta bắt đầu cấu hình module giám sát thực tế cho Icinga Web. Nhấp vào Tiếp theo để bắt đầu.

Chọn phần backend giám sát

Đầu tiên, ta chọn phần backend giám sát của bạn . Tên mặc định của icinga và loại IDO đều ổn. Điều này cho thấy rằng Icinga Web sẽ lấy thông tin từ database ido-mysql mà ta đã cấu hình trước đó khi cài đặt mọi thứ trên dòng lệnh.

Cài đặt database giám sát

Ta cần nhập chi tiết kết nối cho database ido-mysql . Ta đã tạo password này trong khi cài đặt.

Trang này có tất cả các tùy chọn giống như màn hình cài đặt database user :

  1. Tên tài nguyên: icinga_ido
  2. Loại database : MySQL
  3. Server : localhost
  4. Hải cổng :
  5. Tên database : icinga2
  6. Tên user : icinga2
  7. Mật khẩu: mật khẩu bạn đã tạo trong khi cài đặt
  8. Bộ ký tự
  9. Kiên trì: không được kiểm tra
  10. Sử dụng SSL: bỏ chọn

Nhấn Next để tiếp tục.

Chọn phương thức truyền lệnh

Tiếp theo là một dấu nhắc Command Transport . Điều này cho phép ta chỉ định cách Icinga Web sẽ chuyển các lệnh tới Icinga khi ta chạy kiểm tra sức khỏe trong giao diện web theo cách thủ công. Mặc định của Local Command File là ổn và sẽ hoạt động với tính năng lệnh mà ta đã bật lại ở Bước 1. Nhấp vào Tiếp theo để tiếp tục.

Cài đặt bảo mật giao diện giám sát

Điều này cho phép bạn chỉ định dữ liệu cần được che trong giao diện web, để ngăn bất kỳ người xem tiềm năng nào nhìn thấy password và thông tin nhạy cảm khác. Các giá trị mặc định là tốt. Nhấn Next để tiếp tục.

Tóm tắt cấu hình module giám sát

, ta được giới thiệu với một bản tóm tắt về cấu hình của ta . Nhấn Finish để hoàn tất quá trình cài đặt Icinga Web. A Xin chúc mừng! tin nhắn sẽ tải.

Nhấp vào Đăng nhập vào Icinga Web 2 và đăng nhập bằng tên user và password administrator của bạn.

Giao diện web Icinga

Giao diện chính của Icinga Web sẽ tải. Khám phá một chút và tự làm quen với giao diện. Nếu server của bạn không có không gian swap được cài đặt , bạn có thể thấy hộp Lỗi nghiêm trọng màu đỏ. Ta có thể bỏ qua điều này ngay bây giờ hoặc bạn có thể Xác nhận vấn đề bằng cách nhấp vào hộp màu đỏ, chọn Công nhận từ cột bên phải, điền vào comment và cuối cùng nhấp vào nút Xác nhận vấn đề .

Bây giờ ta đã hoàn tất việc cài đặt Icinga và Icinga Web, hãy đặt thông báo qua email.

Bước 4 - Cài đặt Email

Giám sát không quá hữu ích nếu bạn không thể nhận được cảnh báo khi có sự cố. Cấu hình mặc định của Icinga có một số tập lệnh để gửi email cho administrator , nhưng ta cần cài đặt email trên server của bạn trước khi chúng hoạt động. Cách đơn giản nhất để làm điều đó là sử dụng một chương trình có tên là ssmtp để định tuyến tất cả thư của server thông qua một server SMTP tiêu chuẩn.

Đầu tiên, hãy cài đặt ssmtp và một số tiện ích thư trợ giúp:

  • sudo apt-get install ssmtp mailutils

Và bây giờ ta chỉnh sửa file cấu hình ssmtp với các chi tiết SMTP của ta . Chúng phải được cung cấp bởi ISP, nhà cung cấp email hoặc bộ phận CNTT của bạn. Bạn cần tên user , password và địa chỉ server SMTP của bạn :

  • sudo nano /etc/ssmtp/ssmtp.conf

Sẽ có một số cấu hình hiện có trong file . Xóa nó và thay thế nó bằng cài đặt rất cơ bản này sẽ hoạt động với hầu hết các server SMTP:

/etc/ssmtp/ssmtp.conf
mailhub=mail.example.com:465 UseTLS=yes FromLineOverride=yes AuthUser=smtp_username AuthPass=smtp_password 

Lưu và đóng file . Để kiểm tra kết nối, hãy sử dụng lệnh mail :

  • echo "hello world" | mail -s "test subject" sammy@example.com

Bạn sẽ sớm thấy một email trong hộp thư đến của bạn . Bây giờ ta cần cập nhật một vài cài đặt để Icinga có thể gửi thư.

Bước 5 - Cài đặt và kiểm tra thông báo

Để thông báo qua email hoạt động, hãy cập nhật địa chỉ email mà Icinga đang gửi tới:

  • sudo nano /etc/icinga2/conf.d/users.conf

Thay đổi dòng email thành địa chỉ bạn muốn nhận thông báo tại:

/etc/icinga2/conf.d/users.conf
. . . email = "sammy@example.com" . . . 

Khởi động lại Icinga lần cuối:

  • sudo systemctl restart icinga2

Server icinga-master đã được cấu hình để gửi thông báo khi có vấn đề. Hãy gây ra một vấn đề và xem điều gì sẽ xảy ra. Ta sẽ sử dụng một lệnh có tên là stress để tăng tải của hệ thống nhằm kích hoạt cảnh báo.

Cài đặt stress :

  • sudo apt-get install stress

stress có thể thao túng tải, IO đĩa, bộ nhớ và các chỉ số hệ thống khác. Cấu hình mặc định của Icinga sẽ kích hoạt cảnh báo khi tải của hệ thống trên năm. Hãy gây ra điều đó ngay bây giờ:

  • stress --cpu 6

Quay lại giao diện Icinga Web và bạn sẽ thấy chỉ số tải từ từ tăng lên. Sau một vài lần kiểm tra, nó sẽ chuyển sang trạng thái Cảnh báo mềm . Mềm nghĩa là séc phải thất bại vài lần nữa trước khi nó được coi là trạng thái cứng , lúc đó thông báo sẽ được gửi đi. Điều này là để tránh gửi thông báo về các sự cố thoáng qua mà chúng sẽ nhanh chóng tự khắc phục.

Chờ cảnh báo đạt đến trạng thái cứng và gửi thông báo. Bạn sẽ nhận được một email với thông tin chi tiết về những gì đang xảy ra.

Nhấn CTRL-C để thoát lệnh stress . Tải hệ thống sẽ phục hồi khá nhanh và hoàn nguyên về Ok trong giao diện Icinga Web. Bạn cũng sẽ nhận được một email khác cho bạn biết rằng vấn đề đã được giải quyết.

Kết luận

Trong hướng dẫn này, ta đã cài đặt thành công Icinga và Icinga Web, bao gồm cả tính năng thông báo qua email của Icinga. Hiện tại, ta chỉ đang giám sát chính server Icinga. Tiếp tục đến với hướng dẫn tiếp theo của ta Cách Giám sát Server và Dịch vụ bằng Icinga trên Ubuntu 16.04 , nơi ta sẽ cài đặt giám sát từ xa.


Tags:

Các tin liên quan

Cách lưu trữ nhiều trang web với Nginx và HAProxy bằng LXD trên Ubuntu 16.04
2017-04-19
Cách bảo mật ứng dụng web nông dân của bạn bằng Let's Encrypt trên Ubuntu 16.04
2017-03-29
Xây dựng các thành phần web gốc với Vue.js
2017-03-16
Cách sử dụng OpenResty Web Framework cho Nginx trên Ubuntu 16.04
2017-02-28
Roundup: Thư viện thành phần ứng dụng web trên máy tính để bàn Vue.js - Cập nhật Q4 2017
2017-02-23
Cách cài đặt Django Web Framework trên Debian 8
2016-12-21
Cách triển khai ứng dụng web Falcon với Gunicorn và Nginx trên Ubuntu 16.04
2016-11-16
Giới thiệu về Ứng dụng web tiến bộ (PWA): Service Worker & Manifest
2016-11-10
Cách cài đặt Django Web Framework trên Ubuntu 16.04
2016-05-16
Cách triển khai ứng dụng web Clojure trên FreeBSD 10.2
2015-12-22