在公司的监控服务器上运行 yum 命令安装软件一直不成功,报错的内容是 “Segmentation fault(段错误)”,上网搜了搜,基本都是一样的解决方案(1.yum clean all 2.修改源 3.修改 yum.conf),照此执行,但并不能解决我的问题,有点绝望,但老天不负有心人,我终于找到了这篇帖子。
问题的描述如下:
Summary:
0004702: yum fails with segfault after source zlib upgrade
Description:
Some apps require the latest version of zlib (1.2.5)
After installation from source yum segfaults. (took me ages to figure it out)
Solution, rm -rf /usr/lib/libz.* & reinstall zlib-1.2.3.
Affects all CentOS 4.* and RHEL 4.* versions.
Additional Information:
[root@SirVic ~]# yum update
Setting up Update Process
Setting up repositories
Segmentation fault
last lines of strace :
_llseek(6, 0, [0], SEEK_CUR) = 0
read(6, " read(6, "", 4346) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
今天突然收到一封邮件,邮件上说:“由于公司分支机构不断的扩大,所以公司的一个内部系统的访问量也大增,所以领导要求我对该系统进行必要的监控”。由于该应用是跑在 Windows Server 2008 下的 IIS 服务器上的,所以我决定对主机和服务器都进行必要的监控,监控 Windows 主机我以前实现过,可以说是轻车熟路,如果有感兴趣的朋友可以参考我博客中的 文章 。对于 IIS 服务器的监控,我还是第一次配置,由于以前配置过很多种服务器的监控,所以对我来说监控 IIS 应该不是难事,我很快就在 Cacti 的 官方论坛 找到了监控 IIS 服务器需要的相关模板,任务很快完成了,具体做法如下:
- 下载 IIS 相关监控模板。
- 在 Cacti 界面下导入相关模板。
- 创建 Host 模板(IIS Server)并把刚刚导入的图像模板添加到创建的主机模板中。
- 配置 Windows Server 端的 SNMP 服务,如果有不清楚怎么配置的朋友,请参考这个 文档。
- 在 Cacti 界面下添加设备,在 Host Template 栏中选择第3步创建的 IIS Server 模板。
- 给添加的设备创建图像,在 Device 界面下选中添加的设备,点击 “Create Graphs for this Host” 创建相关图像。
- 等待 Poller 抓取数据并生成图像。
- 大功告成!

前一阵研究了一大顿 Cacti,遇到了很多大大小小的问题,而这些问题基本都让我在 Cacti 的官方论坛里找到了答案,我觉得 Cacti 手册中的 Debugging 章节还是比较不错的。我的总结如下:
1. Check Cacti Log File
… …

本周的工作是做 Nagios 监控系统的初期调研,看了大量的网上资料,我初步确定 Nagios 的功能确实很强大,相比之前我搭建的 Cacti 监控系统,Nagios 监控服务器的状态更强大,并且报警功能也很不错,但对像流量这样的持续数据的展现能力却比较弱,不像 Cacti 监控系统将服务器的点状态和线状态都清晰的展现出来。所以我的研究表明,公司同时使用这两种监控系统是有必要的,而且我从网上找到了一种将 Nagios 整合到 Cacti 监控系统中的方法,如果这个方法行得通的话,公司的监控系统就完美了!具体的实现方法我会在自己测试后以博文的形式发布到我的博客里,下面就请大家跟我一起开始 Nagios 的安装旅程吧!
公司一直使用 JBoss 应用服务器作为公司网站和核心系统的 Web 容器,所以利用我最近搭建的 Cacti 监控系统来对 JBoss 服务进行一定的监控是有必要的,在 Cacti 官方论坛上找到了一篇帖子来实现对 JBoss 服务器的监控,它主要利用 JBoss 服务器的 all 配置目录下的 snmp-adaptor 中间件来实现对 JBoss 应用的一些信息的读取。具体的做法如下:
1. 拷贝 ../server/all/snmp-adaptor.sar 文件夹到应用的 *.war 文件夹下.
2. 在 Cacti 界面下导入 Cacti-JBoss-Templates.xml 模板。作者对该模板的描述如下:
This file will create 3 Graph Templates (JBoss – Active Thread Count, JBoss – Memory Utilization, and JBoss – Transaction Manager), 1 Host Template (JBoss SNMP Adaptor), and 5 Data Templates (JBoss – Active Thread Count, JBoss – Free Memory, JBoss – Max Memory, JBoss – Transaction Commit Count, etc.).
3. 在 Cacti 界面下添加设备,在 Host Template 栏中选择 JBoss SNMP Adaptor 模板。值得注意的是 snmp-adaptor.sar 中间件使用的 SNMP 端口号是1161,而不是默认的161。所以请在添加设备时更改 SNMP Options 中的 SNMP Port 为 1161。
4. 给添加的设备创建图像,在 Device 界面下选中添加的设备,点击 “Create Graphs for this Host” 创建相关图像。
5. 等待 Poller 抓取数据并生成图像,大功告成!
Via Cacti Forums

最近一直把公司的 Cacti 监控系统的日志记录等级设定在 Debug 级,这两天发现日志文件(cacti.log)的容量增长的太快了,由于近期一直在用日志文件排查错误,所以在不能改变日志记录等级的情况下,我只好选用 logrotate 来将 Cacti 的日志文件进行轮转替换,这样保证了不但日志文件的完整性,而且对旧日志进行了压缩也减小了硬盘容量的负担。具体的操作如下:
1. 安装 logrotate 组件,一般的 Linux 系统都会安装 logrotate 组件,如果没有安装,使用如下命令安装即可:
yum install logrotate*
2. 创建 cacti.conf:vi /etc/logrotate.d/cacti 并添加如下内容:
/usr/local/apache/htdocs/cacti/log/cacti.log {
# keep two weeks of versions online
rotate 14
# rotate the log each day
daily
# compress the logs
compress
# create new file with the correct user/group attributes
create 644 cacti cacti
# add a YYYYMMDD extension instead of a number
dateext
}
请确保 cacti.log 文件的路径以及该文件的所有者和相应权限。
3. 运行 logrotate,命令如下:
logrotate -f /etc/logrotate.conf
这几天一直在深入研究 Cacti 的配置,我发现 Cacti 的功能真的很强大,而且大部分的配置和调试工作只需要在图形化的界面上做操作即可。由于公司的 Cacti 监控服务器上配置的监控端越来越多,所以有些监控端出现图形不连续的现象,调高 Cacti 的 log 等级,我在 cacti.log 文件中发现如下的警告信息:
05/25/2011 10:55:39 AM – SPINE: Poller[0] Host[46] TH[1] DS[862] WARNING: SNMP timeout detected [500 ms], ignoring host ’10.10.2.91′
05/25/2011 10:55:38 AM – SPINE: Poller[0] Host[46] TH[1] DS[862] WARNING: SNMP timeout detected [500 ms], ignoring host ’10.10.2.91′
Cacti 官方手册中给出的解释如下:
For “reasonable” timeouts, this may be related to a snmpbulkwalk issue. To change this, see Settings, Poller and lower the value for The Maximum SNMP OID’s Per SNMP Get Request. Start at a value of 2 and increase it again, if the poller starts working. (1 or less disables snmpbulkwalk) Some agent’s don’t have the horsepower to deliver that many OID’s at a time. Therefore, we can reduce the number for those older/underpowered devices.
我在 Device 配置界面下,将“Maximum OID’s Per Get Request”值设置为最小值“1”,该问题解决了。但是过了一段时间图像又开始断断续续的,而且生成的 rrd 文件中的数值都是 NaN,在监控服务器端的命令行下执行 snmpwalk 命令,发现屏幕输出跑了一些信息后停下来显示 Timeout: No Response from 10.10.2.91,这是由于网络状况不太好,所以导致 Cacti 服务没有完全获得监控端的 SNMP 信息就 Timeout 了。为了证明我的猜测,我在之前的运行的 snmpwalk 命令中加入“-t 120”选项,结果 snmpwalk 获得了完整的监控端 SNMP 信息。所以我在 Device 配置界面下设置“SNMP Timeout”值为 20000,问题彻底解决了,同时我把“Maximum OID’s Per Get Request”值又重新调整为默认值“10”。这样可以减少 Cacti 监控服务器访问监控端的 SNMP 服务的次数从而提高性能。如果你的网络状况很好的情况下,你可以进一步的调高“Maximum OID’s Per Get Request”值。
Cacti 服务自带的轮询脚本(cmd.php)性能低下,如果监控点多的话,平均5分钟脚本有可能执行不完,经常导致图形断断续续,所以我推荐大家采用 spine,它的效率要高于 cmd.php 脚本。由于Cacti 服务需要写 rrd 文件记录监控信息,所以在监控点多的情况下,会经常性遇到 Disk I/O 的性能瓶颈。所以对 Cacti 监控服务器进行一定的性能优化配置十分有必要。下面我来介绍几个性能优化技巧:
用了整整一天的时间,我终于实现了在 Cacti 下对 Tomcat 的监控,本来挺简单的事,但是具体的实践过程真是费劲周折。废话少说,我先介绍一下一般的配置过程,在介绍的一般配置过程中我们假定 Tomcat 的服务跑在 8080 端口上,在这之后,我会写下我遇到的错误和解决方法,一般配置的步骤如下:
- 下载 模板和脚本
- 配置 Tomcat 的 conf 目录下的 conf/tomcat-users.xml 文件,添加如下内容:
<user username=”admin” password=”passwords” roles=”admin,manager”/>
- 重启 Tomcat 服务
- 在浏览器中浏览如下地址:
http://admin:passwords@10.1.2.24:8080/manager/status?XML=true
浏览器会显示相应的 Tomcat 状态信息,如下所示:
… - 复制 tomcatstats.pl 脚本文件到 cacti/scripts/ 路径下,并修改相应的文件权限。
- 确保安装了需要的 XML::Simple模块,如果你的 cacti 服务的主机可以访问外网,那么请在 Shell 下输入以下命令安装:
perl -MCPAN -e”install XML::Simple”
很不幸公司的服务器不允许访问外网,所以我只能手动安装该模块。登录 CPAN 的官方网站搜索并下载安装包,安装前请仔细查看 README 文件,该文件会介绍的安装包的依赖包,如果机器上没有还需要先安装上依赖包。实践中具体的安装和测试脚本过程如下:
… - 在 Cacti 的模板管理界面中导入 cacti_host_template_tomcat_server.xml 模板文件。
- 在 Cacti 的管理界面中进入 “Data Input Methods” 选择 “Tomcat Status” 修改 “Input String” 为如下内容:
perl /scripts/tomcatstats.pl <hostname>:8080 admin passwords http-8080
- 创建 Host 模板并关联相关 Tomcat 图像模板即可实现对 Tomcat 的监控。
Categories
- 信息世界 | IT (95)
- Certification (1)
- Cloud Computing (1)
- Database (16)
- Google (10)
- Hardware (2)
- J2EE (4)
- Network (19)
- OS (18)
- Programming (11)
- Virtualization (1)
- Webmaster (11)
- 数码先锋 | Digital (17)
- 时事评论 | Event (5)
- 时光飞驰 | News (2)
- 杂七杂八 | Mix (2)
- 流金岁月 | Life (8)
- 游戏志 | Game (13)
- 看电影 | Movie (10)
- 红魔拥趸 | ManUtd (5)
- 读书频道 | Reading (1)
- 音乐无限 | Music (4)
- 信息世界 | IT (95)
Twitter
- I'm at 大连国美电器胜利新活馆 (大连市, 辽宁省) http://t.co/f7pxcNfg 17 小时前
- I'm at Xinghai Square | 星海广场 (Dalian, China) http://t.co/gKNqq2qV 24 小时前
- I'm at 壹品星海 (Dalian, China) http://t.co/o7SCCIrG 24 小时前
- 晚上和以前的同事喝了点酒,准备睡觉了,希望明天能把公司的电脑修好,没有电脑办公还真不方便,不知道明天印度那边有没有培训的消息。 2012-05-16
- 非常值得读的一本书! http://t.co/lV8ulDnV 2012-05-16
- I'm at 大连软件园15号楼 (大连市, 辽宁省) http://t.co/03DYYUKY 2012-05-16
- @yamiugly 好奇你做的是什么工作? 2012-05-16
- I'm at 壹品星海 (Dalian, China) http://t.co/frkQvlIn 2012-05-15
- I just ousted @fndhrt as the mayor of 大连软件园15号楼 on @foursquare! http://t.co/yn7fSLY6 2012-05-15
- I'm at 大连软件园15号楼 (大连市, 辽宁省) http://t.co/KH2m2Z4R 2012-05-15
- @terrysosi_chan 小日子过的太充实了! 2012-05-15
- RT @GossipSama: 玩diablo 2的时候我23岁,玩diablo 3的时候我34岁。暴雪是要等我不再2了才出3是么?那是不是要45岁才玩到4? 2012-05-15
- I'm at 中山广场 Zhongshan Circus (大连, 中国) http://t.co/fiD6vqHS 2012-05-14
- 英超还真他妈的好看。昨晚90分钟的比赛,跟坐过山车一样,如果不看直播,是体会不到这种刺激的,呵呵,英超第20年,今年的冠军真的很有戏剧性,恭喜曼城,明年的曼联面对的局势更难,曼城还会加大投入的,看看曼城现在的阵容,明年再买几个强援,大耳朵杯指日可待! 2012-05-14
- @Fatal1tyV 怎么弄? 2012-05-14
Latest Comments
Foursquare Checkins
标签
