snmpwalk常用语法

在日常监控中,经常会用到snmp服务,而snmpwalk命令则是测试系统各种信息最有效的方法,现总结一些常用的方法如下:
1、snmpwalk -c public -v 1 -m ALL 192.168.30.49.1.3.6.1.2.1.25.1    得到取得windows端的系统进程用户数等
2、snmpwalk -c public -v 1 -mALL 192.168.30.49 .1.3.6.1.2.1.25.2.2  取得系统总内存
3、snmpwalk -c public -v 1-m ALL 192.168.30.49 hrSystemNumUsers
4、snmpwalk -c public -v 1 -m ALL192.168.30.49 .1.3.6.1.2.1.4.20    取得IP信息
5、snmpwalk -v 2c -c public192.168.30.49 system   查看系统信息
6、snmpwalk -v 1 192.168.30.49 -c public ifDescr1、snmpwalk -v 2c -c public 10.103.33.1.1.3.6.1.2.1.25.1    得到取得windows端的系统进程用户数等.
其中-v是指版本,-c 是指密钥,也就是客户端snmp.conf里面所设置的,下面类同.
2、snmpwalk -v 2c -c public 10.103.33.1 .1.3.6.1.2.1.25.2.2  取得系统总内存
3、snmpwalk -v 2c -c public 10.103.33.1 hrSystemNumUsers  取得系统用户数
4、snmpwalk -v 2c -c public 10.103.33.1 .1.3.6.1.2.1.4.20    取得IP信息
5、snmpwalk -v 2c -c public 10.103.33.1 system   查看系统信息
6、snmpwalk -v 2c -c public 10.103.33.1 ifDescr 获取网卡信息
以上只是一些常用的信息,snmpwalk功能很多,可以获取系统各种信息,只要更改后面的信息类型即可.如果不知道什么类型,也可以不指定,这样所有系统信息都获取到:
snmpwalk -v 2c -c public 10.103.33.1

Centos下安装Cacti教程:http://blog.haohtml.com/archives/9269

FreeBSD下安装Cacti教程:http://blog.haohtml.com/archives/6988

用cacti来监控windows 服务器,snmp服务在windows的配置

监控客户端windows2003服务器的snmp服务配置(202.96.209.2)

(1)、打开“控制面板”—“添加删除程序”—“添加删除组建”,在“管理和监视工具”中选中“简单网络管理协议(snmp)”,点击“下一步”,开始安装,在安装过程中需要i386文件.

(2)、打开“开始”—“程序”—“管理工具”—“服务”,找到“snmp service”,右键打开“属性”,选择“安全”,在“接受团体名称”处,点“添加”,在“团体名称”处写入你的cacti使用的community,选中“接受来自这些主机的snmp数据包”,默认值为“localhost”,点击“编辑”,将“localhost”改为cacti监控服务器的实际 ip地址.(指定要接收哪些主机的snmp数据,这里要填写上运行cacti程序的服务器ip地址

(3)、还需要安装SNMP Informant-STD 1.6 软件下载地址:http://www.wtcs.org/informant/download.htm
有防火墙的要开通UDP端口161(可以在cmd命令行下输入:netstat -an 来查看udp协议的161端口是否在监听,如果找不到,则表示配置错误)

cacti服务器(202.96.209.5)

1、测试监控机的snmp连接

# snmpwalk -v2c -c private 202.96.209.2 system
SNMPv2-MIB::sysDescr.0 = STRING: Hardware: x86 Family 6 Model 15 Stepping 7 AT/AT COMPATIBLE – Software: Windows Version 5.2 (Build 3790 Multiprocessor Free)
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.311.1.1.3.1.2
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (7862939) 21:50:29.39
SNMPv2-MIB::sysContact.0 = STRING:
SNMPv2-MIB::sysName.0 = STRING: CHINESE-FD21F3C
SNMPv2-MIB::sysLocation.0 = STRING:
SNMPv2-MIB::sysServices.0 = INTEGER: 76

显示这个说明连接正常,如果不能正常连接,检查监控机snmp服务器是否正常还有防火墙有没有开放snmp的端口 udp 161

2、cacti模板文件 Windows XP/Win2000/Win2003/Vista/Win2008 Templates
下载地址 Cacti_SNMP_INFORMANT_STD_W32_Metrics.zip
解压后10个文件
cacti_data_query_w32_-_cpu_statistics.xml
cacti_data_query_w32_-_network_statistics.xml
cacti_data_query_w32_-_disk_statistics.xml
cacti_data_query_w32_-_object_statistics.xml
cacti_data_query_w32_-_memory_statistics.xml
以上文件在cactit管理界面,Import Templates导入。
snmp_informant_disk.xml
snmp_informant_objects.xml
snmp_informant_memory.xml
snmp_informant_cpu.xml
snmp_informant_network.xml
以上文件copy到服务器cacti安装目录的resource/snmp_queries里.
剩下的事情就是添加device还有graph,简单就不管啦。

[教程]cacti for windows 安装

本文章前提为配置好了apache(iis)+php+mysql这些基本的需要。

安装snmp服务,需要windows光盘或i386目录的文件。在”安全”标签设置好团体字后重新启动snmp服务。主要防火墙对udp 161开放权限一定要做好,不要将161完全暴露在公网上,最好只对特定的IP或子网开放。(可以用netstat -an命令查看udp协议的161端口是否在监听)

cacti相关软件下载:

1.cacti下载:http://www.cacti.net/downloads/
2.Cygwin下载:http://www.cygwin.com/setup.exe
3.rrdtool下载(1.2X):http://www.cacti.net/downloads/rrdtool/win32/
4.net-snmp下载:http://sourceforge.net/projects/net-snmp/files/(注意下载的是net-snmp binaries的EXE安装文件,这里使用win32下的文件)
5.Spine(原来好像是cactid)下载:http://www.cacti.net/downloads/spine/packages/Windows/cacti-spine-0.8.7.zip

解压后:并编辑配置文件spine.conf里的数据库配置信息.

Continue reading

用linux上的cacti去监控windows服务器

另篇相同的教程:http://blog.haohtml.com/index.php/archives/4850
以前一直用cacti或者mrtg来监控交换机流量,很少用来监控服务器,最近突然有个任务需要监控windows服务器,一般刚装好的cacti,里面的监控设置都是基于交换机和linux的,没有专门监控windows的选择,于是研究了一下,和大家分享一下经验。另外我的cacti是安装的debian linux上,有些安装命令不适合其他linux上,请大家注意。

操作系统:debian 5
1.安装mysql
apy-get install mysql-server-5.0
安装时会提示你输入mysql root密码

2.安装apache和php
apt-get install apache2 libapache2-mod-php5 php5 php5-gd php5-mysql php5-cli php5-common php5-snmp php-net-socket

php5-gd是关系到绘图
php5-mysql和数据库有关系
php-net-socket这个有时候cacti需要
Continue reading

PHP Warning: date() [function.date]: It is not safe是什么问题

在用PHP5.3以上的PHP版本时,只要是涉及时间的会报一个”PHP Warning: date() [function.date]: It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘UTC’ for ‘8.0/no DST’ instead in“这样的错。如何解决呢?

实际上,从 PHP 5.1.0 ,当对使用date()等函数时,如果timezone设置不正确,在每一次调用时间函数时,都会产生E_NOTICE 或者 E_WARNING 信息。而又在php5.1.0 中,date.timezone这个选项,默认情况下是关闭的,无论用什么php命令都是格林威治标准时间,但是PHP5.3 中好像如果没有设置也会强行抛出了这个错误的,解决此问题,只要本地化一下,就行了。

以下 是两种方法(任选一种都 行):

一、在页头使用 date_default_timezone_set()设置

date_default_timezone_set(‘PRC’); //东八时区
echo date(‘Y-m-d H:i:s’);

Continue reading

FreeBSD7.0安装cacti监控

FreeBSD 7.0-RELEASE-i386

# cd /usr/ports/net-mgmt/net-snmp && make install clean
# cd /usr/ports/net-mgmt/cacti && make install clean

ucd-snmp不选

# make pretty-print-run-depends-list

This port requires package(s) “mysql-client-5.0.67_1” to run.

# cd /usr/ports/databases/mysql50-server && make install clean
# echo ‘mysql_enable=”YES”‘ >> /etc/rc.conf
# /usr/local/etc/rc.d/mysql-server start
# mysqladmin –user=root create cacti
# echo “GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY ‘cactiuser’; FLUSH PRIVILEGES;” | mysql
# mysql cacti < /usr/local/share/cacti/cacti.sql
Continue reading

[教程]freebsd下安装cacti教程

一、安装mysql51-server
cd /usr/ports/database/mysql51-server

make with-debug=no with-client-ldflags=-all-static with-mysqld-ldflags=-all-static witch-assembler=yes with-pthread=yes enable-thread-safe-client=yes install clean
make install clean

cp /usr/local/share/mysql/my-small.cnf /usr/local/etc/my.cnf

cd /
mkdir mysql
chmod 777 /mysql
Continue reading

X-Cache 和 X-Cache-Lookup headers 的解释

X-Cache: 表示你的 http request 是由 proxy server 回的 .
MISS 表 proxy无资料,代理动作, HIT 表 proxy 直接回应

X-Pad: 這個是800 年前的 netscape  bug 的因素才用的

想象你在一个标准的透明代理80端口下,并且你正在访问一个运行了内部网络缓存(这样,又是一个代理)的站点。如果你查看HTTP headers查找某些信息,你能够找到像这样的2行,规定domain.tld 代表那个本地网站,proxy.local 代表你的内部的透明代理。 Continue reading

HTTP 1.1 中Transfer-Encoding chunked编码

大多数的站点相应用户请求时发送的HTTP Headers中包含Content-Length头.此头信息定义在HTTP1.0协议RFC 1945 10.4章节中.该信息是用来告知用户代理,通常意义上就是浏览器,服务端发送的文档内容长度.浏览器接受到此信息后,接收完Content-Length中定义的长度字节后开始解析页面.如果服务端有部分数据延迟发送,那么浏览器就会白屏.这样导致比较糟糕的用户体验.

解决方法在HTTP1.1协议.RFC2616中14.41章节中定义的Transfer-Encoding:chunked的头信息.chunked编码定义在3.6.1中.根据此定义浏览器不需要等到内容字节全部下载完成,只要接收到一个chunked块就可解析页面.并且可以下载html中定义的页面内容,包括js,css,image等.采用chunked编码有两种选择,一种是设定Server的IO buffer长度让Server自动flush buffer中的内容,另一种是手动调用IO中的flush函数。 Continue reading

MySQL内存使用-线程独享

对于任何一个数据库管理系统来说,内存的分配使用绝对可以算的上是其核心之一了,所以很多希望更为深入了解某数据库管理系统的人,都会希望一窥究竟,我也不例外。

从内存的使用方式MySQL 数据库的内存使用主要分为以下两类

* 线程独享内存
* 全局共享内存

今天这篇文章暂时先分析 MySQL 中主要的 “线程独享内存” 的。
Continue reading