1,首先需要了解以下它們的概念
1)Nagios:它是一款用來監視系統和網絡的開源應用軟件,利用其眾多的插件實現對本機和遠端服務的監控,當被監控對象發生異常時,會及時向管理員告警,提供一批預設好的監控插件,用戶可以之間調用,也可以自定義Shell腳本來監控服務,適合各企業的業務監控,可通過Web頁面顯示對象狀態、日志、告警信息。
主有有5種監控狀態:WARNING警告、OK正常、PENDING正在獲取監控數據、UNKNOW監控配置錯誤、CRITICAL錯誤。
監控的服務主要有:cpu負載、登錄系統的用戶數、網頁服務、ping、根分區的空閑空間、ssh服務、交換分區的空閑空間、系統RSZDT狀態進程的總數量等
nagios監控服務的工作過程:nagios服務運行時,調用配置文件中定義的監控插件,對目標主機的資源做監控。在調用監控插件時,管理員可以設置監控時的警告值和錯誤值,nagios服務把監控到的數據和警告值、錯誤值做比較,按照以下規則顯示監控狀態:若監控到的數據小於警告值,則顯示狀態OK;若監控的數據大於警告值但小於錯誤值,則顯示狀態WARNING;若監控的數據大於錯誤值,則顯示狀態CRITICAL
2)Cacti:它是php語言實現的一款軟件,是一套基於LAMP平台展現的網絡流量監測及分析工具
工作原理:首先進行數據采集,基於SNMP技術或自定義腳本從目標設備/主機獲取監控指標信息;其次進行數據存儲,調用模板將數據存到數據庫,使用rrdtool存儲和更新數據,通過rrdtool繪制結果圖形;最后進行數據展現,通過Web方式將監控結果呈現出來
監控結構:1)C/S模式:采集監測數據 2)B/S模式:管理監測平台
3)Zabbix:它是一個高度集成的監控解決方案,可以實現企業級的開源分布式監控,通過C/S模式采集監控數據,再通過B/S模式實現Web管理
監控拓撲:Zabbix監控服務器可以通過SNMP技術或Agent采集數據,數據可以寫入MySQL、Oracle等數據庫中,服務器使用LAMP實現web前端的管理;被監控的主機需要安裝Agent,支持SNMP協議
功能:1)具備常見的商業監控軟件所具備的功能:主機性能監控、網絡設備監控、數據庫監控等;2)支持自動發現網絡設備和服務器,可以通過配置自動發現服務器規則來實現;3)支持分布式,能集中展示,管理分布式的監控點;4)編寫插件容易,可以自定義監控項,具有實時繪圖功能
2,接下來了解它們如何進行安裝部署
為方便測試監控服務器的安裝部署,以下安裝之前我們都直接關閉防火牆和SELinux
1)Nagios安裝及插件安裝(以下采用紅帽7.2系統)
第一步:需要安裝網站平台以及一些編譯工具 yum -y install httpd php gcc gcc-c++ make
第二步:需要創建nagios運行用戶和組,以及將cpache用戶添加到nagios組
useradd nagios---->groupadd nagcmd
usermod -G nagcmd nagios------>gpasswd -a apache nagcmd
第三步:編寫php文件,啟動httpd服務,客戶端進行測試
1)編寫php文件:echo "<?php phpinfo(); ?>" > /var/www/html/test.php
2)啟動httpd服務並設為開機自啟動:systemctl start httpd---->systemctl enable httpd
3)客戶端進行訪問測試:http://服務器IP地址/test.php
第四步:源碼包安裝步驟安裝提供監控服務Nagios監控軟件包
1)解壓nagios軟件包
2)配置
./configure --with-nagios-user=nagios --with-nagios-group=nagcmd --with-command-user=nagios --with-command-group=nagcmd
3)編譯及編譯安裝 make all---->make install
4)編譯安裝相關參數
安裝控制腳本make install-init---->ls /etc/rc.d/init.d/nagios
安裝權限make install-commandmode
安裝配置make install-config
部署網站配置make install-webconf----->ls /etc/httpd/conf.d/nagios.conf
安裝接口模式make install-exfoliation
第五步:源碼包安裝步驟安裝nagios-plugins監控插件
1)解壓nagios-plugins軟件包 2)進到nagios-plugin目錄下 3)配置./configure
4)編譯make 5)編譯安裝make install
第六步:創建登錄監控頁面管理員用戶nagiosadmin使用的密碼
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin--->回車輸入兩次密碼
第七步:重啟httpd服務和啟動nagios服務,並客戶端測試訪問監控服務器查看監控信息
nagios監控服務器:systemctl restart httpd---->/etc/init.d/nagios start
客戶端:http://nagios監控服務器IP地址/nagios----->輸入第七步創建的nagiosadmin用戶密碼
2)Cacti安裝
第一步:部署Cacti服務運行環境(LAMP平台、net-snmp、net-snmp-utils、rrdtool)
1)准備運行環境LAMP,裝httpd、php、mariadb、mariadb-server、php-mysql包
yum -y install httpd php mariadb mariadb-server php-mysql
2)啟動httpd和mariadb服務,查看服務端口狀態,並設置為開機自啟
systemctl start httpd---->systemctl enable httpd---->netstat -antpul | grep :80
systemctl start mariadb---->systemctl enable mairadb---->netstat -antpul | grep :3306
3)編寫php文件,測試連接數據庫,vim /var/www/html/linkdb.php,客戶端訪問連接測試
客戶端:http://Cacti服務器IP地址/linkdb.php
第二步:搭建Cacti服務器(部署源碼包、建立數據庫表、調整配置文件)
1)安裝cacti軟件,移動到網頁目錄下,並改名cacti,設置7777權限
tar -zxvf cacti-0.8.8h.tar.gz -C /var/www/html
mv /var/www/html/cacti-0.8.8h /var/www/html/cacti---->chmod -R 7777 /var/www/html/cacti
2)修改cacti監控服務配置文件/var/www/html/cacti/include/config.php,設置存儲配置信息使用庫
$database_type="mysql";//設置數據庫類型 $database_default="cactidb"; //設置存儲使用庫
$database_hostname="localhost";//cacti服務器主機名 $database_port="3306";//使用的端口
$database_ssl=false;//是否啟用ssl安全連接 $database_username="tom";//連接的用戶名,自定義
$database_password="123456";連接的密碼,自定義
3)根據上面配置文件的配置再數據庫服務器上創建授權用戶
mysql -uroot -p---->由於是第一次安裝,所以回車無密碼登錄
mysql>create database cactidb; //創建存儲使用庫
mysql>grant all on cactidb.* to tom@'localhost' identified by '123456'; //授權連接用戶
4)使用連接用戶恢復備份文件里的數據,並登錄數據庫查看存儲配置信息表
mysql -utom -p123456 cactidb < /var/www/html/cacti/cacti.sql
mysql -utom -p123456 cactidb--->回車登錄--->mysql>show tables;//查看存儲配置信息表
第三步:完成初始化安裝,登錄web頁面做初始化設置(根據網頁安裝向導進行)
1)完成依賴的軟件包(SNMP簡單網絡管理協議、rrdtool繪圖工具)
yum -y install net-snmp-* rrdtool
2)客戶端訪問web頁面做初始化配置(初始帳號密碼均為admin,首次登錄強制重設密碼,帳號名依然為admin),查看監控模板以及主機
客戶端:http://Cacti監控服務器IP地址/cacti/install
3)Zabbix安裝
第一步:部署Cacti服務運行環境(LAMP平台、net-snmp、net-snmp-utils、rrdtool)
1)准備運行環境LAMP,裝httpd、php、mariadb、mariadb-server、php-mysql包
yum -y install httpd php mariadb mariadb-server php-mysql
2)啟動httpd和mariadb服務,查看服務端口狀態,並設置為開機自啟
systemctl start httpd---->systemctl enable httpd---->netstat -antpul | grep :80
systemctl start mariadb---->systemctl enable mairadb---->netstat -antpul | grep :3306
3)編寫php文件,測試連接數據庫,vim /var/www/html/linkdb.php,客戶端訪問連接測試
第二步:創建進程運行執行者,建立存儲配置信息數據庫,並授權連接服務使用的用戶
useradd zabbix--->mysql -uroot -p---->回車無密碼登錄
mysql>create database zabbixdb;
mysql>grant all on zabbixdb.* to tom@'localhost' identified bu '123456';
第三步:安裝zabbix軟件(zabbix_server監控服務、zabbix_agent客戶端運行的服務)
1)解壓zabbix軟件包 tar -zxvf zabbix-3.2.3.tar.gz
2)進入zabbix目錄 cd zabbix-3.2.3
3)配置 ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql
4)編譯安裝 make install
第四步:使用授權用戶將存儲配置信息表導入存儲配置信息數據庫zabbixdb
mysql -utom -p123456 zabbixdb < zabbix-3.2.3/database/mysql/schema.sql
mysql -utom -p123456 zabbixdb < zabbix-3.2.3/database/mysql/images.sql
mysql -utom -p123456 zabbixdb < zabbix-3.2.3/database/mysql/data.sql
mysql -utom -p123456 zabbixdb---->mysql>show tables;
第五步:登錄管理頁面做初始化配置
1)修改配置文件/etc/php.ini,調整php進程運行信息
672行:post_max_size=16M //將8M修改為16M
384行:max_execution_time=300 //最大執行時間30改為300
394行:max_input_time=300 //服務器接受數據的時間60改為300
878行:date.timezone=Asia/Shanghai //設置時區
2)安裝服務運行依賴的軟件包,重啟httpd服務
rpm -ivh --nodeps php-bcmath-5.4.45.13.e17.remi.x86_64.rpm
rpm -ivh --nodeps php-mbstring-5.4.45-13.e17.remi.x86_64.rpm
systemctl restart httpd
3)拷貝網頁php目錄到網頁目錄/var/www/html下,並改名為zabbix,對conf賦予W權限
cp -rp zabbix-3.2.3/frontend/php /var/www/html/zabbix
chmod o+w /var/www/html/zabbix/conf //為了能正確生成配置文件zabbix.conf.php
第六步:登錄管理頁面(帳號名admin密碼zabbix),查看監控模板,已監控主機,查看監控信息
第七步:修改配置文件/usr/local/zabbix/etc/zabbix_server.conf,指定庫表密碼
87行:DBName=zabbixdb 103行:DBUser=tom 111行:DBPassword=123456
第八步:將zabbix加入系統服務,修改腳本配置文件指定路徑,並啟動zabbix_server服務
cp zabbix-3.2.3/misc/init.d/fedora/core/zabbix_server /etc/init.d
vim /etc/init.d/zabbix_server---->22行:BASEDIR=/usr/local/zabbix //修改zabbix路徑
chmod +x /etc/init.d/zabbix_server
/etc/init.d/zabbix_server start ---->netstat -antpul | grep :10051
小編這次就分享到這里,適合剛接觸linux的新手,看完會有很大的收獲噢,加油吧!