Cacti网络监控,邮件报警和压力测试

Cacti网络监控,邮件报警和压力测试


1.cacti系统监控
cacti的源代码是已经编译好的网站
只要放在apache下就可以运行

需要lamp环境搭建

安装rrdtool依赖包,20几个依赖包
yum -y 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*




安装rrdtool制图软件
源代码安装3步
解压,绘制根据地图(makefile),编译和安装(根据makefile)
rrdtool-1.4.5.tar.gz
tar zxvf rrdtool-1.4.5.tar.gz
cd  rrdtool-1.4.5
./configure --prefix=/usr/local/
make && make install


被监控的服务器安装snmp
yum -y intall net-snmp*
vi /etc/snmp.conf
rocommunity public

service snmpd restart
chkconfig snmpd on
netstat -tunpl |grep :161


cacti源码包下载
cacti-0.8.7h-beta3.tar.gz
tar zxvf cacti-0.8.7h-beta3.tar.gz
里面都是php网站,copy到apache下
rsync -a cacti-0.8.7h-beta3/  /usr/local/apache2/htdocs/cacti/
设置网站权限,使用acl来设置权限
cd /usr/local/apache2/
useradd apache
passwd apache
所有人访问网站通过apache用户进程来执行
要改变apache的执行身份
vi /usr/local/apache2/etc/httpd.conf
User apache
Group apache

/usr/local/apache2/bin/apachetl restart
ps -ef |grep httpd
看到执行者都是apache用户

cd htdocs/
给该目录下所有网站加rwx权限,作为默认权限
setfacl -m u:apache:rwx -R htdocs/
setfacl -m d:u:apache:rwx -R htdocs/
查看
getfacl htdocs/


为cacti网站创建数据库,导入数据
mysql -uroot -p123
create database cactidb default character set utf8;
//grant all on cactidb.* to apache@localhost identfied by '123';
quit
cd /usr/local/apache2/htdocs/cacti/
mysql -uroot -p123 cactidb < cacti/cacti.sql
配置网站数据库连接
cd include/
vi config.php
$database_type="mysql";
$database_default="cactidb";
$database_hostname="root";
$database_password="123";
$database_port="3306";
$database_ssl=false;
$url_path="/cacti/";

测试网站
把apache的首页改成cacti的index.php
vi /usr/local/apache2/etc/httpd.conf
DirectoryIndex index.php index.html
重启apache
访问
192.168.10.1/cacti
看到cacti的在线配置/安装画面
使用源代码安装php的话需要填写
php binary path
/usr/local/php/bin/php
第一次登陆用户admin/admin
进入成功




2.cacti流量监控
添加监控的device
选择192.168.10.1
描述是web
snmp使用public口令
graph template里面可以选择要监控的内容
可以选择cpu,memory,disk,eth
然后进入绘图区
选择要监控的cpu, 根分区,boot分区,内存,创建绘图
在graph tree里面要添加刚才的Host设备web
需要手工编写crontab,利用cacti提供的php脚本来获得数据
crontab -e
*/5 * * * * /usr/local/php/bin/php /usr/local/apache2/htdocs/cacti/poller.php &>/dev/null



3.apache性能监控
cacti没有自带apache模板
官方下载模板
cacti_host_template_webserver_-_apache.xml
ss_apache_stats.php

apache需要开启自带的Apache Server Status功能
然后我们从这里取得绘图的数据
cd /usr/local/apache2/etc/
查找当前目录下所有含有server=status字样的文件
grep -i "server=status" *
找到httpd-info.conf
vi httpd-info.conf
然后后copy一段话,放在/usr/local/apache2/etc/httpd.conf最下方
<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from all
</Location>
ExtendedStatus On
查看apache是否支持status模块
一般默认是静态加载,查看已经加载的模块
/usr/local/apache2/bin/apachetl -h
/usr/local/apache2/bin/apachetl -t -D DUMP_MODULES
看到存在status_module
apache已经支持
重启apache后
访问192.168.10.1/server-status
看到了apache的监控画面
可看到apache的所有进程,active和idle的

把ss_apache_stats.php复制到/usr/local/apache2/htdocs/cacti/scripts/
cacti网页上import templates导入cacti_host_template_webserver_-_apache.xml
然后就可以选择到apache的模板








*************************************************************

1.cacti补丁升级
settings-v0.71-1.tgz
thold-v0.4.9-3.tgz    
cacti-plugin-0.8.7h-PA-v3.0-beta3.tar.gz

tar xzf cacti-plugin-0.8.7h-PA-v3.0-beta3.tar.gz
cd cacti-plugin-arch
ls
rsycn -a cacti-plugin-0.8.7h-PA-v3.0.diff pa.sql /usr/local/apache2/htdocs/cacti/
cd /usr/local/apache2/htdocs/cacti/
打补丁命令
patch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff
导数据库
mysql -uroot -p123 cactidb < pa.sql
修改cacti配置文件
cd  /usr/local/apache2/htdocs/cacti/include/
vi globe.php
修改数据库配置,用户密码等





2.cacti thold插件管理
可以进行阀值管理发邮件
tar xzf settings-v0.71-1.tgz
tar xzf thold-v0.4.9-3.tgz
rsync -a settings thold /usr/local/apache2/htdocs/cacti/plugins/
cd /usr/local/apache2/
统一对apache用户授权,对所有htdocs下的网站rwx
setfacl -m u:apache:rwx -R htdocs/
setfacl -m d:u:apache:rwx -R htdocs/

进入cacti网站
可以到plugin management
可以看到刚才发上去的settings, thold目录

再配置cacti公共文件,注册这些插件
vi /usr/local/apache2/htdocs/cacti/config.php
$plugins=array();
$plugins[]="settings";
$plugins[]="thold";
然后就可以开启插件功能了
先启动settings,再启动thold
看到多出来一个thold标签



3.cacti邮件报警
需要删除sendmail,安装postfix,dovecot

settings里面配置mail/DNS
再到threshold template
配置对disk设置一个报警
设置一个最高阀值
超过22%,发邮件给[email protected]
每5分钟发一次邮件,每5分钟做一次检测




4.ab压力测试
apache自带的压力测试
测试html和php文件的速度
在htdocs里面
touch index.html
touch index.php
里面写入相同的html内容
使用linux自带的字符浏览器测试下静态页面的显示
elinks http://192.168.10.1/index.html
q 退出

ab命令
/usr/local/apache2/bin/ab -c 1000 -n 1000 http://192.168.10.1/index.php
-n 1000 请求总数1000
-c 1000 并发用户数1000

php是html的2,3倍左右




5.mysqlslap压力测试
自动生成测试表和数据并全部打印出来
/usr/local/mysql/bin/mysqlslap --no-defaults -a --only-print
50和100个并发分别得到一次测试结果,对myisam和innodb分别作一次测试,查询3000次,做5轮
/usr/local/mysql/bin/mysqlslap --no-defaults -uroot -p123 -a --concurrency=50,100 --number-of-queries 3000--iterations=5 --engine=myisam,innodb --debug-info
总共应该得到4分测试结果






你可能感兴趣的:(cacti,ab测试,mysqlslap)