阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux监控工具Cacti安装部署详解

147次阅读
没有评论

共计 11433 个字符,预计需要花费 29 分钟才能阅读完成。

Cacti 在英文中的意思是仙人掌的意思,Cacti 是一套基于 PHP、MySQL、SNMP 及 RRDTool 开发的网络流量监测图形分析工具。它通过 snmpget 来获取数据,使用 RRDtool 绘画图形,它的界面非常漂亮,能让你根本无需明白 rrdtool 的参数能轻易的绘出漂亮的图形。而且你完全可以不需要了解 RRDtool 复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结 构、host 以及任何一张图,还可以与 LDAP 结合进行用户验证,同时也能自己增加模板,让你添加自己的 snmp_query 和 script!功能非常强大完善,界面友好。可以说,Cacti 将 rrdtool 的所有“缺点”都补足了!

官方网站:http://www.cacti.net。好了,Cacti 的简单介绍我们就说到这里了,下面我们来看一下 Cacti 的工作流程。

主机环境  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

[root@sever1 Asia]# yum install rrdtool mysql-server php httpdphp-mysql php-xml net-snmp net-snmp-utils- y                        #安装 cacti 之前要安装的包

[root@sever1 Asia]# cd /mnt/

[root@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

[root@sever1 mnt]# rpm -vih php-snmp-5.3.3-26.el6.x86_64.rpm

[root@sever1 mnt]# vim /etc/php.ini

 946 date.timezone =Asia/Shanghai

[root@sever1 mnt]# tar zxf cacti-0.8.8h.tar.gz -C/var/www/html/  #解压到 /var/www/html/ 目录

[root@sever1 mnt]# cd /var/www/html/

[root@sever1 html]# ls

cacti-0.8.8h

[root@sever1 html]# ln -s cacti-0.8.8h/ cacti          #作软链接

[root@sever1 html]# ls

cacti  cacti-0.8.8h

[root@sever1 include]# /etc/init.d/mysqld start        #开启数据库

[root@sever1 include]# mysql_secure_installation        #初始化,默认没密码,这里将密码设置成了 redhat

[root@sever1 html]# cd cacti/                 

[root@sever1 cacti]# mysql -predhat -e “create databasecacti”      #创建名为 cacti 的数据库

[root@sever1 cacti]# mysql -predhat cacti < cacti.sql              #将 cacti.sql 文件导入到 cacti 数据库中

[root@sever1 cacti]# mysql -predhat -e “grant all oncacti.* to cacti@localhost identified by ‘redhat'”                #创建本地 cacti 用户,并将 cacti 数据库的所有权限给 cacti 用户

[root@sever1 html]# cd include/               

[root@sever1 include]# vim config.php                  #修改配置文件

 29 $database_username =”cacti”;                        #刚创建的 cacti 数据库的用户名

 30 $database_password =”redhat”;                      #用户 cacti 的密码

 39 $url_path =”/cacti/”;

 42 $cacti_session_name =”Cacti”;

[root@sever1 cacti]# useradd -u 1000 cacti              #在系统中创建 cacti 用户

[root@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

[root@sever1 cacti]# su – cacti                        #切换到 cacti 用户

[cacti@sever1 ~]$ crontab -e                            #创建定时任务

*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null2>&1

[cacti@sever1 ~]$ logout

[root@sever1 ~]# /etc/init.d/httpd start                #开启 httpd

Stopping httpd:                                          [OK]

安装 cacti  172.25.25.1/cacti

点击 next

Linux 监控工具 Cacti 安装部署详解

点击 next

Linux 监控工具 Cacti 安装部署详解

点击 next

Linux 监控工具 Cacti 安装部署详解

在测试之前,时间得同步

B)测试    172.25.25.1/cacti

登陆 用户名:admin 密码:admin

Linux 监控工具 Cacti 安装部署详解

第一次登陆,会提示修改密码

Linux 监控工具 Cacti 安装部署详解

登陆之后,如图:

Linux 监控工具 Cacti 安装部署详解

点击 graphs,如图:

Linux 监控工具 Cacti 安装部署详解

[root@sever1 cacti]# cd rra        #采集数据存放的位置

[root@sever1 rra]# ls

等待 5 分钟之后

[root@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

查看图像,如图:

Linux 监控工具 Cacti 安装部署详解

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2017-03/141612p2.htm

2. 监控服务端 2 的资源及测试

A)在服务端 2 安装 net-snmp 及配置

[root@sever2 ~]# yum install net-snmp* -y          # 安装

[root@sever2 ~]# cd /etc/snmp/

[root@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                                  # 允许监控磁盘

[root@sever2 snmp]# /etc/init.d/snmpd start        # 开启

Starting snmpd:                                           [OK]

[root@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 测试,正常

[root@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

[root@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 添加设备

Linux 监控工具 Cacti 安装部署详解

依次填写设备名、ip、类型;将默认的 public 改写成文件里添加的名字(wen)选择 create

Linux 监控工具 Cacti 安装部署详解Linux 监控工具 Cacti 安装部署详解 选择 create 之后,如下图,点击 Create Graphs for this Host

Linux 监控工具 Cacti 安装部署详解

如下图选择,点击 create,设备添加成功

Linux 监控工具 Cacti 安装部署详解

点击 Graph Trees 之后,如图,点击 Default Trees

Linux 监控工具 Cacti 安装部署详解

如图,点击 Add

Linux 监控工具 Cacti 安装部署详解

在 Tree ltem Type 中选择 Host Host 中选择 server2 Round Robin Archive 中选择 5 Minute,点击 create

Linux 监控工具 Cacti 安装部署详解

C)测试  点击 graphs

Linux 监控工具 Cacti 安装部署详解

等 5 分钟后刷新,如图:

wKioL1gZwviToykeAAEgXD1C_tc098.png

Cacti 在英文中的意思是仙人掌的意思,Cacti 是一套基于 PHP、MySQL、SNMP 及 RRDTool 开发的网络流量监测图形分析工具。它通过 snmpget 来获取数据,使用 RRDtool 绘画图形,它的界面非常漂亮,能让你根本无需明白 rrdtool 的参数能轻易的绘出漂亮的图形。而且你完全可以不需要了解 RRDtool 复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结 构、host 以及任何一张图,还可以与 LDAP 结合进行用户验证,同时也能自己增加模板,让你添加自己的 snmp_query 和 script!功能非常强大完善,界面友好。可以说,Cacti 将 rrdtool 的所有“缺点”都补足了!

官方网站:http://www.cacti.net。好了,Cacti 的简单介绍我们就说到这里了,下面我们来看一下 Cacti 的工作流程。

主机环境  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

[root@sever1 Asia]# yum install rrdtool mysql-server php httpdphp-mysql php-xml net-snmp net-snmp-utils- y                        #安装 cacti 之前要安装的包

[root@sever1 Asia]# cd /mnt/

[root@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

[root@sever1 mnt]# rpm -vih php-snmp-5.3.3-26.el6.x86_64.rpm

[root@sever1 mnt]# vim /etc/php.ini

 946 date.timezone =Asia/Shanghai

[root@sever1 mnt]# tar zxf cacti-0.8.8h.tar.gz -C/var/www/html/  #解压到 /var/www/html/ 目录

[root@sever1 mnt]# cd /var/www/html/

[root@sever1 html]# ls

cacti-0.8.8h

[root@sever1 html]# ln -s cacti-0.8.8h/ cacti          #作软链接

[root@sever1 html]# ls

cacti  cacti-0.8.8h

[root@sever1 include]# /etc/init.d/mysqld start        #开启数据库

[root@sever1 include]# mysql_secure_installation        #初始化,默认没密码,这里将密码设置成了 redhat

[root@sever1 html]# cd cacti/                 

[root@sever1 cacti]# mysql -predhat -e “create databasecacti”      #创建名为 cacti 的数据库

[root@sever1 cacti]# mysql -predhat cacti < cacti.sql              #将 cacti.sql 文件导入到 cacti 数据库中

[root@sever1 cacti]# mysql -predhat -e “grant all oncacti.* to cacti@localhost identified by ‘redhat'”                #创建本地 cacti 用户,并将 cacti 数据库的所有权限给 cacti 用户

[root@sever1 html]# cd include/               

[root@sever1 include]# vim config.php                  #修改配置文件

 29 $database_username =”cacti”;                        #刚创建的 cacti 数据库的用户名

 30 $database_password =”redhat”;                      #用户 cacti 的密码

 39 $url_path =”/cacti/”;

 42 $cacti_session_name =”Cacti”;

[root@sever1 cacti]# useradd -u 1000 cacti              #在系统中创建 cacti 用户

[root@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

[root@sever1 cacti]# su – cacti                        #切换到 cacti 用户

[cacti@sever1 ~]$ crontab -e                            #创建定时任务

*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null2>&1

[cacti@sever1 ~]$ logout

[root@sever1 ~]# /etc/init.d/httpd start                #开启 httpd

Stopping httpd:                                          [OK]

安装 cacti  172.25.25.1/cacti

点击 next

Linux 监控工具 Cacti 安装部署详解

点击 next

Linux 监控工具 Cacti 安装部署详解

点击 next

Linux 监控工具 Cacti 安装部署详解

在测试之前,时间得同步

B)测试    172.25.25.1/cacti

登陆 用户名:admin 密码:admin

Linux 监控工具 Cacti 安装部署详解

第一次登陆,会提示修改密码

Linux 监控工具 Cacti 安装部署详解

登陆之后,如图:

Linux 监控工具 Cacti 安装部署详解

点击 graphs,如图:

Linux 监控工具 Cacti 安装部署详解

[root@sever1 cacti]# cd rra        #采集数据存放的位置

[root@sever1 rra]# ls

等待 5 分钟之后

[root@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

查看图像,如图:

Linux 监控工具 Cacti 安装部署详解

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2017-03/141612p2.htm

3.cacti 支持多线程的配置

A)安装配置 cacti-spine

[root@sever1 mnt]# yum install -y net-snmp-devel mysql-developenssl-devel dos2unix autoconf binutils libtool gcc cpp glibc-headerskernel-headers gilbc-devel  # 安装安装 cacti-spine 之前所需要的包

[root@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

[root@sever1 mnt]# tar zxf cacti-spine-0.8.8h.tar.gz

[root@sever1 mnt]# cd cacti-spine-0.8.8h

[root@sever1 cacti-spine-0.8.8h]# sh bootstrap             # 检查编译环境

[root@sever1 cacti-spine-0.8.8h]# ./configure

[root@sever1 cacti-spine-0.8.8h]# make

[root@sever1 cacti-spine-0.8.8h]# make install

[root@sever1 cacti-spine-0.8.8h]# cd /usr/local/spine/

[root@sever1 spine]# ls

bin  etc

[root@sever1 spine]# cd etc/

[root@sever1 etc]# cp spine.conf.dist /etc/spine.conf      # 配置文件

[root@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                                  # 端口

[root@sever1 etc]# cd ..

[root@sever1 spine]# cd bin/                                 

[root@sever1 bin]# ls                                      # 启动脚本

spine

[root@sever1 bin]# pwd

/usr/local/spine/bin

[root@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 脚本的路径

Linux 监控工具 Cacti 安装部署详解

将 cmd.php 换成 spine 就可以支持多线程了。(线程设置在 Devices 中将 Host Template)

wKiom1gZwvuDiiGfAACoirkBk8A518.png

4. 用命令行设置监控及测试

A)用命令行设置监控

[root@sever1 mnt]# uptime | awk ‘{print$1,$(NF-2),$(NF-1),$(NF)}’ | sed ‘s/,//g’

15:16:15 0.00 0.00 0.00

[root@sever1 mnt]# uptime | awk ‘{print$1,$(NF-2),$(NF-1),$(NF)}’ | sed ‘s/,//g’ >>/tmp/uptime

[root@sever1 mnt]# cat /tmp/uptime

15:16:59 0.00 0.00 0.00

[root@sever1 mnt]# vim /mnt/uptime.sh              #写脚本

#!/bin/bash
 
#create by 2016
 
uptime | awk ‘{print $1,$(NF-2),$(NF-1),$(NF)}’ | sed ‘s/,//g’>>/tmp/uptime

 

[root@sever1 mnt]# chmod +x /mnt/uptime.sh          #给执行权限

[root@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

[root@sever1 mnt]# dd if=/dev/zero of=/dev/null &  #加负载,制造峰值

[1] 7811

[root@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

[root@sever1 mnt]# kill -9 dd                  #去掉负载

[root@sever1 bin]# yum install -y gnuplot      #安装绘图工具

[root@sever1 html]# vim /mnt/uptime.sh        #继续编辑脚本

#!/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

 [root@sever1 html]# vimindex.html            #写测试页

<html>
<h1>LOAD AVERAGE</h1>
<a href=”https://www.linuxidc.com/loadavg.png”>Load Average</a>
</html>

B)测试  172.25.25.1

Linux 监控工具 Cacti 安装部署详解

点击 Load Average

Linux 监控工具 Cacti 安装部署详解

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-03/141612.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计11433字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中