Chào các bạn,
Tiếp theo loại bài về GIẢI PHÁP GIÁM SÁT HẠ TẦNG MẠNG MIỄN PHÍ với:
- Nagios
- PNP4nagios
- Check_mk
- ....
Trong bài viết này, tôi sẽ giới thiệu về việc Tích hợp các dữ liệu monitoring vào database.
Để thực hiện việc này, chúng ta sử dụng một addon có tên là NDOUtils
Sau đây là các bước tích hợp:
- Cài đặt & cấu hình MySQL
- Thay đổi các thông số kernel
- Cài đặt và cấu hình ndoutils-2.1.3
- Khai báo Ndoutils vào Nagios
- Kiểm tra
1/ Cài đặt & cấu hình MySQL
Installing MySQL
===== CentOS 5.x / 6.x | RHEL 5.x / 6.x | Oracle Linux 5.x / 6.x =====
yum install -y mysql mysql-server mysql-develInstall MariaDB
===== CentOS 7.x | RHEL 7.x =====
yum install -y mariadb mariadb-server mariadb-devel
Start And Configure MySQL / MariaDB
service mysqld start
systemctl start mariadb.serviceConfigure it to start when the system boots:
chkconfig --add mysqld
chkconfig mysqld on
systemctl start mariadb.serviceSet root password for MySQL / MariaDB
systemctl enable mariadb.service
/usr/bin/mysqladmin -u root password 'mypassword'
Create Database
Tôi sẽ tạo tạo database với các thông tin như sau:
- Database name: nagios
- User: ndoutils
- Password: 'ndoutils_password
Kết nối vào db:
mysql -u root -p'mypassword'Thực hiện các lệnh sau:
CREATE DATABASE nagios DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'ndoutils'@'localhost' IDENTIFIED BY 'ndoutils_password';
GRANT USAGE ON *.* TO 'ndoutils'@'localhost' IDENTIFIED BY 'ndoutils_password' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
GRANT ALL PRIVILEGES ON nagios.* TO 'ndoutils'@'localhost' WITH GRANT OPTION ;
\q
Test thử kết nối:
echo 'show databases;' | mysql -u ndoutils -p'ndoutils_password' -h localhost
Kết quả kiểu vầy là ok:
Database2/ Thay đổi các thông số kernel
information_schema
nagios
test
Chúng ta cần thay đổi một vài thông số kernel để Ndoutils có thể hoạt động tốt.
Backup file cũ:
cp /etc/sysctl.conf /etc/sysctl.conf_backupTiến hành sửa một vài thông số, gõ lần lượt các lệnh sau:
sed -i '/msgmnb/d' /etc/sysctl.confKiểm tra lại thông số:
sed -i '/msgmax/d' /etc/sysctl.conf
sed -i '/shmmax/d' /etc/sysctl.conf
sed -i '/shmall/d' /etc/sysctl.conf
printf "\n\nkernel.msgmnb = 131072000\n" >> /etc/sysctl.conf
printf "kernel.msgmax = 131072000\n" >> /etc/sysctl.conf
printf "kernel.shmmax = 4294967295\n" >> /etc/sysctl.conf
printf "kernel.shmall = 268435456\n" >> /etc/sysctl.conf
sysctl -e -p /etc/sysctl.confKết quả kiểu như vầy:
net.ipv4.ip_forward = 03/ Cài đặt và cấu hình ndoutils-2.1.3
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 131072000
kernel.msgmax = 131072000
kernel.shmmax = 4294967295
kernel.shmall = 268435456
Download:
cd /tmp
wget -O ndoutils.tar.gz https://github.com/NagiosEnterprises/ndoutils/releases/download/ndoutils-2.1.3/ndoutils-2.1.3.tar.gz
tar xzf ndoutils.tar.gz
Compile NDOUtils:
cd /tmp/ndoutils-2.1.3/
./configure
make all
make install
Tích hợp vào database
cd db/
./installdb -u 'ndoutils' -p 'ndoutils_password' -h 'localhost' -d nagios
cd ..
Cấu hình ndoutils:
Có 2 file lưu trữ cấu hình của ndoutils:
- /usr/local/nagios/etc/ndomod.cfg
- /usr/local/nagios/etc/ndo2db.cfg
Chúng ta cần khai báo các thông số kết nối database:
- db_user=ndoutils
- db_pass=ndoutils_password
Sử dụng các lệnh sau:
make install-config
mv /usr/local/nagios/etc/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg
sed -i 's/^db_user=.*/db_user=ndoutils/g' /usr/local/nagios/etc/ndo2db.cfg
sed -i 's/^db_pass=.*/db_pass=ndoutils_password/g' /usr/local/nagios/etc/ndo2db.cfg
mv /usr/local/nagios/etc/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg
Cấu hình startup
make install-initStart dịch vụ
===== CentOS 6.x | RHEL 6.x
service ndo2db start===== CentOS 7.x | RHEL 7.x
systemctl enable ndo2db.service4/ Khai báo Ndoutils vào Nagios
Sau khi cấu hình xong ndoutils thì cần phải thông báo cho Nagios biết về sự có mặt của em í ^^!
Sử dụng đoạn lệnh sau:
printf "\n\n# NDOUtils Broker Module\n" >> /usr/local/nagios/etc/nagios.cfgKhởi động lại Nagios:
printf "broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg\n" >> /usr/local/nagios/etc/nagios.cfg
service nagios restart
systemctl restart nagios.service
service ndo2db restart
systemctl restart ndo2db.service5/ Kiểm tra:
Kiểm tra thử NDO module có tích hợp thành công vào Nagios hay không?
grep ndo /usr/local/nagios/var/nagios.log
Query thử dữ liệu trên database:
echo 'select * from nagios.nagios_logentries;' | mysql -u ndoutils -p'ndoutils_password'
------------------------------------------------------ THE END ------------------------------------------
Chúc may mắn ^^!
Post a Comment
Vui lòng tuân thủ một số quy tắc sau:
» Nội dung phải liên quan tới chủ đề bài viết, không spam.
» Viết bằng tiếng Việt có dấu hoặc tiếng Anh.
Hi vọng các bạn tìm được những kiến thức bổ ích khi tình cờ ghé thăm blog này.