设为首页 收藏本站
查看: 2047|回复: 0

[经验分享] 监控之cacti的安装部署(监控本机及其他主机+支持多线程+命令行监控)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-11-3 08:44:13 | 显示全部楼层 |阅读模式
主机环境   redhat6.5 64位
实验环境   服务端1 ip 172.25.25.1
           服务端2 ip 172.25.25.2
安装包     cacti-0.8.8h.tar.gz      
php-snmp-5.3.3-26.el6.x86_64.rpm
cacti-spine-0.8.8g.tar.gz
防火墙状态:关闭
Selinux状态:Disabled

1.配置安装cacti及测试
A)配置安装cacti
[iyunv@sever1 Asia]# yum install rrdtool mysql-server php httpdphp-mysql php-xml net-snmp net-snmp-utils- y                        #安装cacti之前要安装的包
[iyunv@sever1 Asia]# cd /mnt/
[iyunv@sever1 mnt]# ls
cacti-0.8.8h.tar.gz       php-snmp-5.3.3-26.el6.x86_64.rpm
cacti-spine-0.8.8g.tar.gz
[iyunv@sever1 mnt]# rpm -vih php-snmp-5.3.3-26.el6.x86_64.rpm
[iyunv@sever1 mnt]# vim /etc/php.ini
946 date.timezone =Asia/Shanghai
[iyunv@sever1 mnt]# tar zxf cacti-0.8.8h.tar.gz -C/var/www/html/  #解压到/var/www/html/目录
[iyunv@sever1 mnt]# cd /var/www/html/
[iyunv@sever1 html]# ls
cacti-0.8.8h
[iyunv@sever1 html]# ln -s cacti-0.8.8h/ cacti           #作软链接
[iyunv@sever1 html]# ls
cacti  cacti-0.8.8h
[iyunv@sever1 include]# /etc/init.d/mysqld start         #开启数据库
[iyunv@sever1 include]# mysql_secure_installation        #初始化,默认没密码,这里将密码设置成了redhat
[iyunv@sever1 html]# cd cacti/                  
[iyunv@sever1 cacti]# mysql -predhat -e "create databasecacti"      #创建名为cacti的数据库
[iyunv@sever1 cacti]# mysql -predhat cacti < cacti.sql               #将cacti.sql文件导入到cacti数据库中
[iyunv@sever1 cacti]# mysql -predhat -e "grant all oncacti.* to cacti@localhost identified by 'redhat'"                #创建本地cacti用户,并将cacti数据库的所有权限给cacti用户
[iyunv@sever1 html]# cd include/               
[iyunv@sever1 include]# vim config.php                   #修改配置文件
29 $database_username ="cacti";                        #刚创建的cacti数据库的用户名
30 $database_password ="redhat";                       #用户cacti的密码
39 $url_path ="/cacti/";
42 $cacti_session_name ="Cacti";
[iyunv@sever1 cacti]# useradd -u 1000 cacti              #在系统中创建cacti用户
[iyunv@sever1 cacti]# ll
total 1068
-rw-rw-r-- 1 cacti cacti  5860 Feb  8  2016 about.php
-rw-rw-r-- 1 cacti cacti  5348 Feb  8  2016 auth_changepassword.php
-rw-rw-r-- 1 cacti cacti 14690 Mar  7  2016 auth_login.php
-rw-rw-r-- 1 cacti cacti 178349 Apr 10  2012 cacti.sql
-rw-rw-r-- 1 cacti cacti 20257 Feb  8  2016 cdef.php
[iyunv@sever1 cacti]# su - cacti                         #切换到cacti用户
[cacti@sever1 ~]$ crontab -e                            #创建定时任务
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null2>&1
[cacti@sever1 ~]$ logout
[iyunv@sever1 ~]# /etc/init.d/httpd start                #开启httpd
Stopping httpd:                                           [  OK  ]

安装cacti  172.25.25.1/cacti
点击next
wKioL1gZwtrDIhLsAADFr1TFiz4367.jpg
点击next
wKioL1gZwt2xqdidAABw2GWSHU4907.jpg
点击next
wKiom1gZwuDTsnThAACvE5-0lwg441.jpg
在测试之前,时间得同步
B)测试    172.25.25.1/cacti
登陆 用户名:admin 密码:admin
wKioL1gZwuGwiscLAAD5210HBzk562.jpg
第一次登陆,会提示修改密码
wKiom1gZwuPwgCGxAADaaEXvgSo921.jpg
登陆之后,如图:
wKioL1gZwuTAK3d9AADvh6BvHpM009.jpg
点击graphs,如图:
wKiom1gZwuXyZKqHAAEyq2vNT2Q521.jpg

[iyunv@sever1 cacti]# cd rra         #采集数据存放的位置
[iyunv@sever1 rra]# ls
等待5分钟之后
[iyunv@sever1 rra]# ls                  #已经有数据了
localhost_load_1min_5.rrd   localhost_mem_swap_4.rrd localhost_users_6.rrd
localhost_mem_buffers_3.rrd localhost_proc_7.rrd
查看图像,如图:
wKiom1gZwuazzAIpAAEYYKCcKq8456.jpg

2.监控服务端2的资源及测试
A)在服务端2安装net-snmp及配置
[iyunv@sever2 ~]# yum install net-snmp* -y           #安装
[iyunv@sever2 ~]# cd /etc/snmp/
[iyunv@sever2 snmp]# vim snmpd.conf                  #进入配置文件
40 #       sec.name source          community
41 #com2secnotConfigUser  default       public
42 com2sec local     localhost           wen       #添加本地资源,名字任意(wen)
43 com2sec mynetwork172.25.25.0/24      wen       #允许25网段的监控
49 #group   notConfigGroup v1           notConfigUser
50 #group   notConfigGroup v2c           notConfigUser
51 group MyRWGroupv1         local
52 group MyRWGroupv2c        local
53 group MyRWGroupusm        local
54 group MyROGroupv1         mynetwork
55 group MyROGroupv2c        mynetwork
56 group MyROGroupusm        mynetwork
62 view    systemview    included  .1.3.6.1.2.1
63 view    systemview    included  .1.3.6.1.2.1.25.1.1
64 view all    included .1                              80
69 #access  notConfigGroup ""      any      noauth    exact  systemview none none
70 access MyROGroup""      any       noauth   exact  all    none  none
71 access MyRWGroup""      any       noauth   exact  all    all   none
170 syslocation RHEL6.5         #类型
171 syscontact Root <mi@server2.example.com>       #出现问题时发送邮件的地址
331 disk / 10000                                   #允许监控磁盘
[iyunv@sever2 snmp]# /etc/init.d/snmpd start         #开启
Starting snmpd:                                           [  OK  ]
[iyunv@sever2 snmp]# snmpwalk -v 1 -c wen localhostIP-MIB::ipAdEntIfIndex   #测试数据,正常
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
IP-MIB::ipAdEntIfIndex.172.25.25.2 = INTEGER: 2
在服务端1测试,正常
[iyunv@sever1 ~]$ snmpwalk -v 1 -c wen 172.25.25.2IP-MIB::ipAdEntIfIndex   
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
IP-MIB::ipAdEntIfIndex.172.25.25.2 = INTEGER: 2
[iyunv@sever1 ~]$ snmpwalk -v 1 -c wen 172.25.25.2.1.3.6.1.4.1.2021.9
UCD-SNMP-MIB::dskIndex.1 = INTEGER: 1
UCD-SNMP-MIB::dskPath.1 = STRING: /
UCD-SNMP-MIB::dskDevice.1 = STRING:/dev/mapper/VolGroup-lv_root
UCD-SNMP-MIB::dskMinimum.1 = INTEGER: 10000
UCD-SNMP-MIB::dskMinPercent.1 = INTEGER: -1
UCD-SNMP-MIB::dskTotal.1 = INTEGER: 7853764
UCD-SNMP-MIB::dskAvail.1 = INTEGER: 6464416
UCD-SNMP-MIB::dskUsed.1 = INTEGER: 990400
UCD-SNMP-MIB::dskPercent.1 = INTEGER: 13
UCD-SNMP-MIB::dskPercentNode.1 = INTEGER: 6
UCD-SNMP-MIB::dskTotalLow.1 = Gauge32: 7853764
UCD-SNMP-MIB::dskTotalHigh.1 = Gauge32: 0
UCD-SNMP-MIB::dskAvailLow.1 = Gauge32: 6464416
UCD-SNMP-MIB::dskAvailHigh.1 = Gauge32: 0
UCD-SNMP-MIB::dskUsedLow.1 = Gauge32: 990400
UCD-SNMP-MIB::dskUsedHigh.1 = Gauge32: 0
UCD-SNMP-MIB::dskErrorFlag.1 = INTEGER: noError(0)
UCD-SNMP-MIB::dskErrorMsg.1 = STRING:
B)在图形界面添加设备及测试
选择add添加设备
wKioL1gZwuai89q8AABWFlP68EA197.jpg
依次填写设备名、ip、类型;将默认的public改写成文件里添加的名字(wen)选择create
wKioL1gZwuyhPEOcAAFwXXc76s8249.jpg wKiom1gZwu6AhmfGAAB5XTMFhCc212.jpg 选择create之后,如下图,点击Create Graphs for this Host
wKioL1gZwu-Bh6P8AABLWftmGaI624.jpg
如下图选择,点击create,设备添加成功
wKiom1gZwvHhzRRnAADzVDmloQo922.jpg
点击Graph Trees之后,如图,点击Default Trees
wKioL1gZwvKgG_6zAABbknu2TUw551.jpg
如图,点击Add
wKiom1gZwvPTHP1lAADgVKIIV4g000.jpg
在Tree ltem Type中选择Host Host中选择server2 Round Robin Archive中选择5 Minute,点击create
wKioL1gZwvWhC_fTAADu0cFegJw032.jpg
C)测试  点击graphs
wKiom1gZwvfRV5fcAAEuiEeTt64160.jpg
等5分钟后刷新,如图:
wKioL1gZwviToykeAAEgXD1C_tc098.jpg

3.cacti支持多线程的配置
A)安装配置cacti-spine
[iyunv@sever1 mnt]# yum install -y net-snmp-devel mysql-developenssl-devel dos2unix autoconf binutils libtool gcc cpp glibc-headerskernel-headers gilbc-devel   #安装安装cacti-spine之前所需要的包
[iyunv@sever1 mnt]# ls
cacti-0.8.8h.tar.gz cacti-spine-0.8.8h.tar.gz
php-snmp-5.3.3-26.el6.x86_64.rpm
[iyunv@sever1 mnt]# tar zxf cacti-spine-0.8.8h.tar.gz
[iyunv@sever1 mnt]# cd cacti-spine-0.8.8h
[iyunv@sever1 cacti-spine-0.8.8h]# sh bootstrap              #检查编译环境
[iyunv@sever1 cacti-spine-0.8.8h]# ./configure
[iyunv@sever1 cacti-spine-0.8.8h]# make
[iyunv@sever1 cacti-spine-0.8.8h]# make install
[iyunv@sever1 cacti-spine-0.8.8h]# cd /usr/local/spine/
[iyunv@sever1 spine]# ls
bin  etc
[iyunv@sever1 spine]# cd etc/
[iyunv@sever1 etc]# cp spine.conf.dist /etc/spine.conf      #配置文件
[iyunv@sever1 bin]# vim /etc/spine.conf
33 DB_Host         localhost                              #本地数据库
34 DB_Database     cacti                                  #数据库的名字
35 DB_User         cacti                                  #数据库的用户
36 DB_Pass         redhat                                 #密码
37 DB_Port         3306                                   #端口
[iyunv@sever1 etc]# cd ..
[iyunv@sever1 spine]# cd bin/                                   
[iyunv@sever1 bin]# ls                                      #启动脚本
spine
[iyunv@sever1 bin]# pwd
/usr/local/spine/bin
[iyunv@sever1 bin]# su - cacti
[cacti@sever1 ~]$ /usr/local/spine/bin/spine           #测试脚本,正常
SPINE: Using spine config file [/etc/spine.conf]
SPINE: Version 0.8.8h starting
SPINE: Time: 0.0820 s, Threads: 5, Hosts: 3
B)在图形界面添加脚本路径及更改poller的类型
点击Setting中的Paths添加启动sping脚本的路径
wKioL1gZwvnhGvbEAABMVYIokCE454.jpg
将cmd.php换成spine就可以支持多线程了。(线程设置在Devices中将Host Template)
wKiom1gZwvuDiiGfAACoirkBk8A518.jpg

4.用命令行设置监控及测试
A)用命令行设置监控
[iyunv@sever1 mnt]# uptime | awk '{print$1,$(NF-2),$(NF-1),$(NF)}' | sed 's/,//g'
15:16:15 0.00 0.00 0.00
[iyunv@sever1 mnt]# uptime | awk '{print$1,$(NF-2),$(NF-1),$(NF)}' | sed 's/,//g' >>/tmp/uptime
[iyunv@sever1 mnt]# cat /tmp/uptime
15:16:59 0.00 0.00 0.00
[iyunv@sever1 mnt]# vim /mnt/uptime.sh              #写脚本
1
2
3
4
5
#!/bin/bash

#create by 2016

uptime | awk '{print $1,$(NF-2),$(NF-1),$(NF)}' | sed 's/,//g'>>/tmp/uptime



[iyunv@sever1 mnt]# chmod +x /mnt/uptime.sh          #给执行权限
[iyunv@sever1 mnt]# crontab –e                     #创建定时任务(每隔10秒钟执行一次/mnt/uptime.sh脚本)
* * * * * /mnt/uptime.sh
* * * * * sleep 10;/mnt/uptime.sh
* * * * * sleep 20;/mnt/uptime.sh
* * * * * sleep 30;/mnt/uptime.sh
* * * * * sleep 40;/mnt/uptime.sh
* * * * * sleep 50;/mnt/uptime.sh
[iyunv@sever1 mnt]# dd if=/dev/zero of=/dev/null &   #加负载,制造峰值
[1] 7811
[iyunv@sever1 mnt]# cat /tmp/uptime                  #查看,在增加
15:16:59 0.00 0.00 0.00
15:21:01 0.00 0.00 0.00
15:21:11 0.00 0.00 0.00
15:21:21 0.00 0.00 0.00
15:21:31 0.15 0.03 0.01
15:21:41 0.28 0.06 0.02
15:21:51 0.39 0.09 0.03
15:22:01 0.49 0.12 0.04
15:22:11 0.56 0.15 0.05
15:22:21 0.63 0.18 0.06
15:22:31 0.69 0.21 0.07
15:22:41 0.73 0.23 0.08
[iyunv@sever1 mnt]# kill -9 dd                  #去掉负载
[iyunv@sever1 bin]# yum install -y gnuplot       #安装绘图工具
[iyunv@sever1 html]# vim /mnt/uptime.sh         #继续编辑脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash

#create by 2016

uptime | awk '{print $1,$(NF-2),$(NF-1),$(NF)}' | sed 's/,//g'>>/tmp/uptime

gnuplot<<EOF
set terminal png tiny
set output '/var/www/html/loadavg.png'
set xdata time
set timefmt '%H:%M:%S'
set xlabel 'TIME'
set format x '%H:%M'
set xtics rotate
set ylabel 'load average'
plot '/tmp/uptime' u 1:2 t '1-min' with lines, '/tmp/uptime' u1:3 t '5-min' with lines, '/tmp/uptime' u 1:4 t '15-min' with lines
EOF



[iyunv@sever1 html]# vimindex.html             #写测试页
1
2
3
4
<html>
<h1>LOAD AVERAGE</h1>
<a href="/loadavg.png">Load Average</a>
</html>



B)测试  172.25.25.1
wKioL1gZwwTxNabuAAAb_0tWZC8992.jpg
点击Load Average
wKiom1gZwwaABNUUAAGzGH-1kiQ684.jpg



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-294908-1-1.html 上篇帖子: linux下搭建cacti监控 下篇帖子: Cacti配置安装、监控Cisco交换机 多线程 监控 主机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表