debian下LAMP+nginx代理+awstats+nagios+cacti(三)

六.下面開始cacti安裝php

注意:我這個是從我本身的WORD 文檔貼過來的 後面的都沒弄圖html

詳細的看個人PDF 文檔,全部的插件包也有,最底下下載。mysql

1.設置數據庫權限linux

/usr/local/mysql/bin/mysql -u root -pnginx

Enter password:web

2.建立一個用戶cacti(密碼cacti)並受權:
mysql> create database cacti;
mysql> show databases like 'cacti';sql

mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser';
mysql> flush privileges;
mysql> quit
 shell

tar -zxvf cacti-0.8.7h.tar.gz  -C /www數據庫

mv cacti-0.8.7h cactiapache

cd   /www/cacti/

/usr/local/mysql/bin/mysql -u cactiuser -p'cactiuser' cacti < cacti.sql

3.修改cacti配置文件:
vi /www/cacti/include/config.php

$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactiuser";
$database_port = "3306";

useradd cacti -d /www/cacti
chown -R cacti /www/cacti/rra /www/cacti/log
 修改 apache 主配置文件
##########################cacti############
Alias /cacti /www/cacti
<Directory /www/cacti>
DirectoryIndex index.php
AllowOverride all
order deny,allow
deny from all
allow from all
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc on
php_flag track_vars on
</Directory>

4. apt-get install  rrdtool 安裝RRDTOOL 工具

5安裝cacti

 

http://192.168.3.107:7000/cacti/  打開瀏覽器 下一步

PHP Warning: strtotime(): 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 'Asia/Chongqing' for 'CST/8.0/no DST' instead in /var/www/html/cacti/include/global_arrays.php on line 640

解決辦法是:

# /usr/local/php-5.3.8/lib/php.ini

date.timezone = PRC

重啓apache

下一步中中間可能有些路徑錯誤 暫時不要管他


原始帳戶:admin
原始密碼:admin

這裏會強制你修改的密碼的。

 

 

6.設置定時採集數據

vim /etc/crond

*/5 * * * * root /usr/local/php-5.3.8/bin/php /www/cacti/poller.php > /dev/null 2>&1

7最後 裝SNMP

① 安裝snmp
# apt-get install snmp snmpd

② 配置snmp
# vi /etc/snmp/snmpd.conf
註釋15行
#agentAddress udp:127.0.0.1:161

取消註釋17行
agentAddress udp:161,udp6:[::1]:161

表示監聽全部地址

在44行(system + hrSystem groups only)下添加一行
view AllView included .1

修改51行爲
rocommunity cacti default -V AllView

cacti是團體名

最後重啓一下snmp服務就完成了

③配置好團體名後

8.修改cacti SNMP的路徑

修改前的圖:

 

root@houzaicun:/usr/local# find / -name "snmpwalk"
/usr/bin/snmpwalk
root@houzaicun:/home/net-snmp-5.2.4.1# find / -name "rrdtool"
/etc/bash_completion.d/rrdtool
/usr/share/doc/rrdtool

查找出來 對應的路徑填上

 

 

 

 

啓動SNMP

root@houzaicun:/usr/local# /etc/init.d/snmpd start

#snmpwalk -v2c 192.168.3.107 -c 團體名 system 執行下測試 是否有問題

錯誤提示是snmpwalk;error while loading shared libraries:  libcrypto.so.4: cannot open shared object file: No such file or directory
報錯

root@houzaicun:/lib# ldd   snmpwalk  查詢多須要的庫
 linux-vdso.so.1 =>  (0x00007fff66bff000)
 libcrypto.so.4 => not found
 libm.so.6 => /lib/libm.so.6 (0x00007f8d0ad0c000)
 libc.so.6 => /lib/libc.so.6 (0x00007f8d0a9aa000)
 /lib64/ld-linux-x86-64.so.2 (0x00007f8d0af95000)

缺乏的確實是這個 並且這個須要的庫路徑是/lib

root@houzaicun:/var# whereis libcrypto.so.4  查詢有沒有這個庫文件 
libcrypto.so: /usr/lib/libcrypto.so /usr/lib64/libcrypto.so 

系統有的 。

作個軟鏈接 :ln -s /usr/lib/libcrypto.so /usr/lib/libcrypto.so.4
 問題解決 。從新加下主機

 

 

9.最後cacti 遠程主機的添加 咱們這裏用本身的IP 192.168.3.107,SNMP 遠程測試。

http://hzcsky.blog.51cto.com/1560073/475631 看這篇的後面的部分

 

最後結果

 

 

 

 
七.cacti的Apache-狀態監控
1.對Apache Server Status的啓用
對Apache的狀態管理的模塊是LoadModule status_module modules/mod_status.so,因此這個須要有
root@houzaicun:/www/cacti/scripts# /usr/local/apache-2.2.21/bin/apachectl -l |grep status
 mod_status.c
2.而後打開下面的配置
ExtendedStatus On
配置Apache Server Status的權限
<location /server-status>
         SetHandler server-status
         Order Deny,Allow
         Deny from all
         Allow from www.hou.com
</location>
測試機器 all 無所謂
 
server-status 的輸出中每一個字段所表明的意義以下:
字段 說明
Server Version Apache 服務器的版本。
Server Built Apache 服務器編譯安裝的時間。
Current Time 目前的系統時間。
Restart Time Apache 從新啓動的時間。
Parent Server Generation Apache 父程序 (parent process) 的世代編號,就是 httpd 接收到 SIGHUP 而從新啓動的次數。
Server uptime Apache 啓動後到如今通過的時間。
Total accesses 到目前爲此 Apache 接收的聯機數量及傳輸的數據量。
CPU Usage 目前 CPU 的使用情形。
_SWSS…. 全部 Apache process 目前的狀態。每個字符表示一個程序,最多能夠顯示 256 個程序的狀態。
Scoreboard Key 上述狀態的說明。如下爲每個字符符號所表示的意義:
 
* _:等待連結中。
* S:啓動中。
* R: 正在讀取要求。
* W:正在送出迴應。
* K:處於保持聯機的狀態。
* D:正在查找 DNS。
* C:正在關閉連結。
* L:正在寫入記錄文件。
* G:進入正常結束程序中。
* I:處理閒置。
* .:尚無此程序。
 
Srv 本程序與其父程序的世代編號。
PID 本程序的 process id。
Acc 分別表示本次聯機、本程序所處理的存取次數。
M 該程序目前的狀態。
CPU 該程序所耗用的 CPU 資源。
SS 距離上次處理要求的時間。
Req 最後一次處理要求所耗費的時間,以千分之一秒爲單位。
Conn 本次聯機所傳送的數據量。
Child 由該子程序所傳送的數據量。
Slot 由該 Slot 所傳送的數據量。
Client 客戶端的地址。
VHost 屬於哪個虛擬主機或本主機的 IP。
Request 聯機所提出的要求信息。
 
5.添加apache服務器的主機
 
 
6.最後添加圖標樹中就能夠
 
7.完成
八.cacti的mysql-狀態監控
1. 基本上和apche 那樣 下載解壓模板 添加模板 複製*.php *.pl 到 /www/cacti/scripts/ 下載地址: http://down.51cto.com/data/169466在mysql數據受權 cm 用戶獲取數據信息

2.
mysql > grant super, process, replication client on *.* to cm@ cactiIP identified by '123';
mysql> FLUSH PRIVILEGES;


 
 
 
4.修改腳本
vi /www/cacti/scripts/ss_get_mysql_stats.php
$mysql_user = 'cm';
$mysql_pass = '123';
$cache_dir = "/www/cacti/cache/";
-----------------------------------------------------------

mkdir –p /www/cacti/cache/
chmod 777 -R /www/cacti/cache/


4. 添加 mysql組
 


 
 
九.TCP-鏈接狀態監控
1.       下載netstat_tcp.zip後,解壓,將lvm_netstat_tcp.pl 上傳至cacti根目錄的scripts內。
 
2.進入cacti後臺,Import/export - Import Templates 導入cacti_graph_template_snmp_get_tcp_connection_status2_340.xml
模板文件。
 
爲了肯定其能正常工做,能夠在scripts目錄下,執行
/usr/bin/perl lvm_netstat_tcp.pl 127.0.0.1 2c public 161 500
 
嘗試能不能去到tcp鏈接的值。若是能取到,基本就沒有什麼問題了。
 
3.CACTI模版配置
 
找到Templates-->Host Templates-->找到又上方的Add添加一個主機模版
 
點開add以後輸入建立的主機模版的名字例如:LINUX-TCP-點擊create 進入下一步配置
 
在Associated Graph Templates選擇--Get TCP Connection Status--點擊Add添加
 
在Associated Data Queries選擇網絡狀態---點擊Add添加
 
最後點擊 Save 保存完成。
 
4.爲主機建立Graphs
Devices --> 選擇 一個主機 --> Host Template 選擇剛剛建立的LINUX-TCP 點擊保存
點擊上方的 *Create Graphs for this Host在下面就能看到Get TCP Connection Status。
 
 
十.cacti的磁盤-IO監控
注意:這個我在debian6.0沒測試成功繼續研究中,debian6.0的SNMP 不同。
所需軟件:此軟件網上並非太好找,建議你們好好收藏
snmpdiskio-0.9.6.zip
下載點http://www.colderboy.com/wp-content/uploads/2011/08/snmpdiskio.rar
 
1.把解壓以後文件夾下的snmpdiskio文件上傳到被監控服務器的/usr/local/bin目錄下;
因爲9.4太老不支持2.6內核,須要修改, 這裏下載的包我已經更新過已經支持2.6內核.
 
2.把解壓以後文件夾下的 partition.xml上傳到cacti監控服務器的
/www/cacti/resource/snmp_queries/目錄下,這裏個人CACTI的
目錄文件爲以上,你們能夠根據實際狀況修改。
且分別導入2個模板:
cacti_graph_template_disk_io_bytessec.xml
cacti_data_query_snmp_disk_statistics.xml
 
3.:修改snmp配置文件/etc/snmp/snmpd.conf
#----------------------------------------------------------------------------------
com2sec local          localhost            public
com2sec local    監控IP 地址          public
com2sec mynetwork NETWORK/24                COMMUNITY
group MyRWGroup v1                          local
group MyRWGroup v2c                         local
group MyRWGroup usm                         local
group MyROGroup v1                          mynetwork
group MyROGroup v2c                         mynetwork
group MyROGroup usm                         mynetwork
view all       included    .1                80
access MyROGroup ""               any       noauth      exact    all     none    none
access MyRWGroup ""               any       noauth       exact   all     all     none
syslocation etiantian.org
syscontact Me <zlyzhangluya@163.com>
proc mountd
proc ntalkd 4
proc sendmail 10 1
proc httpd     10 1
exec echotest /bin/echo hello world
exec disk_used_shell       /bin/sh   /root/current_disk_used.sh
exec httpd_proc           /bin/sh   /root/current_httpd_proc.sh
disk /           10000
disk /boot       10000
load 12 14 14
#如下五行是我添加的內容
exec .1.3.6.1.4.1.2021.55 hdIndex /bin/sh /usr/local/bin/snmpdiskio hdIndex
exec .1.3.6.1.4.1.2021.56 hdDescr /bin/sh /usr/local/bin/snmpdiskio hdDescr
exec .1.3.6.1.4.1.2021.57 hdInBlocks /bin/sh /usr/local/bin/snmpdiskio hdInBlocks
exec .1.3.6.1.4.1.2021.58 hdOutBlocks /bin/sh /usr/local/bin/snmpdiskio hdOutBlocks
#----------------------------------------------------------------------------------
 
4.:重啓snmpd服務
/etc/init.d/snmpd restart
 
5:在cacti監控主機上測試
 
yum install -y net-snmp-utils*
 
[root@mail ~]# snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.2021.58
UCD-SNMP-MIB::ucdavis.58.1.1 = INTEGER: 1
UCD-SNMP-MIB::ucdavis.58.2.1 = STRING: "hdOutBlocks"
UCD-SNMP-MIB::ucdavis.58.3.1 = STRING: "/bin/sh /usr/local/bin/snmpdiskio hdOutBlocks"
UCD-SNMP-MIB::ucdavis.58.100.1 = INTEGER: 0
UCD-SNMP-MIB::ucdavis.58.101.1 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.2 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.3 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.4 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.5 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.6 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.7 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.8 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.9 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.10 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.11 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.12 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.13 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.14 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.15 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.16 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.17 = STRING: "641941504"
UCD-SNMP-MIB::ucdavis.58.101.18 = STRING: "701440"
UCD-SNMP-MIB::ucdavis.58.101.19 = STRING: "224997888"
UCD-SNMP-MIB::ucdavis.58.101.20 = STRING: "297335296"
UCD-SNMP-MIB::ucdavis.58.101.21 = STRING: "2048"
UCD-SNMP-MIB::ucdavis.58.101.22 = STRING: "66200576"
UCD-SNMP-MIB::ucdavis.58.101.23 = STRING: "659456"
UCD-SNMP-MIB::ucdavis.58.101.24 = STRING: "51835904"
UCD-SNMP-MIB::ucdavis.58.101.25 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.26 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.102.1 = INTEGER: 0
UCD-SNMP-MIB::ucdavis.58.103.1 = ""
 
看到以上內容說配置成功.
 
6:CACTI模版配置,這裏有點小難度,須要特別注意
 
找到Templates-->Host Templates-->找到又上方的Add添加一個主機模版
 
點開add以後輸入建立的主機模版的名字例如:LINUX-disk-io點擊create 進入下一步配置
 
在Associated Graph Templates選擇Disk-I/O (bytes/sec)點擊Add添加
 
在Associated Data Queries選擇SNMP-Disk Statistics點擊 Add 添加
 
最後點擊 Save 保存完成。
 
6:爲主機建立Graphs
Devices --> 選擇 一個主機 --> Host Template 選擇剛剛建立的linux-disk-io 點擊保存
點擊上方的 *Create Graphs for this Host在下面就能看到Data Query [SNMP - Disk Statistics]
這樣列表,列表內顯示你硬盤的信息。選擇你須要監控的磁盤點擊建立完成。
 
 
十一cacti的nginx狀態監控
1. 修改nginx服務器配置 使其支持狀態信息顯示
vi /usr/local/nginx/conf/nginx.conf
server {.......

在server{}中加入下面:
location /nginx_status {
stub_status on;
access_log off;
}
.....}
 
 

首先導入模板,兩個文件
cacti_graph_template_nginx_clients_stat.xml
cacti_graph_template_nginx_sockets_stat.xml

將兩個pl腳本放到/www/cacti/scripts 下 》受權 755
 
 
而後添加NGINX主機,這時候模塊欄並無出現nginx的模塊選擇,那麼咱們先選擇基本的主機監控模塊。按下 create ,
 
在最下面處選擇nginx-clients-stat 按ADD
再選nginx-sockets-stat add
 
 
 
create 完成後點SAVE 就完成了,抽顆小煙就出來圖了。
相關文章
相關標籤/搜索