这几天一直在深入研究 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 的监控。

今天在试验机进行了一次 RMAN 备份恢复演练,本次演练假定的情况比较简单,备份数据库没有彻底崩溃,我可以查找到备份数据中控制文件,数据文件,重做日志文件等文件的保存路径,并知晓备份数据库的 RMAN 整库备份文件的保存路径。具体的演练过程如下:
- 将备份的 RMAN 文件放到 /home/oracle/tpsdbbk/ 下 (服务器备份时候的路径)
- 记录备份数据库的 SID, DBID 以及控制文件,数据文件,重做日志文件,归档文件的保存路径。
- 根据上一步查询的信息,在恢复的主机上创建相应文件夹和设置 SID 和 DBID。
- 从 RMAN 备份中恢复 pfile
- 查看 pfile 文件创建对应缺失文件夹
- 根据生成的 pfile 创建 spfile
- 从 RMAN 备份中恢复控制文件
- 从 RMAN 备份中恢复数据文件
- 通过已经恢复的控制文件和数据文件来演算出重做日志文件
- 大功告成!(#^_^#)

公司的 Oracle 数据库的备份工具使用的是 IBM 公司的 Tivoli Storage Manager(TSM),它主要的功能是自动将 Oracle RMAN 备份数据写入磁带库。网上有很多配置 Tivoli 和 RMAN 实现自动写入磁带库的方案,不过写的都不太具体,这几天我一直在看 Tivoli 的教程,过些天我会写一篇详细的配置博文,感兴趣的朋友可以关注一下。闲话少说,让我们进入今天的主题吧。因为 TSM 也是利用 RMAN 实现备份并写入磁带库的,所以恢复数据库的过程基本是个 RMAN 备份过程的逆过程。找到 TSM 的 RMAN 备份脚本文件 rman_FULL_tape.rcv,其内容如下:

1.概述
在 Oracle 安装目录$HOME/network/admin下,,经常看到 sqlnet.ora tnsnames.ora listener.ora 这三个文件,除了 tnsnames.ora,其他两个文件详细的用途很多人都不太了解。
sqlnet.ora 用在 Oracle client端,用于配置连接服务端 Oracle 的相关参数。
tnsnames.ora 用在 Oracle client 端,用户配置连接数据库的别名参数,就像系统中的hosts文件一样。
listener.ora 用在 Oracle server 端,配置 Oracle 服务端程序的监听办法,比如限制某些 ip 等参数。
在安装目录 $HOME/network/admin/samples 下,会看到这三个文件的示例文件,里面会有相关参数的说明和用法,如果遇到什么问题,大家可以对照这些示例文件中相关参数的说明进行解决。
如果连接数据库出了什么问题,在保证网络正常,没有防火墙干扰的情况下,查找问题的步骤是:
- 在客户端顺序检查 sqlnet.ora,tnsnames.ora 是否有问题。
- 在服务器端检查 listener.ora 配置,并且保证监听程序启动,数据库服务加载。
一位年老的印度大师身边有一个总是抱怨的弟子。有一天,他派这个弟子去买盐。弟子回来后,大师吩咐这个不快活的年轻人抓一把盐放在一杯水中,然后喝了它。
“味道如何?” 大师问。
“苦!” 弟子呲牙咧嘴地吐了口吐沫。
大师又吩咐年轻人把剩下的盐都放进附近的湖里。弟子于是把盐倒进湖里,老者说:“再尝尝湖水。”
年轻人捧了一口湖水尝了尝。大师问道:“什么味道?”
“很新鲜。” 弟子答道。
“你尝到咸味了吗?” 大师问。
“没有。” 年轻人答道。
这时大师对弟子说道:“生命中的痛苦就象是盐;不多,也不少。我们在生活中遇到的痛苦就这么多。但是,我们体验到的痛苦却取决于我们将它盛放在多大的容器中。”
所以,当你处于痛苦时,你只要开阔你的胸怀……
不要做一只杯子,而要做一个湖泊。


数据字典是 Oracle 存放有关数据库信息的地方,其用途是用来描述数据的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。
数据字典主要是由表和视图组成,应该注意的是,数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。Oracle 中的数据字典有静态和动态之分。静态数据字典主要是在用户访问数据字典时不会发生改变的,但动态数据字典是依赖数据库运行的性能的,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变的,它们的名字一般以“v$”开头。静态数据字典中的视图分为三类,它们分别由三个前缀够成:user_*、 all_*、 dba_*。
- user_*: 该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)
- all_*:该试图存储了当前用户能够访问的对象的信息。(与 user_* 相比,all_* 并不需要拥有该对象,只需要具有访问该对象的权限即可)
- dba_*:该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限)

最近工作中遇到这么个事,由于公司有几个服务是跑在 Windows Server 2008 的机器上,所以有必要用之前配置的 Cacti 监控下 Windows Server 2008,但是我在配置的时候发现 Cacti 自带的两个 Windows 相关的模板都不能实现对 Windows Server 2008 的监控。没办法我只有自己去 Cacti 的论坛上去找办法,费了九牛二虎的力气终于让我在这个 主题 下找到了解决方案。其详细的配置流程如下:
- 在 Windows 端安装 Windows 的 SNMP 服务,安装并配置。有疑问的朋友可以参考这篇 文章。
- 在 Windows 端安装 SNMP Informant,图形化的安装界面很简单,这里 提供 SNMP Informant 的下载
- 下载最新版本的监控模板。
- 在监控服务器端将 snmp_informant_*.xml 的文件放入 cacti/resource/snmp_queries 文件夹中,注意修改相应的文件所有者及权限。
- 在 Web 浏览器中登录 Cacti,导入 cacti_data_query_w32_*.xml 文件。
- 创建 Windows Server 2008 主机模板。
- 添加监控主机并应用新创建的 Windows Server 2008 主机模板。
- 大功告成!~
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 23 小时前
- I'm at 壹品星海 (Dalian, China) http://t.co/o7SCCIrG 23 小时前
- 晚上和以前的同事喝了点酒,准备睡觉了,希望明天能把公司的电脑修好,没有电脑办公还真不方便,不知道明天印度那边有没有培训的消息。 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
标签
