1. 程式人生 > >Cacti 流量監控全步驟、郵件報警實現過程

Cacti 流量監控全步驟、郵件報警實現過程

一、首先是 lamp 環境,接下來我們順序安裝

[[email protected] src]# yum -y install gcc gcc-c++ make 
[[email protected] src]# tar zxf apr-1.4.6.tar.gz
[[email protected] src]# tar zxf apr-util-1.5.2.tar.gz
[[email protected] src]# tar zxf pcre-8.30.tar.gz
[[email protected] src]# tar zxf httpd-2.4.3.tar.gz

[[email protected] src]# cd apr-1.4.6
[[email protected] apr-1.4.6]# ./configure --prefix=/usr/local/apr
[[email protected] apr-1.4.6]# make && make install
[[email protected] apr-1.4.6]# cd ../apr-util-1.5.2
[[email protected] apr-util-1.5.2]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/

[[email protected] apr-util-1.5.2]# make && make install
[[email protected] apr-util-1.5.2]# cd ../pcre-8.30
[[email protected] pcre-8.30]# ./configure --prefix=/usr/local/pcre
[[email protected] pcre-8.30]# make && make install
[[email protected] pcre-8.30]# cd ../httpd-2.4.3

[[email protected] httpd-2.4.3]# ./configure --prefix=/usr/local/apache --enable-so --enable-cgi --enable-rewrite --with-mpm=worker --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre/
[[email protected] httpd-2.4.3]# make && make install
[[email protected] src]# yum -y install cmake ncurses ncurses-devel
[[email protected] src]# groupadd mysql
[[email protected] src]# useradd -r -s /sbin/nologin -g mysql mysql
[[email protected] src]# tar zxf mysql-5.6.4-m7.tar.gz
[[email protected] mysql-5.6.4-m7]# cmake .
[[email protected] mysql-5.6.4-m7]# make && make install
[[email protected] mysql-5.6.4-m7]# cd ../../
[[email protected] local]# chown -R root:mysql mysql/
[[email protected] local]# chown -R mysql mysql/data/
[[email protected] local]# cp mysql/support-files/mysql.server /etc/init.d/mysqld
[[email protected] local]# cp mysql/support-files/my-medium.cnf /etc/my.cnf
cp:是否覆蓋"/etc/my.cnf"? y
[[email protected] local]# ./mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
[[email protected] src]# yum -y install automake autoconf libtool libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel libxslt libxslt-devel
[[email protected] src]# tar jxf libmcrypt-2.5.8.tar.bz2
[[email protected] src]# tar jxf php-5.4.13.tar.bz2
[[email protected] src]# cd libmcrypt-2.5.8
[[email protected] libmcrypt-2.5.8]# ./configure
[[email protected] libmcrypt-2.5.8]# make && make install
[[email protected] libmcrypt-2.5.8]# cd ../php-5.4.13
[[email protected] php-5.4.13]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php --enable-mbstring --enable-sockets --with-gd --with-xsl --with-zlib-dir --with-libxml-dir --with-bz2 --enable-exif --enable-ftp --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --enable-soap --with-gd-native-tty --with-mcrypt
[[email protected] php-5.4.13]# make && make install
[[email protected] php-5.4.13]# cp php.ini-production /usr/local/php/php.ini
[[email protected] local]# vim apache/conf/httpd.conf    ##  簡單修改幾個地方
[[email protected] local]# ./apache/bin/apachectl start
[[email protected] local]# netstat -anpt | grep httpd    ##  apache 正常
tcp        0      0 :::80                       :::*                        LISTEN      33293/httpd
[[email protected] local]# echo "/usr/local/apache/bin/apachectl start" >> /etc/rc.local
[[email protected] local]# service mysqld start
Starting MySQL..... SUCCESS!
[[email protected] local]# netstat -anpt | grep mysqld   ##  mysql 正常
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      33643/mysqld
[[email protected] local]# echo "PATH=$PATH:/usr/local/mysql/bin/" >> /etc/profile
[[email protected] local]# source /etc/profile
[[email protected] local]# chkconfig --add mysqld
[[email protected] local]# chkconfig --level 35 mysqld on
[[email protected] local]# mysqladmin -u root -p password 123456
Enter password:
[[email protected] local]# vim apache/htdocs/test.php    ##  新增php探針
[[email protected] local]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
[[email protected] local]# service iptables save
iptables:將防火牆規則儲存到 /etc/sysconfig/iptables:[確定]

[[email protected] local]# service iptables reload       ##  客戶端訪問php探針測試

二、那接下來就是cacti的安裝了

[[email protected] ~]# date                              ##  首先檢視一下系統時間對不對 不對要更正一下
2014年 02月 12日 星期三 21:38:11 CST     
[[email protected] ~]# yum -y install ntp
[[email protected] ~]# cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
cp:是否覆蓋"/etc/localtime"? y
[[email protected] ~]# ntpdate us.pool.ntp.org | hwclock -w
2014年02月12日 星期三 21時59分28秒  -0.105724 seconds
[[email protected] ~]# date
2014年 02月 12日 星期三 14:32:41 CST
[[email protected] src]# tar zxf cacti-0.8.8b.tar.gz -C /usr/local/apache/htdocs/
[[email protected] src]# cd /usr/local/apache/htdocs/
[[email protected] htdocs]# mv cacti-0.8.8b cacti
[[email protected] htdocs]# useradd cactiuser
[[email protected] htdocs]# chown -R cactiuser:cactiuser cacti/rra cacti/log
[[email protected] ~]# mysql -u root -p123456
mysql> create database cactidb;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on cactidb.* to [email protected] identified by 'cactiuser';
Query OK, 0 rows affected (0.00 sec)
mysql> use cactidb;
Database changed
mysql> source /usr/local/apache/htdocs/cacti/cacti.sql
mysql> quit
[[email protected] ~]# vim /usr/local/apache/htdocs/cacti/include/config.php
$database_type = "mysql";
$database_default = "cactidb";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactiuser";
$database_port = "3306";
$database_ssl = false;

[[email protected] ~]# yum -y install rrdtool rrdtool-devel net-snmp net-snmp-utils
[[email protected] ~]# vim /etc/snmp/snmpd.conf
41   com2sec notConfigUser  192.168.0.218   public                  ##  IP、共同體名
62   access  notConfigGroup "" any noauth  exact  all none none     ##  改為all
85   view all    included  .1            80                         ##  註釋去掉
[[email protected] ~]# service snmpd start
正在啟動 snmpd:                                           [確定]
[[email protected] ~]# chkconfig --add snmpd
[[email protected] ~]# chkconfig --level 35 snmpd on

三、訪問地址安裝 cacti

訪問 http://192.168.0.220/cacti  安裝提示下一步,之後會顯示頁面空白 檢視網站錯誤資訊發現如下:
[Wed Feb 12 15:33:55.510859 2014] [:error] [pid 33781:tid 140656689280768] [client 192.168.0.180:63096] PHP Fatal error:  Call to undefined function session_unregister() in /usr/local/apache/htdocs/cacti/lib/functions.php on line 408, referer: http://192.168.0.220/cacti/install/index.php
處理方法:
[[email protected] ~]# vim /usr/local/apache/htdocs/cacti/lib/functions.php
 408 #       session_unregister($var_name);   ##  把這行註釋掉,重新整理頁面後就可以繼續操作了

[[email protected] ~]# crontab -u cactiuser -e
[[email protected] ~]# crontab -u cactiuser -l   ##  這樣的話 cacti 就可以出圖了
*/2 * * * * /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1


[[email protected] ~]# service crond start
[[email protected] ~]# chkconfig --add crond
[[email protected] ~]# chkconfig --level 35 crond on
[[email protected] ~]# cat /usr/local/apache/logs/error_log     ##  這是 cacti 出圖無資料的情況 php 時區報錯
[Wed Feb 12 16:01:41.030899 2014] [:error] [pid 33783:tid 140656573892352] [client 192.168.0.180:63160] PHP Warning:  date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /usr/local/apache/htdocs/cacti/include/global_arrays.php on line 672, referer: http://192.168.0.220/cacti/graph_view.php?action=tree&tree_id=1&leaf_id=7
處理方法:
[[email protected] ~]# vim /usr/local/php/php.ini
919 date.timezone = "Asia/shanghai"      ##  將時區改為上海
[[email protected] ~]# /usr/local/apache/bin/apachectl restart     ##  重啟 apache 檢視 cacti 是否有資料
[[email protected] ~]# iptables -I INPUT -p tcp --dport 199 -j ACCEPT   ## 如果檢測非本機要開放199埠,以便net-snmp去抓取資料
[[email protected] ~]# service iptables save
[[email protected] ~]# service iptables reload
##  到現在為止 cacti 已經能夠正常運行了,總結一下:安裝步驟呢就是上述這些,首先保證你的 lamp 環境可以正常執行,之後要檢查你的系統時間是否正確,因為這會影響到 cacti 圖中是否有資料,接下來的 cacti 安裝按步驟來就好了,第一次訪問 cacti 時會出現空白頁的情況,這是因為 php 的問題導致,高版本的 php 中會話函式被取消,而我們使用的 cacti 版本中還在繼續使用,所以我們要註釋掉這個函式,裝完 cacti 要定義一個任務計劃,讓 rrdtool 工具來定時畫圖,有沒有圖去 cacti/rra/ 這個目錄底下一看遍知,出圖之後還要注意一下 php.ini 中的時區配置,這可能會導致你的圖出的很晚,一般晚八個小時,這個在 apache 的 error.log 中也是有體現出來的,最後:檢測主機外的裝置時,例如檢查其他 Linux 主機,還要 iptables 開放 tcp 199 埠,可以讓 net-snmp 去抓取資料(因為我一般 OUTPUT 鏈是 ACCEPT ,所有不用做什麼)、被檢測的主機要安裝 net-snmp 包,然後按照上面的設定配置 /etc/snmp/snmpd.conf ,這裡注意一下, 41 行的 IP 地址為 source  也就是源地址,是你 cacti 監控機的地址,不是被檢測主機的地址,如果你的 cacti 在內網,而被監控機在外網,這裡需要寫你路由器的公網地址(這個地址會變)、然後還有一點要注意,被監控機要開啟 udp 161 埠。

四、Cacti 外掛的安裝

首先說一下,cacti 在安裝外掛前要確認一下你的這個版本有沒有整合plugin架構擴充套件,這是安裝所有外掛的前提,在0.8.7i後的cacti版本才整合這個,否則要手動安裝。(我使用的是0.8.8b 所以不用安裝)這個是外掛下載地址,按第一個字母排序  http://docs.cacti.net/plugins
monitor 提供更簡略、直觀的裝置狀態圖 Settings 、thold 用於設定郵件報警
[[email protected] src]# tar zxf monitor-v1.3-1.tgz
[[email protected] src]# mv monitor ../apache/htdocs/cacti/plugins/         
[[email protected] src]# tar zxf settings-v0.71-1.tgz
[[email protected] src]# mv settings ../apache/htdocs/cacti/plugins
[[email protected] src]# tar zxf thold-v0.5.0.tgz
[[email protected] src]# mv thold ../apache/htdocs/cacti/plugins
[[email protected] src]# vim ../apache/htdocs/cacti/include/plugins.php
9  $plugin_hooks = array();            ##  搜尋到第九行的欄位之後在下一行加入內容,儲存退出
10 $plugins[] = 'monitor'; 
11 $plugins[] = 'settings';
12 $plugins[] = 'thold';

##  接著開啟 cacti->console->Plugin Management->在這裡可以看到新增的外掛名前面有一個藍色向下的箭頭->點選之後在點旁邊的綠色向右的箭頭就可以顯示出你的外掛了。

五、配置外掛實現郵件報警


















好的  Cacti 全部完工,有什麼不懂的地方給我留言!

相關推薦

Cacti 流量監控步驟郵件報警實現過程

一、首先是 lamp 環境,接下來我們順序安裝 [[email protected] src]# yum -y install gcc gcc-c++ make  [[email protected] src]# tar zxf apr-1.4.6.ta

添加自定義監控項目郵件告警

dto 腳本參數 blog etc c11 rwx png 文件 value 19.12 添加自定義監控項目 需求:監控某臺web的80端口連接數,並出圖兩步:1 zabbix監控中心創建監控項目;2 針對該監控項目以圖形展現 vim /usr/local/sbin/es

自動化監控--zabbix中的郵件報警通知詳解

前言 在自動化監控–zabbix安裝和配置詳解我們已經完成了zabbix監控的安裝部署,今天我們就在它的基礎上來實現一下自動監控的郵件報警通知。 新增一臺主機 首先,新增一臺host 只需填寫Host name、Agent interfaces,併為主機選定一個Groups

linux指令碼監控應用且通過郵件報警異常

一、背景     最近接到監控應用並通過郵件報警的任務,由於需求比較簡單,故沒有使用springboot那套,而是採用linux指令碼的方式進行監控。 二、思路   通過linux自帶的定時功能,定時執行一個linux指令碼,通過指令碼訪問應用的介面,若介面不通,進行重試,達到一定重試次數則重啟tomc

Shell指令碼監控Storm叢集,郵件報警

這個指令碼只是一個臨時的方案,在全面的監控,報警系統完成之前為了節省一定的人力而寫的 之前寫過一個指令碼用來監控Storm的Nimbus和Supervisor程序,在檢測到程序不存在時會進行重啟,在實際使用中發現,該指令碼雖然可以不斷重啟,但某些情況下並不能完成自動重啟,人

linux環境下部署zabbix3.2模板郵件告警詳細過程

-1 ice erer without zlib zip ever native item 服務端部署: 系統環境及軟件版本: Linux:release 6.3 zabbix:zabbix-3.2.5.tar.gz nginx:nginx-1.12.0.tar.gz ph

監控zabbix 3.4.11異常通過郵件報警步驟

    監控的目的一個是可以檢視歷史狀態,可以對比零晨和工作區間資料的對比,以便後期進行優化指導。還有一個是報警,總不能等到伺服器出現異常了才去從頭查是什麼問題吧。所以這篇主要介紹報警中最基礎的一個 配置郵件預警。 安裝郵件傳送工具mail  我選擇的是mailx,所以的關閉

Cacti設定流量閾值實現郵件報警

2015年03月17日 09:55:16 svdata 閱讀數:8219 個人分類: 監控

nagios郵件報警傳送中文nagios監控頁面亂碼解決

監控配置—對通知的配置 當服務出現問題時,通過email進行通知 1、 配置傳送郵件使用的命令 編輯/usr/local/nagios/etc/objects/commands.cfg 預設的輸出

linux 郵件報警監控內存cup

linux 內存cup監控腳本功能介紹:1、內存高於設定值及發郵件給系統管理員2、cup負載過高及發郵件給系統管理員3、永不退出監控。一直後臺監控,如果出現報警後一分鐘內沒有處理繼續發郵件通知代碼如下:Memory=`free -h | awk ‘NR==3{print $4}‘|cut -c 1-3`#取內

自定義監控(網頁報警郵件報警

zabbix註:zabbix的安裝配置參考另一篇文章1.Zabbix客戶端配置[[email protected]/* */ ~]# cat /tmp/user.sh #!/bin/bashuptime |awk ‘{print $4}‘[[email protected]/* */

分布式監控系統Zabbix3.2給異常添加郵件報警

zabbix在前一篇 分布式監控系統Zabbix3.2跳坑指南 中已安裝好服務端和客戶端,此處客戶端是被監控的服務器,可能有上百臺服務器。監控的目的一個是可以查看歷史狀態,可以對比零晨和工作區間數據的對比,以便後期進行優化指導。還有一個是報警,總不能等到服務器出現異常了才去從頭查是什麽問題吧。所以這篇主要介紹

服務器幾種郵件報警設置之WEB站服務器監控郵件報警配置[三]

image ssa tex warn erro 客戶體驗 roc vpd a10 WEB站服務器監控郵件報警配置 由於部分WEB站舊服務器仍舊使用2003系統,經常出現服務器內分頁大滿,服務器內存溢出等情況,導致整臺服務器WEB站無法打開的情況,服務器太多尋查難度較大,有時

zabbix的添加自定義監控項目配置郵件告警測試告警

linu spa 目標 增加 添加權限 dto nic 是否 onf 添加自定義監控項目 1. 需求:監控某臺web服務器的80端口並發連接數,並設置圖形。 2.分析需求: 在zabbix監控中心創建自定義監控項目; 針對該監控項目以圖形展現; 3. 具體操作步驟:

06: Zabbix基礎 Zabbix監控實戰 Zabbix報警機制

bst 功能 message password 4.2 sch -i 文件 word 部署搭建Zabbix監控服務器 192.168.4.56 部署Zabbix監控服務運行環境 LAMP 安裝Zabbix軟件2.1 安裝準備]# rpm -q gcc gcc-c+

zabbix監控(三)配置郵件報警

郵件報警 zabbix配置郵件報警:zabbix服務端1.編輯/etc/mail.rcset [email protected] smtp=smtp.163.comset [email protected] smtp-auth-password=w

zabbix監控——zabbix郵件報警配置

zabbix郵件報警配置 zabbix觸發事件查詢 zabbix觸發器事件回放 zabbix報警升級 zabbix郵件報警腳本 前面帶著大家從搭建zabbix服務器開始一直到觸發器設計完畢,這一系統本身已經可以運作起來了,只是需要有一個便捷的渠道及時告訴我們運維人員去處理一些存在問題,這裏

linux監控平臺搭建(3)添加自定義監控項目配置郵件告警測試警報不發郵件的問題處理

zabbix配置郵件告警 添加自定義監控項目很多的監控項,我們都是在配置的模板中設置的,但是模板的選擇是不能完全滿足到我們生產中 的實際需求。所以我們可以自定義監控項目,通過編寫Shell腳本或者python腳本,在腳本中獲取數據庫中所需業務的數,然後在通過在監控項裏添加這個腳本,將腳本獲

在zabbix上添加自定義監控項目配置告警且發送告警郵件到指定郵箱

Linux學習筆記在zabbix上添加自定義監控項目 配置告警且發送告警郵件到指定郵箱 在zabbix上添加自定義監控項目、配置告警且發送告警郵件到指定郵箱

監控軟件zabbix關聯110雲告警軟件onelert實現短信郵件告警

zabbix onelert本次實驗需要用公網IP地址,這裏采用阿裏雲的ECS服務器作為實驗環境,主機一臺,自己監控自己。 另外請 打開雲服務器的雲防火墻,也就是設置好安全組規則,允許來自任何IP地址(0.0.0.0/0)訪問10050、10051、80等端口,如下: 實驗之前需要在監控服務器端安裝my