服务器架构之性能扩展-第七章(8)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

 第七章Cacti系统监控邮件报警和压力测试

7.1 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*

7.2部署cacti
1. 安装 rrdtool 源码包
Tar zxvf rrdtool-1.4.5.tar.gz
Cd rrdtool-1.4.5
./configure –prefix=/usr/local
Make && make install

2. 安装 snmp 协议

监控协议:SNMPsimple network manager protocol

Yum intall net-snmp*

Vi /etc/snmp/snmpd.conf

Service snmpd restart

3. 安装 cacti 源码包
Tar zxvf cacti-0.8.7h-beta3.tar.gz
Mv cact-0.8.7h-beta3/ /usr/local/apache2/htdocs/cacti/
Vi /usr/local./apache2/conf/httpd.conf

设置网站程序用户,然后重启apache,进程生效

Setfacl –m u:apache:rwx –R htdocs/

Setfacl –m d:u:apache:rwx –R htdocs/   //修改文件属性值

Getfacl htdocs/   // 查看 htdocs 属性

4. 建立测试数据库
Mysql>create database cacti;
Shell#mysql cacti < /usr/local/apache2/htdocs/cacti/caci.sql
Mysql>use cacti;
Mysql>show tables;

5. 编辑 cacti 配置文件
Vi /usr/local/apache2/htdocs/cacti/include/config.php

输入数据库名,数据库用户名和密码,指定url

2.测试:

http://192.168.211.128/cacti

选择new install全新安装

进入环境检查页

检查通过,单击 finsh ,然后输入账户登录,首次登录用户名 admin 密码 admin ,首次需要修改密码,我们修改为 5991460

如果出现时区错误,解决方法

1:首先改 /etc/php.ini

[Date]
; Defines the default timezone used by the date functions
http://php.net/date.timezone
date.timezone ='Asia/Shanghai'

2 :在程序代码中写入

第一行写入:date_default_timezone_set ('Asia/Shanghai');

登陆之后,我们首先添加主机,然后给该主机分配服务;接着我们添加图集,给图集添加元素,我们将我们刚设置的主机添加入图集,于是就可以通过graphs 进行访问图像了。

服务添加过后,图像不会马上显示,需要一定时间,我们可以建立一个计划任务来完成该监控。也可以强制执行php

/usr/local/apache2/htdocs/cacti/poller.php &>/dev/null

稍等会看到图集

8. 开启 apache-status 功能

Apache-statusapache的扩展功能,在/usr/local/apache2/conf/extra里面,我们通过命令grep –Iserver-status*查找到该扩展在httpd-info.conf配置文件中,我们然后提取此段代码,然后粘贴到/usr/local/apache2/conf/httpd.conf 末尾,然后重启apache服务,使配置生效,然后加载给模块使apache-status模块生效。

/usr/loacl/apache/bin/apachectl -h

该命令查看到帮助,然后知道-t –D DUMP_MOUDULES可以查看所有的静态模块,可以看到有status_module模块,不需要再加载了

http://192.168.211.128/server-status     //查看server-status模块

显示访问次数和流量和cpu负载和访问的网站

Apache进程有99个空闲的,我们可以通过

Pstree –p|grep httpd  查看 http 进程

3. Cact 监控 apache 状态

首先下载apache图形模块

Wget http://forums.cacti.net/about25227.html&highlight=apachestatus

解压后它包括两个文件ss_aoacge_stats.phpcacti_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面板查看图像

 

 

7.3cacti插件的安装
cactii的功能是通过插件进行完善的,对于0.8.8以上版本不需要安装plungin了。然后直接部署插件就行了。
cacti-0.8.7i-PIA-3.1.tar.gz http://down.51cto.com/data/309895
其它插件,可以从这里找 http://docs.cacti.net/plugins 下载
还是介绍一下 plugins 的安装:
Tar zxvf cacti-0.8.7i-PIA-3.1.tar.gz

Cp cacti-plugin-0.8.7h-PA-v3.0.diff /usr/local/apache2/htdocs/cacti //打补丁

Mysql cacti <pa.sql // 导入数据库
Vi /usr/local/apache2/htdocs/cacti/includes/global.php

对于monitorsettingsthold插件的安装,解压后拷贝到/usr/local/apache2/htdocs/cacti/plugins然后执行setfacl –m u:apache:rwx –R htdocs/setfacl –m d:u:apache:rwx –R htdocs/分配权限即可。

Vi /usr/local/apache2/htdocs/cacti/include/config.php // 定义插件

这时打开图形界面,通过plugin management可以看到定义的插件,然后单击左边的箭头,启动即可,启动后颜色为红色。

这是定位到setting按钮可以看到多了几个miscmail/dnstemplate按钮,我们可以设置邮件进行测试,我们使用postfix邮件,定义接收邮箱和端口以及发送邮箱。

我们配置完毕后单击右上角的“send test mail ”测试

使用 outlook 进行查看邮件,可以看到收到测试邮件

测试:
Console->threahold templates-> 定义新的模版

我们定义一个空间报警的模版,选择“ hara drive space ”图集,然后空间量选择 60 ,时间每五分钟,比例选择 percenter ,占 total 的百分比,输入接收邮箱。

模版可以导出xml文件,然后备用。通过device选择主机->create graph->auto-create thresholds进行调用模版即可。

7.4压力测试
7.4.1apache压力测试

Apache2.2之后的版本有ab压力测试工具可以直接使用

/usr/local/apache2/bin/ab –c 10 –n 1000 http://ip/index.php

表示10个用户发送1000次请求

我们可以在htdocs中建立内容相同的index.htmlindex.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页面,静态页面还是快一些的。

7.4.2mysqlslap压力测试
Mysql5.1 以上版本的数据拥有这个测试工具。

50,100个用户,请求3000,重复5次操作,分别对myisaminnodb引擎进行测试

 
 
 
 
 
本文转自zsaisai 51CTO博客,原文链接:http://blog.51cto.com/3402313/970873
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
17天前
|
存储 缓存 Cloud Native
MPP架构数据仓库使用问题之ADB PG云原生版本的扩缩容性能怎么样
MPP架构数据仓库使用问题之ADB PG云原生版本的扩缩容性能怎么样
MPP架构数据仓库使用问题之ADB PG云原生版本的扩缩容性能怎么样
|
6天前
|
存储 编解码 网络协议
阿里云服务器通用型g8y实例与通用型g7收费标准与性能区别参考
阿里云服务器通用型g7、通用型g8y实例都是阿里云目前活动中可选的通用型实例规格,它们同属于通用型实例,但是他们之间是有一些区别的。通用型g7属于第七代云服务器,而通用型g8y属于倚天云服务器,是最新一代的云服务器实例。本文为大家介绍一下它们在收费标准及性能方面的一些区别,以供参考。
阿里云服务器通用型g8y实例与通用型g7收费标准与性能区别参考
|
7天前
|
存储 机器学习/深度学习 安全
阿里云服务器计算型c8i和通用型g8i实例性能、收费标准和适用场景参考
阿里云不断推出高性能云服务器实例以满足不同用户的需求。其中,计算型c8i与通用型g8i实例凭借卓越的性能和灵活的配置,成为企业级用户的热门选择。计算型c8i和通用型g8i实例采用阿里云全新CIPU架构,可提供稳定的算力输出、更强劲的I/O引擎以及芯片级的安全加固,单台实例最高支持100万IOPS,CPU采用Intel®Xeon®Emerald Rapids或者Intel®Xeon®Sapphire Rapids,主频不低于2.7 GHz,全核睿频3.2GHz。本文将深入探讨这两款实例的性能特点、最新收费标准以及适用场景和活动价格情况,以供大家了解和选择。
阿里云服务器计算型c8i和通用型g8i实例性能、收费标准和适用场景参考
|
1天前
|
缓存 运维 NoSQL
二级缓存架构极致提升系统性能
本文详细阐述了如何通过二级缓存架构设计提升高并发下的系统性能。
|
11天前
|
弹性计算 固态存储 NoSQL
阿里云服务器系统盘和数据盘ESSD Entry、ESSD AutoPL和ESSD云盘区别、性能和价格整理
阿里云服务器系统盘有ESSD Entry、ESSD云盘及ESSD AutoPL三种选择,各自在性能和适用场景上有所不同。ESSD Entry云盘性价比高,适合开发与测试业务;ESSD AutoPL云盘实现容量与性能解耦,支持自定义预配置性能,适用于时延敏感或IO密集型场景;ESSD云盘则提供多种性能级别,适用于大型OLTP数据库和NoSQL数据库等。详情及价格参见阿里云官网。
|
10天前
|
缓存 安全 Java
如何利用Go语言提升微服务架构的性能
在当今的软件开发中,微服务架构逐渐成为主流选择,它通过将应用程序拆分为多个小服务来提升灵活性和可维护性。然而,如何确保这些微服务高效且稳定地运行是一个关键问题。Go语言,以其高效的并发处理能力和简洁的语法,成为解决这一问题的理想工具。本文将探讨如何通过Go语言优化微服务架构的性能,包括高效的并发编程、内存管理技巧以及如何利用Go生态系统中的工具来提升服务的响应速度和资源利用率。
|
11天前
|
设计模式 存储 人工智能
深度解析Unity游戏开发:从零构建可扩展与可维护的游戏架构,让你的游戏项目在模块化设计、脚本对象运用及状态模式处理中焕发新生,实现高效迭代与团队协作的完美平衡之路
【9月更文挑战第1天】游戏开发中的架构设计是项目成功的关键。良好的架构能提升开发效率并确保项目的长期可维护性和可扩展性。在使用Unity引擎时,合理的架构尤为重要。本文探讨了如何在Unity中实现可扩展且易维护的游戏架构,包括模块化设计、使用脚本对象管理数据、应用设计模式(如状态模式)及采用MVC/MVVM架构模式。通过这些方法,可以显著提高开发效率和游戏质量。例如,模块化设计将游戏拆分为独立模块。
38 3
|
13天前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
Java服务器端技术:Servlet与JSP的集成与扩展
12 3
|
15天前
|
缓存 NoSQL 数据库
Web服务器与数据库优化:提升系统性能的最佳实践
【8月更文第28天】在现代的Web应用中,Web服务器与后端数据库之间的交互是至关重要的部分。优化这些组件及其相互作用可以显著提高系统的响应速度、吞吐量和可扩展性。本文将探讨几种常见的优化策略,并提供一些具体的代码示例。
31 1
|
18天前
|
存储 API 持续交付
探索微服务架构:构建灵活、可扩展的后端系统
【8月更文挑战第25天】 本文将引导您理解微服务架构的核心概念,探讨其对现代后端系统设计的影响。我们将从基础讲起,逐步深入到微服务的高级应用,旨在启发读者思考如何利用微服务原则优化后端开发实践。
37 4

热门文章

最新文章