Cacti+Nagios監控平台完美整合

來源:互聯網
上載者:User

標籤:zabbix監控平台   nagios監控   zabbix監控   cacti監控   

近期有很多同學對nagios和cacti整合很是糾結,特寫此文方便大家參考,解決大家在nagios和cacti整合的過程中遇到的問題。

一、Cacti安裝部署

作為一名Linux SA,日常最重要的就是保證網站正常穩定的運行,我們需要即時監控網站、伺服器的運行狀態,這時需要藉助開源軟體(cacti、nagios、zabbix等)監控來實現。

Cacti是用php語言實現的一個軟體,它的主要功能是用snmp服務擷取資料,然後用rrdtool儲存和更新資料,當使用者需要查看資料的時候用rrdtool組建圖表呈現給使用者。因此,snmp和rrdtool是cacti的關鍵。

Snmp關係著資料的收集,rrdtool關係著資料存放區和圖表的產生。snmp抓到資料不是儲存在mysql中,而是存在rrdtool產生的rrd檔案中(在cacti根目錄的rra檔案夾下,一般以rra為尾碼名稱)。簡單原理圖如下:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/51/53/wKiom1RjLqGQZj6_AADtWDiurSU684.jpg" title="1.png" alt="wKiom1RjLqGQZj6_AADtWDiurSU684.jpg" width="680" height="300" border="0" hspace="0" vspace="0" style="width:680px;height:300px;" />

1、Cacti伺服器端安裝

官網下載cacti相關軟體,一共需要三個軟體,分別如下:

http://www.cacti.net/downloads/cacti-0.8.8a.tar.gzhttp://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.5.tar.gzhttp://www.cacti.net/downloads/spine/cacti-spine-0.8.8a.tar.gz

2、安裝LAMP系統內容

這裡採用yum安裝方式,安裝命令:

yum install  httpd  mysql   mysql-server    php   php-mysql php-json php-pdo   -y

3、安裝rrdtool採集工具

安裝rrdtool之前需要安裝相應的lib庫,如下安裝:

yum install cairo-devel libxml2-devel pango pango-devel –ytar xzf rrdtool-1.4.5.tar.gz  ;cd rrdtool-1.4.5  ; ./configure --prefix=/usr/local/rrdtool/make  &&make install;ln -s /usr/local/rrdtool/bin/* /usr/local/bin/

4、安裝SNMP服務

yum install net-snmp  net-snmp-utils  –y  

5、安裝cacti主程式

tar xzf cacti-0.8.8a.tar.gz && mv cacti-0.8.8a   /var/www/html/cacti/

6、建立cacti資料庫

mysql -uroot –p  輸入你的密碼進入資料庫,然後建立資料庫:create database cacti;建立資料庫grant all on cacti.* [email protected]‘localhost‘ identified by "123456";建立使用者並授權flush privileges; 重新整理許可權

7、mysql配置完畢後,把cacti資料匯入cacti資料庫

mysql  -ucacti -p123456  cacti</var/www/html/cacti/cacti.sql配置完mysql後,我們需要設定cacti  rra、log 目錄的許可權,這裡設定為777:chmod -R  777 /var/www/html/cacti/rra/chmod -R  777 /var/www/html/cacti/log/

8、修改cacti全域設定檔

vi /var/www/html/cacti/include/config.php為如下配置:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/51/53/wKiom1RjLq-whgGYAAI-UjHp99o579.jpg" title="2.png" alt="wKiom1RjLq-whgGYAAI-UjHp99o579.jpg" width="680" height="300" border="0" hspace="0" vspace="0" style="width:680px;height:300px;" />

9、添加Rrdtool抓圖任務計劃

*/5  * * * */usr/bin/php /var/www/html/cacti/poller.php >>/tmp/cacti_rrdtool.log 2>&1

10、Cacti安裝完畢,測試訪問

通過http://ip/cacti/訪問出現如下介面,點擊NEXT下一步。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/51/51/wKioL1RjLymQ1yM5AALp9Ve5jgg677.jpg" title="3.png" alt="wKioL1RjLymQ1yM5AALp9Ve5jgg677.jpg" width="680" height="300" border="0" hspace="0" vspace="0" style="width:680px;height:300px;" />

 預設一直點擊下一步:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/51/53/wKiom1RjLsrwAzozAAG3etnSBdQ560.jpg" title="4.png" alt="wKiom1RjLsrwAzozAAG3etnSBdQ560.jpg" width="680" height="300" border="0" hspace="0" vspace="0" style="width:680px;height:300px;" />

 進入登入介面,第一次需要修改密碼:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/51/51/wKioL1RjL0DAXO7PAADu0rFQyuo031.jpg" title="5.png" alt="wKioL1RjL0DAXO7PAADu0rFQyuo031.jpg" width="680" height="300" border="0" hspace="0" vspace="0" style="width:680px;height:300px;" />

11、進入Cacti組態管理介面

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/51/53/wKiom1RjLt3QfqEnAAF1-gbA02s729.jpg" title="6.png" alt="wKiom1RjLt3QfqEnAAF1-gbA02s729.jpg" width="680" height="300" border="0" hspace="0" vspace="0" style="width:680px;height:300px;" />

12、點擊device,可以添加裝置,預設可以看到127.0.0.1這台伺服器。右上方Add可以增加裝置。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/51/53/wKiom1RjLuaA_uUoAANYI2LaHFA190.jpg" title="7.png" alt="wKiom1RjLuaA_uUoAANYI2LaHFA190.jpg" width="680" height="300" border="0" hspace="0" vspace="0" style="width:680px;height:300px;" />

點擊localhost可以看到具體的設定,包括採用的snmp協議版本,監控的名稱等:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/51/51/wKioL1RjL13iNeTSAAQ-gKm1Doo377.jpg" title="8.png" alt="wKioL1RjL13iNeTSAAQ-gKm1Doo377.jpg" width="680" height="300" border="0" hspace="0" vspace="0" style="width:680px;height:300px;" />

如果出現snmp error,檢查snmp服務是否已啟動,或者是否有許可權。出現如上資訊則表示正常。

點擊左上方第二個按鈕,graphs查看cacti映像—選擇localhost主機—右邊會顯示cacti每5分鐘的監控映像。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/51/53/wKiom1RjLvuwRsqyAAUTFoNPYUE616.jpg" title="9.png" alt="wKiom1RjLvuwRsqyAAUTFoNPYUE616.jpg" width="680" height="300" border="0" hspace="0" vspace="0" style="width:680px;height:300px;" />

更多cacti深入知識,可以一起交流。

二、 Nagios部署配置

鑒於篇幅的問題,這裡nagios部署就略過了,有興趣的同學可以參考我的從入門到進階的課程哦,這裡直接講解nagios+cacti如何來整合。

首先需要安裝php json模組和ndoutils,其中Ndoutils是nagios的一個外掛程式,就是可以用來把nagios的擷取的資料存入到mysql資料庫中。也可以實現與cacti的外掛程式npc的整合,這個工具的安裝是個關鍵。

Php-json安裝方法:

wget http://down1.chinaunix.net/distfiles/json-1.2.1.tgztar xzf json-1.2.1 ;cd json-1.2.1 ;/usr/bin/phpize ;./configure ;make ;make install

安裝完後,然後執行如下語句添加json模組:

echo "extension=json.so" >/etc/php.d/json.ini

重啟apache伺服器,通phpinfo.php頁面可以看到如下內容即可:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/51/53/wKiom1RjLxDhE8zdAADj2yO1p8g683.jpg" title="10.png" alt="wKiom1RjLxDhE8zdAADj2yO1p8g683.jpg" width="680" height="300" border="0" hspace="0" vspace="0" style="width:680px;height:300px;" />

1、安裝ndoutils:

wget http://downloads.sourceforge.net/project/nagios/ndoutils-1.x/ndoutils-1.4b9/ndoutils-1.4b9.tar.gztar xzf ndoutils-1.4b9.tar.gz;cd ndoutils-1.4b9 ;./configure--with-mysql-inc=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql--enable-mysql --with-ndo2db-user=nagios --with-ndo2db-group=nagios&&make &&make install

接下來配置ndoutils:

cp config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg

cp config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg

ndo2db.cfg內容如下:

ndo2db_user=nagiosndo2db_group=nagiossocket_type=tcpsocket_name=/usr/local/nagios/var/ndo.socktcp_port=5668db_servertype=mysqldb_host=localhostdb_port=3306db_name=cactidb_prefix=npc_db_user=cactidb_pass=123456max_timedevents_age=1440max_systemcommands_age=10080max_servicechecks_age=10080max_hostchecks_age=10080max_eventhandlers_age=44640debug_level=1debug_verbosity=1debug_file=/usr/local/nagios/var/ndo2db.debugmax_debug_file_size=1000000

ndomod.cfg內容如下:

instance_name=defaultoutput_type=tcpsocketoutput=127.0.0.1tcp_port=5668output_buffer_items=5000buffer_file=/usr/local/nagios/var/ndomod.tmpfile_rotation_interval=14400file_rotation_timeout=60reconnect_interval=15reconnect_warning_interval=15data_processing_options=-1config_output_options=2

同時在nagios.cfg檔案最末尾添加如下語句:

broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg

2、安裝npc軟體:

wget  ftp://ftp.mirrorservice.org/sites/downloads.sourceforge.net/g/gi/gibtmirdas/npc-2.0.4.tar.gz

tar xzf npc-2.0.4.tar.gz ;mv npc /var/www/html/cacti/plugins/

通過介面啟用NPC

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/51/51/wKioL1RjL4ngeNIpAAGutIHsFUA752.jpg" title="11.png" alt="wKioL1RjL4ngeNIpAAGutIHsFUA752.jpg" width="680" height="300" border="0" hspace="0" vspace="0" style="width:680px;height:300px;" />

3、選擇啟用,然後點擊settings,找到NPC項,填入如下內容即可。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/51/53/wKiom1RjLyfwZSEeAAQoClyfAo0312.jpg" title="12.png" alt="wKiom1RjLyfwZSEeAAQoClyfAo0312.jpg" width="680" height="300" border="0" hspace="0" vspace="0" style="width:680px;height:300px;" />

4、然後後台啟動nod2db服務:

/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg

查看後台日誌還需要在mysql裡面執行如下sql即可:

mysql> use cacti;alter table npc_eventhandlers addlong_output TEXT NOT NULL default ‘‘ after output;alter table npc_hostchecks addlong_output TEXT NOT NULL default ‘‘ after output;alter table npc_hoststatus addlong_output TEXT NOT NULL default ‘‘ after output;alter table npc_notifications addlong_output TEXT NOT NULL default ‘‘ after output;alter table npc_servicechecks addlong_output TEXT NOT NULL default ‘‘ after output;alter table npc_servicestatus addlong_output TEXT NOT NULL default ‘‘ after output;alter table npc_statehistory addlong_output TEXT NOT NULL default ‘‘ after output;alter table npc_systemcommands addlong_output TEXT NOT NULL default ‘‘ after output;

執行成功後,重啟nagios和ndo2db即可,通過頁面重新整理可以看到如下介面即代表整合成功。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/51/52/wKioL1RjL6bw-7bYAATC-l1PqjI207.jpg" style="width:680px;height:300px;" title="13.png" alt="wKioL1RjL6bw-7bYAATC-l1PqjI207.jpg" width="680" height="300" border="0" hspace="0" vspace="0" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/51/53/wKiom1RjLznAKh49AAW9rA9gy9A663.jpg" style="width:680px;height:300px;" title="14.png" alt="wKiom1RjLznAKh49AAW9rA9gy9A663.jpg" width="680" height="300" border="0" hspace="0" vspace="0" />

 自此,nagios+cacti整合完畢,歡迎大家一起交流!

本文出自 “吳光科-專註自動化營運” 部落格,請務必保留此出處http://wgkgood.blog.51cto.com/1192594/1575830

Cacti+Nagios監控平台完美整合

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.