cacti监控主机_@hua监控主机
1.如何修改 unexpected error in ping
2.如何设计一个mysql性能监控的软件
3.怎么将外界mysql数据库于cacti连接起来
背景:
Apache做分发+静态页面分发,weblogic做应用服务器,linux环境。
最近客户反映新增一批客户端后,经常不能打开应用页面,通过Apache性能监控页面查看发现,当前的客户端连接数已达到Apache所允许的客户端连接数最大值,于是开始按照此方向解决问题。下面就介绍下如何调整Apache的并发连接数,以及如何配置Apache的性能监控页面,使我们平时能更方便的监控Apache的运行状态。
一、打开Apache的性能监控功能
可能大多数维护人员在维护管理Apache的时候,是使用ps aux|grep d|wc -l来查看当前Apache有多少个进程,但是这个命令无法告知我们这些进程是处于工作状态,还是等待状态,当前有多少连接,还剩余多少空闲连接等信息。
对Apache Server Status的启用
对Apache的状态管理的模块是LoadModule status_module modules/mod_status.so,所以这个需要有
可以通过apachectl -l 来查看apache已包含的模块
修改conf/d.conf
ExtendedStatus On
<Location /server-status>
SetHandler server-status
Order Deny,Allow
#Deny from all
Allow from all
</Location>
访问:
://localhost/server-status?auto&refresh=Y成功。
解释:
://localhost/server-status?auto&refresh=Y将表示访问状态页面可以每N秒自动刷新一次;
Deny from表示禁止的访问地址;
Allow from表示允许的地址访问;
调用接口
:// your.server.name/server-status,将会生产详细的状态报表,可以在浏览器中直接浏览。
另外可以加下面两种参数:
refresh=N:设置多久自动刷新一次 auto:生产机器可以读状态server-status的输出中每个字段所代表的意义如下:
字段 说明
Server Version Apache服务器的版本。
Server Built Apache服务器编译安装的时间。
Current Time 目前的系统时间。
Restart Time Apache重新启动的时间。
Parent Server Generation Apache父程序(parent process)的世代编号,就是d接收到SIGHUP而重新启动的次数。
Server uptime Apache启动后到现在经过的时间。
Total accesses 到目前为此Apache接收的联机数量及传输的数据量。
CPU Usage 目前CPU的使用情形。
_SWSS.... 所有Apache process目前的状态。每一个字符表示一个程序,最多可以显示256个程序的状态。
Scoreboard Key 上述状态的说明。以下为每一个字符符号所表示的意义:
* _:等待连结中。
* S:启动中。
* R:正在读取要求。
* W:正在送出回应。
* K:处于保持联机的状态。
* D:正在查找DNS。
* C:正在关闭连结。
* L:正在写入记录文件。
* G:进入正常结束程序中。
* I:处理闲置。
* .:尚无此程序。
Srv 本程序与其父程序的世代编号。
PID 本程序的process id。
Acc 分别表示本次联机、本程序所处理的存取次数。
M 该程序目前的状态。
CPU 该程序所耗用的CPU。
SS 距离上次处理要求的时间。
Req 最后一次处理要求所耗费的时间,以千分之一秒为单位。
Conn 本次联机所传送的数据量。
Child 由该子程序所传送的数据量。
Slot 由该Slot所传送的数据量。
Client 客户端的地址。
VHost 属于哪一个虚拟主机或本主机的IP。
Request 联机所提出的要求信息。
在Cacti中进行监控
下载模板和脚本
://forums.cacti.net/about25227.html&highlight=apachestats
在上面的地址下载一个叫ApacheStats08.zip的,中间有二个文件,一个处理脚本php的,另一个是xml的文件.
1.其中的ss_apache_stats.php是脚本文件,它是一个php的文件,放到你的cacti/scripts/下面.
2.接下来在cacti界面导入cacti_host_template_webserver_-_apache.xml这个文件
3.你就可以在cacti中加入这些设置.就不细写了,如下
被监测的apache服务器需要向上面一样,打开mod_status功能,记的设置好权限访问,不然任何人都可以见到可不好哦3、访问://IP:port/server-status监控页面
好了,你应该会看到这样的一大段信息:
K_KWKK_K__KKKCKK___KK____KK_KKKK_KKKK__KK_KKK_KKK__K_K_KKKKKKKC_
K__KKK_KKKKKK_KKKKKK_KKKCKKKKKKKKK_KK__KKKKKKK_KKKK_KKC__K__K__K
_KKKK_KCK_CK_K_K_K_KK__KKKKK_KKKKKKKKKK_KKKK_K_CKKK_K__KK_KKK__K
___KKKK.........................................................
................................................................
关于这些字符的含义,监控页面下是有说明的:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of worker, "." Open slot with no current process
“K”表示已连接的并且正在“忙碌”的进程,“.”表示空闲的连接点,如果你打开后发现全是K,那么恭喜你,你需要调整下Apache的并发连接数了,下面的内容将对你很有帮助。
二、调整Apache的并发连接数
1、进入到$ApacheHome/conf/extra,打开d-mpm.conf文件
找到<IfModule mpm_prefork_module>配置
在第一行添加:
ServerLimit 5000
修改MaxClients值为1500
2、进入到$ApacheHome/conf,打开d.conf文件
去掉Include conf/extra/d-mpm.conf前的注释符
保存后退出。然后重启Apache,再打开之前的监控页面,是不是发现多了很多的“.....”?好吧,这就说明你的系统还有很多空闲的连接可以用。
如何修改 unexpected error in ping
如何使用CactiEZ进行监控:1.要监视一台Linux主机,需要在被监控的主机上安装net-snmp相关软件包,CentOS安装可使用“yum -y install net-snmp”命令:
# yum -y install net-snmp
……
Complete!
2.修改配置文件命令:
# vi /etc/snmp/snmpd.conf 确保snmpd.conf文件中包含以下内容:
保存并退出3.开启snmpd服务:
如何设计一个mysql性能监控的软件
第一,
确定cacti所有的主机能ping通被监控主机;如果不能ping通,请确认网络配置和被监控主机的ip设置是否正确。
第二,
如果能ping通,那么确认被监控主机是否启用snmpd服务:
ps -ef | grep snmp
或者直接重启被监控主机的snmp服务:
service snmpd restart
若上面的命令不可用,则用这两个:
service snmpd restart
然后到cacti服务器上,用root用户:
snmpwalk -c public -v 2c 192.168.124.14 --> (这个ip为被监控主机的ip)
如果能够接收到被监控机器的数据信息,则表示被监控主机的snmp配置已经完成,没有错误。
如果提示以下错误:
SNMPv2-SMI::mib-2 = No more variables left in this MIB View (It is past the end of the MIB tree)
则表示没有接收到被监控主机的数据信息,那么进行第三步操作。
第三,
用root登录被监控主机,修改snmp的配置文件:
vi /etc/snmp/snmpd.conf
最后配置如下:
syslocation Server Roomsyscontact Sysadmin (root@localhost)rocommunity public 127.0.0.1agentaddress 161rocommunity publicrwcommunity privatetrapsink 192.168.124.14 public 162 --> 这里的ip=192.168.124.14为被监控主机ip
然后重启被监控主机的服务
service snmpd restart
然后,再执行第二步操作即可。
怎么将外界mysql数据库于cacti连接起来
首先介绍下 pt-stalk,它是 Percona-Toolkit 工具包中的一个工具,说起 PT 工具包大家都不陌生,平时常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自于这个工具包,这里就不多介绍了。
pt-stalk 的主要功能是在出现问题时收集 OS 及 MySQL 的诊断信息,这其中包括:
1. OS 层面的 CPU、IO、内存、磁盘、网络等信息;
2. MySQL 层面的行锁等待、会话连接、主从复制,状态参数等信息。
而且 pt-stalk 是一个 Shell脚本,对于我这种看不懂 perl 的人来说比较友好,脚本里面的监控逻辑与监控命令也可以拿来参考,用于构建自己的监控体系。
三、使用
接着我们来看下如何使用这个工具。
pt-stalk 通常以后台服务形式监控 MySQL 并等待触发条件,当触发条件时收集相关诊断数据。
触发条件相关的参数有以下几个:
function:
默认为 status,代表监控 SHOW GLOBAL STATUS 的输出; 也可以设置为 processlist,代表监控 show processlist 的输出;variable:
默认为 Threads_running,代表 监控参数,根据上述监控输出指定具体的监控项;threshold:
默认为 25,代表 监控阈值,监控参数超过阈值,则满足触发条件; 监控参数的值非数字时,需要配合 match 参数一起使用,如 processlist 的 state 列;cycles:
默认为 5,表示连续观察到五次满足触发条件时,才触发收集;连接参数:host、password、port、socket。
其他一些重要参数:
iterations:该参数指定 pt-stalk 在触发收集几次后退出,默认会一直运行。
run-time:触发收集后,该参数指定收集多长时间的数据,默认 30 秒。
sleep:该参数指定在触发收集后,sleep 多久后继续监控,默认 300 秒。
interval:指定状态参数的检查频率,判断是否需要触发收集,默认 1 秒。
dest:监控数据存放路径,默认为 /var/lib/pt-stalk。
retention-time :监控数据保留时长,默认 30 天。
daemonize:以后台服务运行,默认不开启。
log:后台运行日志,默认为 /var/log/pt-stalk.log。
collect:触发发生时收集诊断数据,默认开启。
collect-gdb:收集 GDB 堆栈跟踪,需要 gdb 工具。 collect-strace:收集跟踪数据,需要 strace 工具。 collect-tcpdump:收集 tcpdump 数据,需要 tcpdump 工具。在cacti\include目录下面找到config.php打开编辑,
在里面找到如下的内容
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "xxxxxx";
$database_password = "xxxxxx";
$database_port = "3306";
看$database_hostname = "localhost"; 里面的localhost换成其它MYSQL主机的IP地址就行了。
$database_username = "xxxxxx";
$database_password = "xxxxxx";
用户名和密码如果不同也要一起改。
回答完毕,请纳。谢谢!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。