原理:
使用service_perfdata_file_processing_command指令,將nagios監控到的每個服務資料,傳遞給 /usr/local/nagiosgraph/bin/insert.pl指令碼處理,生產rrd檔案。
下面來說說Nagiosgraph的配置:
1. 擷取組件
代碼如下 |
複製代碼 |
# wget http://downloads.sourceforge.net/project/nagiosgraph/nagiosgraph/1.4.4/nagiosgraph-1.4.4.tar.gz # tar -xzf nagiosgraph-1.4.4.tar.gz # cd nagiosgraph-1.4.4 |
2. 檢測環境要求
代碼如下 |
複製代碼 |
# ./install.pl --check-prereq checking required PERL modules Carp...1.04 CGI...3.15 Data::Dumper...2.121_08 File::Basename...2.74 File::Find...1.10 MIME::Base64...3.07 POSIX...1.09 RRDs...1.2027 Time::HiRes...1.9717 checking optional PERL modules GD...2.35 checking nagios installation found nagios at /usr/local/nagios/bin/nagios checking web server installation found apache at /usr/sbin/httpd |
缺少哪些perl模組,就安裝那些模組,同時還要注意版本的要求。
3. 安裝
代碼如下 |
複製代碼 |
./install.pl --install |
一路按斷行符號鍵。
4. 編輯nagios.cfg檔案
在nagios.conf檔案下,添加以下內容
代碼如下 |
複製代碼 |
# process nagios performance data using nagiosgraph process_performance_data=1 service_perfdata_file=/tmp/perfdata.log service_perfdata_file_template=$LASTSERVICECHECK$||$HOSTNAME$||$SERVICEDESC$||$SERVICEOUTPUT$||$SERVICEPERFDATA$ service_perfdata_file_mode=a service_perfdata_file_processing_interval=30 service_perfdata_file_processing_command=process-service-perfdata-for-nagiosgraph |
5. 編輯commands.cfg檔案
添加以下內容
代碼如下 |
複製代碼 |
######################################### # # nagiosgraph # # command to process nagios performance data for nagiosgraph define command { command_name process-service-perfdata-for-nagiosgraph command_line /usr/local/nagiosgraph/bin/insert.pl } |
6. 修改httpd.conf檔案
添加以下內容
代碼如下 |
複製代碼 |
Include /usr/local/nagiosgraph/etc/nagiosgraph-apache.conf |
7. 重新啟動服務
代碼如下 |
複製代碼 |
# /etc/init.d/httpd restart # /etc/init.d/nagios restart |
8. 查看nagiosgraph配置資訊
在瀏覽器輸入:http://10.0.100.125/nagiosgraph/cgi-bin/showconfig.cgi網址查看。
9. 定義動作URL
修改templates.cfg檔案,添加以下內容:
action_url /nagiosgraph/cgi-bin/show.cgi?host=$HOSTNAME$&service=$SERVICEDESC$ |
10. 添加你需要的繪圖
預設情況下,啟用Performance Data的服務都會繪圖。
執行個體如下:
hostgroup_name MongoDB_Servers |
service_description Mongo Memory Usage |
check_command check_mongodb!12345! '' ! '' !memory!130!260 |
servicegroups Mongodbservices |
添加完,會有個下面的表徵圖
11. 效果如下
12. 每個服務項都會有個rrd檔案
在/usr/local/nagiosgraph/var/rrd目錄下的各自主機子目錄下
對於無法產生Performance Data資料,將無法繪圖,出現nagiosgraph no data available資訊,查看nagiosgraph.log出現下面資訊:
322207-Tue Apr 8 17:18:36 2014 insert.pl warn output/perfdata not recognized:
322279:hostname:X.X.X.X
322299-servicedesc:Mongo Free Connections
322334-output:OK – 6 percent (52 of 819 connections) used
322385-perfdata:
perfdata為空白,這就需要我們自己去對output資訊進行解析了。通過/usr/local/nagiosgraph/etc/map這個檔案,來定義Regex來處理,該檔案是個perl指令碼,來將output資訊映射到perfdata。
map如何自訂Regex下節再說,請關注。
原文來自:ttlsa.com