第七章Cacti系统监控邮件报警和压力测试
原理简单来说,Cacti就是rrdtool的一个forefront,它内置了快速的获数据取工具、优秀的绘图模板以及许多设计精良的数据获取脚本,从而可以通过结合rrdtool强大的数据抓取、数据存储和绘图功能,轻松实现主机负载、网络流量等信息的走势图的绘制。
Cacti的安装:
Cacti是建立在lamp环境下的,先建立lamp环境和编译环境。
Yum install pango pango-devel freetype freetype-devel libpng libpng-devel gettext gettext-devel libjpeg libjpeg-devel gd gd-devel libxml2 libxml2-devel libiconv libiconv-devel qpixman qpixman-devel glib glib-devel cairo cairo-devel libart*
监控协议:SNMP(simple network manager protocol)
设置网站程序用户,然后重启apache,进程生效
Setfacl –m d:u:apache:rwx –R htdocs/ //修改文件属性值
输入数据库名,数据库用户名和密码,指定url
2.测试:
选择new install全新安装
如果出现时区错误,解决方法
1:首先改 /etc/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone ='Asia/Shanghai'
第一行写入:date_default_timezone_set ('Asia/Shanghai');
登陆之后,我们首先添加主机,然后给该主机分配服务;接着我们添加图集,给图集添加元素,我们将我们刚设置的主机添加入图集,于是就可以通过graphs 进行访问图像了。
服务添加过后,图像不会马上显示,需要一定时间,我们可以建立一个计划任务来完成该监控。也可以强制执行php
稍等会看到图集
Apache-status是apache的扩展功能,在/usr/local/apache2/conf/extra里面,我们通过命令grep –I“server-status”*查找到该扩展在httpd-info.conf配置文件中,我们然后提取此段代码,然后粘贴到/usr/local/apache2/conf/httpd.conf 末尾,然后重启apache服务,使配置生效,然后加载给模块使apache-status模块生效。
该命令查看到帮助,然后知道-t –D DUMP_MOUDULES可以查看所有的静态模块,可以看到有status_module模块,不需要再加载了
http://192.168.211.128/server-status //查看server-status模块
显示访问次数和流量和cpu负载和访问的网站
Apache进程有99个空闲的,我们可以通过
首先下载apache图形模块
Wget http://forums.cacti.net/about25227.html&highlight=apachestatus
解压后它包括两个文件ss_aoacge_stats.php和cacti_host_template_webserver_-_apache.xml文件
然后,我们将ss_aoacge_stats.php脚本文件放在cacti/scripts下面,我们将cacti_host_template_webserver_-_apache.xml文件通过web界面导入到cacti。
导入的办法是:console->import templates->浏览->upload
这是我们选择“device”进入主机,这时选择图集便可以看到apahce模块了。
我们创建过图集后,单击“create graphs for this host“->打钩进行启用服务。
这时定位到graphs面板查看图像
cactii的功能是通过插件进行完善的,对于0.8.8以上版本不需要安装plungin了。然后直接部署插件就行了。
Cp cacti-plugin-0.8.7h-PA-v3.0.diff /usr/local/apache2/htdocs/cacti //打补丁
对于monitor,settings和thold插件的安装,解压后拷贝到/usr/local/apache2/htdocs/cacti/plugins然后执行setfacl –m u:apache:rwx –R htdocs/和setfacl –m d:u:apache:rwx –R htdocs/分配权限即可。
这时打开图形界面,通过plugin management可以看到定义的插件,然后单击左边的箭头,启动即可,启动后颜色为红色。
这是定位到setting按钮可以看到多了几个misc,mail/dns和template按钮,我们可以设置邮件进行测试,我们使用postfix邮件,定义接收邮箱和端口以及发送邮箱。
我们配置完毕后单击右上角的“send test mail ”测试
模版可以导出xml文件,然后备用。通过device选择主机->create graph->auto-create thresholds进行调用模版即可。
Apache2.2之后的版本有ab压力测试工具可以直接使用
/usr/local/apache2/bin/ab –c 10 –n 1000 http://ip/index.php
表示10个用户发送1000次请求
我们可以在htdocs中建立内容相同的index.html和index.php页面
测试:/usr/local/apache2/bin/ab –c 10 –n 1000 http://192.168.211.128/index.html
/usr/local/apache2/bin/ab –c 10 –n 1000 http://192.168.211.128/index.php
可以看到html的速度要快于php页面,静态页面还是快一些的。
50,100个用户,请求3000次,重复5次操作,分别对myisam和innodb引擎进行测试