目錄php
1、常見監控軟件mysql
2、Cacti概述ios
3、Cacti工做原理sql
4、cacti安裝數據庫
5、配置Cacti監控本機vim
注:本文全部軟件採用yum安裝windows
1、常見監控軟件概述安全
一、cactibash
Cacti是一套基於PHP,MySQL,SNMP及RRDTool開發的網絡流量監測圖形分析工具。服務器
簡單的說Cacti 就是一個PHP 程序。它經過使用SNMP 協議獲取遠端網絡設備和相關信息,(其實就是使用Net-SNMP軟件包的snmpget 和snmpwalk 命令獲取)並經過RRDTOOL 工具繪圖,經過PHP 程序展示出來。咱們使用它能夠展示出監控對象一段時間內的狀態或者性能趨勢圖。
二、nagios
Nagios是一款開源的免費網絡監視工具,能有效監控Windows、Linux和Unix的主機狀態,交換機路由器等網絡設置,打印機等。在系統或服務狀態異常時發出郵件或短信報警第一時間通知網站運維人員,在狀態恢復後發出正常的郵件或短信通知。
三、zabbix
zabbix是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。zabbix能監視各類網絡參數,保證服務器系統的安全運營;並提供柔軟的通知機制以讓系統管理員快速定位/解決存在的各類問題。
zabbix由2部分構成,zabbixserver與可選組件zabbix agent。zabbix server能夠經過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它能夠運行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平臺上。
2、Cacti概述
1. cacti是用php語言實現的一個軟件,它的主要功能是用snmp服務獲取數據,而後用rrdtool儲存和更新數據,當用戶須要查看數據的時候用rrdtool生成圖表呈現給用戶。所以,snmp和rrdtool是cacti的關鍵。Snmp關係着數據的收集,rrdtool關係着數據存儲和圖表的生成。
2. Mysql配合PHP程序存儲一些變量數據並對變量數據進行調用,如:主機名、主機ip、snmp團體
名、端口號、模板信息等變量。
3. snmp抓到數據不是存儲在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目錄的rra文件夾下)。rrdtool對數據的更新和存儲就是對rrd文件的處理,rrd文件是大小固定的檔案文件(Round RobinArchive),它可以存儲的數據筆數在建立時就已經定義。
3、Cacti工做原理
Cacti的工做流程:
步驟一,snmp協議收集遠程服務器的數據
步驟二,將snmp收集的數據內容保存到rrd數據庫中
步驟三,若用戶查看某臺設備上的流量或其它狀態信息
步驟四,在mysql數據庫中查找該設備對應的rra數據庫文件的名稱
步驟五,經過rrdtool命令進行繪圖便可
4、Cacti安裝
Cacti的運行環境基於LAMP環境首先安裝lamp環境
一、安裝yum源
[root@localhost ~]# yum install -y epel-release
二、同步時間
[root@localhost ~]# yum install -y ntpdate [root@localhost ~]# ntpdate time.windows.com 12 Apr 22:44:15 ntpdate[11234]: adjust time server 23.102.23.44 offset 0.109652 sec [root@localhost ~]#
三、安裝LAMP環境
使用yum安裝相關軟件包:http,php,mysql
[root@localhost ~]# yum install -y httpd php php-mysql mysql mysql-server mysql-devel php-gd libjpeg libjpeg-devel libpng libpng-devel
設置開機自啓動服務
[root@localhost ~]# chkconfig httpd on [root@localhost ~]# /etc/init.d/httpd start Starting httpd: [ OK ] [root@localhost ~]# chkconfig mysqld on [root@localhost ~]# /etc/init.d/mysqld start Starting mysqld: [ OK ] [root@localhost ~]# netstat -tunlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 2811/named tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 10947/sshd tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 2811/named tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1007/master tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 10433/snmpd tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 11490/mysqld tcp 0 0 :::80 :::* LISTEN 11345/httpd tcp 0 0 ::1:53 :::* LISTEN 2811/named tcp 0 0 :::22 :::* LISTEN 10947/sshd tcp 0 0 ::1:953 :::* LISTEN 2811/named tcp 0 0 ::1:25 :::* LISTEN 1007/master udp 0 0 0.0.0.0:161 0.0.0.0:* 10433/snmpd udp 0 0 127.0.0.1:53 0.0.0.0:* 2811/named udp 0 0 ::1:53 :::* 2811/named
測試php解析
四、安裝cacti net-snmp rrdtool
[root@localhost ~]# yum install -y cacti net-snmp net-snmp-utils rrdtool [root@localhost ~]# /etc/init.d/snmpd start [root@localhost ~]# netstat -tunlp|grep snmpd tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 10433/snmpd udp 0 0 0.0.0.0:161 0.0.0.0:* 10433/snmpd [root@localhost ~]#
五、編輯httpd配置文件
[root@localhost ~]# vim /etc/httpd/conf.d/cacti.conf