Giám sát máy chủ bằng Icinga 2 và Icingaweb 2 trên CentOS 7

theanh

Administrator
Nhân viên
Icinga 2 là phần mềm giám sát OpenSource có thể mở rộng. Hướng dẫn này mô tả cách cài đặt Icinga 2 cùng với Icingaweb trên máy chủ CentOS 7.


1. Yêu cầu​

Để cài đặt hệ thống như vậy, bạn sẽ cần những thứ sau:
  • Hệ thống máy chủ tối thiểu Centos 7. Đây có thể là máy chủ được cài đặt từ đầu như mô tả trong hướng dẫn máy chủ tối thiểu Centos 7.1 hoặc máy chủ ảo hoặc máy chủ gốc từ công ty lưu trữ đã cài đặt thiết lập Centos 7 tối thiểu.
  • Kết nối Internet nhanh.

2. Ghi chú sơ bộ​

  • Trong hướng dẫn này, tôi sử dụng tên máy chủ icinga2.domain.tld với địa chỉ IP 192.168.250.100/24 và cổng 192.168.250.254. Các thiết lập này có thể khác nhau đối với bạn, vì vậy bạn phải thay thế chúng khi cần thiết.
  • Các đầu ra hiển thị ở đây chỉ là một ví dụ và có thể khác nhau trên hệ thống của bạn, tùy thuộc vào hệ thống cơ sở của bạn và các gói đã cài đặt.
  • Máy chủ cơ sở dữ liệu sẽ là maria db và sẽ được cài đặt trên cùng một máy chủ.
  • Một quản trị viên người dùng tồn tại và nằm trong danh sách sudoers.
  • Chúng tôi sẽ vô hiệu hóa SELinux cho hướng dẫn này.

3. Chuẩn bị​

Đăng nhập với tư cách là quản trị viên
Mã:
đăng nhập với tư cách là: quản trị viênMật khẩu của [emailprotected]:[administrator@icinga2 ~]$

Kiểm tra kết nối mạng​

chúng tôi sẽ kiểm tra xem kết nối internet của chúng tôi đã được thiết lập và giải quyết tên có hoạt động không:
Mã:
ping www.google.de -c3
Đầu ra sẽ như sau:
Mã:
[administrator@icinga2 ~]$ ping www.google.de -c3PING www.google.de (172.217.20.67) 56(84) byte dữ liệu.64 byte từ fra02s27-in-f3.1e100.net (172.217.20.67): icmp_seq=1 ttl=57 time=19.2 ms64 byte từ fra02s27-in-f3.1e100.net (172.217.20.67): icmp_seq=2 ttl=57 time=19.3 ms64 byte từ fra02s27-in-f3.1e100.net (172.217.20.67): icmp_seq=3 ttl=57 time=19.6 ms--- www.google.de ping statistics ---3 packet passed, 3 packet received, 0% packet loss, time 2001msrtt min/avg/max/mdev = 19.276/19.430/19.649/0.195 ms[administrator@icinga2 ~]$

Đổi thành root​

Bây giờ chúng ta sẽ tự biến mình thành root. Để thực hiện, hãy nhập:
Mã:
sudo su
Đầu ra sẽ như sau:
Mã:
[administrator@icinga2 ~]$ sudo suChúng tôi tin rằng bạn đã nhận được bài giảng thông thường từ Quản trị viên hệ thốngtại địa phương. Thường thì nó sẽ tóm gọn lại thành ba điều sau: #1) Tôn trọng quyền riêng tư của người khác. #2) Suy nghĩ trước khi nhập. #3) Quyền lực càng lớn thì trách nhiệm càng lớn.[sudo] mật khẩu cho quản trị viên:[root@icinga2 administrator]#

Cài đặt phần mềm sơ bộ​

Bây giờ chúng ta sẽ cài đặt một số phần mềm sơ bộ:
  • deltarpm sẽ giảm dung lượng cần tải xuống bằng cách kiểm tra xem chỉ có tệp khác biệt hay không, thay vì toàn bộ gói
  • nano là trình soạn thảo văn bản
  • cần có wget để tải xuống tệp từ URL
  • cần có net-tools để kiểm tra một số quy trình mạng
  • gcc là Trình biên dịch GNU
Mã:
yum -y install deltarpm
Đầu ra sẽ như sau:
Mã:
Các plugin đã tải: fastestmirrorbase | 3,6 kB 00:00:00extras | 3,4 kB 00:00:00updates | 3,4 kB 00:00:00(1/4): extras/7/x86_64/primary_db......Tổng kích thước tải xuống: 82 kKích thước đã cài đặt: 209 kĐang tải xuống các gói:cảnh báo: /var/cache/yum/x86_64/7/base/packages/deltarpm-3.6-3.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEYKhóa công khai cho deltarpm-3.6-3.el7.x86_64.rpm chưa được cài đặtdeltarpm-3.6-3.el7.x86_64.rpm | 82 kB 00:00:00Đang lấy khóa từ file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7Đang nhập khóa GPG 0xF4A80EB5: Userid: "Khóa CentOS-7 (Khóa ký chính thức của CentOS 7) " Dấu vân tay: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 Gói: centos-release-7-2.1511.el7.centos.2.10.x86_64 (@anaconda) Từ: /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7Đang chạy kiểm tra giao dịchĐang chạy thử nghiệm giao dịchKiểm tra giao dịch thành côngĐang chạy giao dịch Đang cài đặt: deltarpm-3.6-3.el7.x86_64 1/1 Đang xác minh: deltarpm-3.6-3.el7.x86_64 1/1Đã cài đặt: deltarpm.x86_64 0:3.6-3.el7Hoàn tất!
Mã:
yum -y install nano wget net-tools gcc
Đầu ra sẽ giống như:
Mã:
Các plugin đã tải: fastestmirrorbase | 3,6 kB 00:00:00extras | 3,4 kB 00:00:00updates | 3,4 kB 00:00:00(1/4): extras/7/x86_64/primary_db......Đã cài đặt: gcc.x86_64 0:4.8.5-4.el7 nano.x86_64 0:2.3.1-10.el7 net-tools.x86_64 0:2.0-0.17.20131004git.el7 wget.x86_64 0:1.14-10.el7_0.1Phụ thuộc đã cài đặt: cpp.x86_64 0:4.8.5-4.el7 glibc-devel.x86_64 0:2.17-106.el7_2.4 glibc-headers.x86_64 0:2.17-106.el7_2.4 kernel-headers.x86_64 0:3.10.0-327.13.1.el7 libmpc.x86_64 0:1.0.1-3.el7 mpfr.x86_64 0:3.1.1-4.el7Phụ thuộc đã cập nhật: glibc.x86_64 0:2.17-106.el7_2.4 glibc-common.x86_64 0:2.17-106.el7_2.4Hoàn tất!

Vô hiệu hóa SELinux​

chỉnh sửa /etc/selinux/config
Mã:
nano /etc/selinux/config
Tìm
Mã:
SELINUX=enforcing
thay đổi thành
Mã:
SELINUX=disabled
Lưu tệp


Cập nhật hệ thống và khởi động lại​

Bây giờ chúng ta sẽ cập nhật hệ thống.
Mã:
yum -y update && yum -y upgrade
Việc này có thể mất một thời gian. Sau đó khởi động lại.
Mã:
khởi động lại

4. Cài đặt icinga2 và phần mềm bổ sung​

Cài đặt kho lưu trữ bổ sung​

Sau khi hệ thống khởi động lại, hãy đăng nhập với tư cách quản trị viên và tự đưa mình vào quyền root một lần nữa.

Đổi thư mục thành /tmp
Mã:
cd /tmp
Cài đặt kho lưu trữ epel
Mã:
yum install -y epel-release
Cài đặt kho lưu trữ icinga
Mã:
rpm --import http://packages.icinga.org/icinga.key
wget http://packages.icinga.org/epel/ICINGA-release.repo -O /etc/yum.repos.d/ICINGA-release.repo
Xây dựng lại bộ đệm yum (Có thể mất một thời gian)
Mã:
yum makecache
Cài đặt icinga2, icinga2 mysql connector và các plugin nagios
Mã:
yum install -y nagios-plugins-all icinga2 icinga2-ido-mysql icinga-idoutils-libdbi-mysql

Cài đặt Apache, php và chuẩn bị php.ini​

Mã:
yum install -y httpd
Mã:
yum install -y php-cli php-pear php-xmlrpc php-xsl php-pdo php-soap php-gd php-ldap
Chỉnh sửa php.ini

Tìm
Mã:
; Xác định múi giờ mặc định được sử dụng bởi các hàm ngày; http://php.net/date.timezone;date.timezone =
thay đổi thành
Mã:
; Xác định múi giờ mặc định được sử dụng bởi các hàm ngày; http://php.net/date.timezonedate.timezone = "Europe/Berlin"
Lưu tệp

Bật Apache khi khởi động
Mã:
systemctl enable httpd
Mã:
[root@icinga2 tmp]# systemctl enable httpdĐã tạo liên kết tượng trưng từ /etc/systemd/system/multi-user.target.wants/httpd.service đến /usr/lib/systemd/system/httpd.service.
Mã:
systemctl start httpd
Kiểm tra xem Apache có đang chạy không
Mã:
netstat -nlp | grep 80
Mã:
[root@icinga2 tmp]# netstat -nlp | grep 80tcp6 0 0 :::80 :::* LISTEN 10360/httpd

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

Mã:
yum install -y mariadb-server
Mã:
systemctl start mariadb
Mã:
systemctl enable mariadb
Đầu ra:
Mã:
[root@icinga2 tmp]# systemctl enable mariadbĐã tạo liên kết tượng trưng từ /etc/systemd/system/multi-user.target.wants/mariadb.service đến /usr/lib/systemd/system/mariadb.service.
Kiểm tra xem mariadb có đang chạy không
Mã:
netstat -nlp | grep 3306
Đầu ra:
Mã:
[root@icinga2 tmp]# netstat -nlp | grep 3306tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 11623/mysqld
Đặt mật khẩu cho người dùng 'root'
Mã:
mysql -u root
Đầu ra:
Mã:
[root@icinga2 tmp]# mysql -u rootChào mừng đến với màn hình MariaDB. Các lệnh kết thúc bằng ; hoặc \g.ID kết nối MariaDB của bạn là 2Phiên bản máy chủ: 5.5.47-MariaDB MariaDB ServerBản quyền (c) 2000, 2015, Oracle, MariaDB Corporation Ab và những người khác.Nhập 'help;' hoặc '\h' để được trợ giúp. Nhập '\c' để xóa câu lệnh nhập hiện tại.MariaDB [(none)]>
Mã:
[MariaDB [(none)]> use mysql
Đầu ra:
Mã:
[MariaDB [(none)]> use mysql;Đọc thông tin bảng để hoàn thành tên bảng và tên cộtBạn có thể tắt tính năng này để khởi động nhanh hơn với -ACơ sở dữ liệu đã thay đổiMariaDB [mysql]>
Mã:
[MariaDB [(mysql)]> cập nhật người dùng đặt mật khẩu=MẬT KHẨU("root_password") trong đó Người dùng='root';
Đầu ra:
Mã:
cập nhật người dùng đặt mật khẩu=MẬT KHẨU("root_password") trong đó Người dùng='root';Truy vấn OK, 4 hàng bị ảnh hưởng (0,00 giây)Số hàng khớp: 4 Đã thay đổi: 4 Cảnh báo: 0
Mã:
[MariaDB [(mysql)]> flush privileges;
Đầu ra:
Mã:
MariaDB [mysql]> flush privileges;Truy vấn OK, 0 hàng bị ảnh hưởng (0,00 giây0
Mã:
[MariaDB [(mysql)]> exit;
Đầu ra:
Mã:
MariaDB [mysql]> thoát;Tạm biệt
Khởi động lại MariaDB
Mã:
systemctl restart mariadb

Tạo và điền dữ liệu cho icinga2​

Đăng nhập vào MySQL bằng mật khẩu root.
Mã:
mysql -u root -p
Đầu ra:
Mã:
[root@icinga2 tmp]# [root@icinga2 tmp]# mysql -u root -pNhập mật khẩu:Chào mừng đến với màn hình MariaDB. Các lệnh kết thúc bằng ; hoặc \g.ID kết nối MariaDB của bạn là 7Phiên bản máy chủ: 5.5.47-MariaDB MariaDB ServerBản quyền (c) 2000, 2015, Oracle, MariaDB Corporation Ab và những người khác.Gõ 'help;' hoặc '\h' để được trợ giúp. Gõ '\c' để xóa câu lệnh nhập hiện tại.MariaDB [(none)]>
Mã:
[MariaDB [(none)]>CREATE DATABASE icinga2;
Đầu ra:
Mã:
MariaDB [(none)]> CREATE DATABASE icinga2;Truy vấn OK, 1 hàng bị ảnh hưởng (0,00 giây)MariaDB [(none)]>
Mã:
[MariaDB [(none)]>GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga2.* TO 'icinga2'@'localhost' IDENTIFIED BY 'icinga2_password';
Đầu ra:
Mã:
MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga2.* TO 'icinga2'@'localhost' IDENTIFIED BY 'icinga2_password';Truy vấn OK, 0 hàng bị ảnh hưởng (0,00 giây)MariaDB [(none)]>
Mã:
[MariaDB [(none)]>flush privileges;;
Đầu ra:
Mã:
MariaDB [(none)]> flush privileges;Truy vấn OK, 0 hàng bị ảnh hưởng (0,00 giây)MariaDB [(none)]>
Mã:
[MariaDB [(none)]> exit;
Đầu ra:
Mã:
MariaDB [none]> exit;Tạm biệt
Điền vào cơ sở dữ liệu
Mã:
mysql -u root -p icinga2 < /usr/share/icinga2-ido-mysql/schema/mysql.sql

Sửa đổi ido-mysql.conf​

Để icinga2 kết nối với Cơ sở dữ liệu mariadb của chúng ta, chúng ta phải sửa đổi /etc/icinga2/ido-mysql.conf
Mã:
nano /etc/icinga2/features-available/ido-mysql.conf
Tìm
Mã:
/** * Thư viện db_ido_mysql triển khai chức năng IDO * cho MySQL. */thư viện "db_ido_mysql"object IdoMysqlConnection "ido-mysql" { //user = "icinga" //password = "icinga" //host = "localhost" //database = "icinga"}
đổi thành
Mã:
/** * Thư viện db_ido_mysql triển khai chức năng IDO * cho MySQL. */thư viện "db_ido_mysql"object IdoMysqlConnection "ido-mysql" { user = "icinga2" password = "icinga2_password" host = "localhost" database = "icinga2"}

Bật và khởi động icinga2 khi khởi động​

bật icinga2 khi khởi động
Mã:
systemctl enable icinga2
Đầu ra:
Mã:
[root@icinga2 tmp]# systemctl enable icinga2Đã tạo liên kết tượng trưng từ /etc/systemd/system/multi-user.target.wants/icinga2.service đến /usr/lib/systemd/system/icinga2.service.
Khởi động icinga2
Mã:
systemctl start icinga2
Để kiểm tra xem mọi thứ có hoạt động không, chúng ta sẽ thực hiện tail -f /var/log/icinga2/icinga2.log. Bạn có thể dừng đầu ra bằng cách nhấn CTRL-C.
Mã:
tail -f /var/log/icinga2/icinga2.log
Đầu ra sẽ giống như thế này
Mã:
[root@icinga2 tmp]# tail -f /var/log/icinga2/icinga2.log[2016-05-10 23:21:50 +0200] information/DbConnection: Đang tiếp tục kết nối IDO: ido-mysql[2016-05-10 23:21:50 +0200] information/ConfigItem: Đã kích hoạt tất cả các đối tượng.[2016-05-10 23:21:50 +0200] information/ConfigCompiler: Đang biên dịch tệp cấu hình: /var/lib/icinga2/modified-attributes.conf[2016-05-10 23:21:50 +0200] information/IdoMysqlConnection: Mã số phiên bản MySQL IDO: 1 (phiên bản lược đồ: '1.14.0')[2016-05-10 23:21:50 +0200] information/IdoMysqlConnection: Đã kết nối lại hoàn tất với cơ sở dữ liệu MySQL IDO trong 0,201981 giây.
Khởi động icinga2 khi khởi động:
Mã:
systemctl enable icinga2
Đầu ra:
Mã:
[root@icinga2 tmp]# systemctl enable icinga2Đã tạo symlink từ /etc/systemd/system/multi-user.target.wants/icinga2.service đến /usr/lib/systemd/system/icinga2.service.
Kích hoạt mô-đun lệnh icinga2:
Mã:
lệnh bật tính năng icinga2
Đầu ra:
Mã:
[root@icinga2 tmp]# lệnh bật tính năng icinga2Kích hoạt lệnh tính năng. Đảm bảo khởi động lại Icinga 2 để những thay đổi này có hiệu lực.
Khởi động lại icinga2
Mã:
systemctl restart icinga2
 
Back
Bên trên