cacti并发监控模板;RRD数据更新频率
http://blog.chinaunix.net/uid-25723371-id-3548013.htmlCacti获取服务器TCP并发连接数
1、从http://forums.cacti.net/download/file.php?id=5198下载官方提供的TCP监控模版tcp-connections.zip(模版见下方附件内容) 2、解压tcp-connections.zip将可执行程序get_tcp_connections拷贝到目录/var/www/html/cacti/scripts
#cpget_tcp_connections/var/www/html/cacti/scripts/
3、赋予执行权限chmod u+xget_tcp_connections
4、修改get_tcp_connections文件,修改一下CACTIDIR的路径为你的实际路径配置
#CACTIDIR=/var/www/html/cacti/scripts
5、导入cacti_graph_template_tcp_connections.xml绘图模版:
登陆cacti监控平台Console(控制台) ---> Import Templates(导入模板)
6、测试snmp服务是否正常
#snmpnetstat -v 2c -c your_community -Can -Cp tcp your_hosts_ip
#正常情况下会返回tcp状态的相关数据
7、在/var/www/html/cacti/scripts/路径下测试添加脚本是否正常
#./get_tcp_connections <host> <community>
#正常情况下会返回tcp状态的相关数据
8、现在我们就可以像添加其他监控对象方法在console->device->主机->Associated Graph Templates进行添加->创建图像了。
9、保存,5分钟之后就可以看到图了。
附件:tcp-connections.zip
http://blog.sina.com.cn/s/blog_6eee530801015zml.html
我的环境是 Version 0.8.7i
步骤一
从http://forums.cacti.net/download/file.php?id=5198下载get_tcp_connections解压,将get_tcp_connections上传至cacti根目录的scripts内。
打开get_tcp_connections,修改一下CACTIDIR的路径成你的实际路径哦.
步骤二
进入cacti后台, Import/export - Import Templates 导入cacti_graph_template_tcp_connections.xml模板文件。
执行:snmpnetstat -v 2c -c snmp community -Can -Cp tcp host,如果能够取到指定host的数据,snmp就没问题了。
进入Devices 选中要添加此模板的主机
最后进入graphs查看得到图形:
注意事项:
1、如果执行./get_tcp_connections <host> <community>没有数据,就得检查你的snmp这些地方了。
2、如果执行./get_tcp_connections <host> <community>得到数据,如下
但是在monitor里面没有数据输出到图形,进入cacti后台,console--》Data Input Methods--》TCP Connections,修改Input String里面的脚本实际放置get_tcp_connections的路径(就是get_tcp_connections里面修改的CACTIDIR的实际路径)
http://ahwind.blog.iyunv.com/464891/697191
转载两篇文章
因为cacti默认5分钟采集一次数据进行绘图,采集精度不高,对要求高精度的采集需求,需要修改默认的采集精度。
1、修改rrdtool的存储大小
console-Management->Data Sources->RRAs
修改模板里面的参数
如下,比如采集一天的数据,按一分钟的精度
Name设置为:Daily (1 Minute Average)
Consolidation Functions设置为:max、min、avg和last
X-Files Factor修改为:0.5
Steps设置为:1
Rows设置为:1440
Timespan设置为:86400
参考模板参数如下
Daily (1 Minute Average) 1 1440 86400
Weekly (6 Minute Average) 6 1680 604800
Monthly (24 Minute Average) 24 1860 2678400
Yearly (1 Hour Average) 60 8760 31536000
Two Yearly (2 Hour Average) 120 8760 63072000
2、修改数据索引
console-Management->Templates->data templates
1、在Associated RRA's添加刚刚创建的5个RRD模板
2、将step设置为60(没60秒绘图一次)
3、将Heartbeat设置为120(120为超时时间)
3、修改计划任务crontab
将
*/5 * * * * /usr/bin/php /var/www/cacti/poller.php > /dev/null 2>&1
修改为
*/1 * * * * /usr/bin/php /var/www/cacti/poller.php > /dev/null 2>&1
4、删除rrd缓存,刷新一下网页图形就出来了
5、参数解疑
Steps设置为:a
Rows设置为:b
Timespan设置为:c
这三个数值的关系是,steps为每多少时间绘图一次,timesspan为时间跨度,rows为在这个时间跨度里面保存多少个数据记录
如一天的参数
steps设置为1:表示每分钟绘图一次
rows设置为1440:表示这一天存储1440行数据
Timespan设置为86400:表示一天的时间86400秒
按上面的方法 原来数据会丢失 要保留数据 可按下面的方法
##################################################
第二篇
在Cacti或者其他基于RRDTool的MRTG系统中,我们可能会遇到这样的问题:在修改了graph template和data template,图像仍然显示之前的5分钟的间隔,而不是新的1分钟间隔。
经过一个小研究发现这个问题是由于RRDtool在创建rrd文件的时候对rrd的文件进行了step的设定,但是这个设定是不能被动态更改的,也就是说你不能只修改某个rrd文件的step参数。
# rrdtool info abc_111.rrd|more
filename = "abc_111.rrd"
rrd_version = "0003"
step = 300
这个就需要用到rrdtool dump和restore来对rrd文件进行一些小的修改。
首先用rrdtool dump将rrd库dump成一个xml文件。
# rrdtool dump abc_111.rrd > abc_111.xml
之后用手动编辑的方法修改xml文件中的step值。如本例,可以将300修改成60。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rrd SYSTEM "http://oss.oetiker.ch/rrdtool/rrdtool.dtd">
<!-- Round Robin Database Dump -->
<rrd>
<version>0003</version>
<step>300</step> <!-- Seconds -->
修改后保存文件,之后将xml文件用rrd restore存成一个新的rrd库。再用新的库文件覆盖旧的rrd库文件。(建议先备份就的库文件)
# rrdtool restore abc_111.xml abc_111_new.rrd
# mv abc_111_new.rrd abc_111.rrd
至此在用rrdtool info命令查看,可以看到step的值已经修改为新值。
# rrdtool info abc_111.rrd|grep step
step = 60
#
再去cacti里面去看一下,应该已经变更过来了。
如果没有的话试着对数据/图像重新应用一下新的模板。
至此。
http://linuxsogood.org/542.html
据说nginx-rrd是基于虚拟主机的,监控并发连接数量的!通过Cacti监控到的nginx的并发连接数量,是一台nginx服务器上所有的虚拟主机的并发总量!
nginx-rrd配置起来很简单,只需要简单的安装配置一下即可,监控nginx的并发量,肯定要开启nginx的stub模块,下面开始配置nginx-rrd
首先配置其需要的环境,并下载软件包准备安装
# yum install perl rrdtool perl-libwww-perl libwww-perl perl-rrdtool -y
# wget http://soft.vpser.net/status/nginx-rrd/nginx-rrd-0.1.4.tgz
1
2
# yum install perl rrdtool perl-libwww-perl libwww-perl perl-rrdtool -y
# wget http://soft.vpser.net/status/nginx-rrd/nginx-rrd-0.1.4.tgz
开始安装配置nginx-rrd
# tar xf nginx-rrd-0.1.4.tgz
# cd nginx-rrd-0.1.4
# cp usr/sbin/* /usr/sbin/
# cp etc/nginx-rrd.conf/etc/
# cp etc/cron.d/nginx-rrd.cron /etc/cron.d/
# mkdir /var/www/html/nginx/rrd -p
# cp html/index.php /var/www/html/nginx/
# vi /etc/nginx-rrd.conf
RRD_DIR="/var/www/html/nginx/rrd/";
WWW_DIR="/var/www/html/nginx/";
NICE_LEVEL="-19";
BIN_DIR="/usr/sbin";
SERVERS_URL="http://linuxsogood.org/nginx-status;172.16.23.100 http://lme.pw/nginx_status;1.1.1.1"
1
2
3
4
5
6
7
8
9
10
11
12
13
# tar xf nginx-rrd-0.1.4.tgz
# cd nginx-rrd-0.1.4
# cp usr/sbin/* /usr/sbin/
# cp etc/nginx-rrd.conf/etc/
# cp etc/cron.d/nginx-rrd.cron /etc/cron.d/
# mkdir /var/www/html/nginx/rrd -p
# cp html/index.php /var/www/html/nginx/
# vi /etc/nginx-rrd.conf
RRD_DIR="/var/www/html/nginx/rrd/";
WWW_DIR="/var/www/html/nginx/";
NICE_LEVEL="-19";
BIN_DIR="/usr/sbin";
SERVERS_URL="http://linuxsogood.org/nginx-status;172.16.23.100 http://lme.pw/nginx_status;1.1.1.1"
如果有多个URL要监控,中间以空格隔开。URL的第一部分是虚拟主机配置好的stub-status,第二部分是域名所在的主机。默认是15分钟绘制一次图形
# cat /etc/cron.d/nginx-rrd.cron
# generate graphs from lighttpd RRD data
MAILTO=root
** * * * root /usr/sbin/nginx-collect
*/15 * * * * root /usr/sbin/nginx-graph
1
2
3
4
5
6
# cat /etc/cron.d/nginx-rrd.cron
# generate graphs from lighttpd RRD data
MAILTO=root
** * * * root /usr/sbin/nginx-collect
*/15 * * * * root /usr/sbin/nginx-graph
当然你可以根据你的需求去改变绘制图形的周期。其实这个软件就两个pl脚本,一个收集数据,一个绘制图形。
可能出现的错误:
cron任务计划没有执行
查日志发现:
Aug4 06:11:02 centos1000 crond: (*system*) BAD FILE MODE (/etc/cron.d/nginx-rrd.cron)
1
Aug4 06:11:02 centos1000 crond: (*system*) BAD FILE MODE (/etc/cron.d/nginx-rrd.cron)
报了一个错误,好像是文件的权限有问题,看一下文件的权限,发现是755
# ls -l /etc/cron.d/
-rwxr-xr-x 1 root root 134 08-04 05:56 nginx-rrd
1
2
# ls -l /etc/cron.d/
-rwxr-xr-x 1 root root 134 08-04 05:56 nginx-rrd
把权限改为0644,就正常执行了。看来/etc/cron.d/里面放的任务计划文件,不能有执行权限,不然会无法执行!
http://www.verydemo.com/demo_c128_i53711.html
关于这一内容,在google上一搜就大把.内容如下:
nginx编译时允许http_stub_status_module
然后在 nginx.conf 中 添加如下:
[*]server {
[*] listen 80;
[*] server_namelocalhost;
[*] #charset koi8-r;
[*] #access_loglogs/host.access.logmain;
[*] location / {
[*] root /data/web_server/index;
[*] indexindex.html index.htm;
[*] }
[*]
[*] location /NginxStatus {
[*] stub_status on;
[*] access_log off;
[*] }
[*]}
#killall -s HUP nginx(令Nginx配置生效)
然后就通过 http://localhost/NginxStatus 来访问到Nginx的运行状态页面
下载cacti for nginx 插件包: http://www.oschina.net/uploads/code/cacti-nginx.tar.gz
解压后一共有5个文件,首先把 get_nginx_socket_status.pl 以及 get_nginx_clients_status.pl 上传至服务器cacti 目录下scripts 并设置可执行权限跟755读写权限
检测插件(举例)
# /data/cacti/scripts/get_nginx_clients_status.pl http://192.168.1.100/NginxStatus
显示的内容跟 NginxStatus 状态页内容相当即可。
然后在cacti管理面板导入
导入的方式是 Import Templates>Import Template from Local File (浏览导入插件包另外2个文件)
cacti_graph_template_nginx_clients_stat.xml
cacti_graph_template_nginx_sockets_stat.xml
但详细操作起来可能会有个麻烦!
导入 cacti_graph_template_nginx_clients_stat.xml 跟 cacti_graph_template_nginx_sockets_stat.xml的时候,cacti 出现红字提醒:
Error: XML: Hash version does not exist.
解决:因为你的 cacti 版本太旧了,去Cacti 下个最新版吧:http://www.cacti.net/download_cacti.php
导入成功后会显示:
Import Results
Cacti has imported the following items:
GPRINT Preset
Normal
Data Input Method
nginx clients stat
Data Template
Nginx Clients Stat
Graph Template
Nginx Clients Stat
然后你就能在 Graph Templates 中看到你刚所导入 Xml 后所产生的模板
接着进入New Graphs 选择任意一台已经创建好图标的监控服务器。
呵...然后接下来的步骤不用说了吧? 就跟创建网卡,CPU等之类的图表方式一样。
声明:本博客 转载、收集、整理了一些他人文章,当时仅提供自己学习之用,时间久远,已不知其具体出处。敬请前辈们海涵。
http://blog.hackroad.com/operations-engineer/linux_server/1371.html
1:复制附件中的 netstat.py 到 /usr/local/bin/ 目录
2:复制 netstat 到 /etc/cron.d/ 目录,并且确认crond服务已经安装并运行
3:编辑/etc/snmp/snmpd.conf,加入下面一行
pass .1.3.6.1.3.2 /usr/bin/python /usr/local/bin/netstat.py
(如果OID已经被使用,你可以调整为其他OID)
4:重启snmp服务
service snmpd restart
5: snmpwalk下看能否取到数据
snmpwalk -v 2c -c cacti 192.168.0.160 .1.3.6.1.3.2
SNMPv2-SMI::experimental.2.1 = Counter32: 3
SNMPv2-SMI::experimental.2.2 = Counter32: 0
SNMPv2-SMI::experimental.2.3 = Counter32: 5841
SNMPv2-SMI::experimental.2.4 = Counter32: 168
SNMPv2-SMI::experimental.2.5 = Counter32: 6
SNMPv2-SMI::experimental.2.6 = Counter32: 60
SNMPv2-SMI::experimental.2.7 = Counter32: 175
6:最后在cacti中导入模板,在相关主机模板中添加图形即可.
点击这里下载文件: tcp_stats.zip
http://bbaobelief.blog.iyunv.com/3838275/987650
之 前做了cacti监控NginxStatus并发,因为用的是集群环境,nginx的那个模版默认只能添加一个监控地址。尝试修改模版但是发现比较麻烦。 后来在网上看到了cacti汇总流量的方法,但没有汇总nginx并发的,于是借鉴汇总流量的方法做了cacti汇总nginx并发的监控
[*]1、首先确保你的cacti监控nginx状态配置正常;(网上教程很多,此处不做描述)
[*]
[*]2、点击图形管理----》CDEFs--再点击右上角的ADD
[*]3、添加如下三个CDEF项目,
[*]4、点击图形管理----》再点击右上角的ADD
[*]5、出现选择图形模块,不用选择直接创建
[*]6、在新开的页面中的graph configuration 的对话框中输入标题名称。点下面的创建
[*]7、出现如下页面,这时就可添加要叠加的数据源了,点Graph items右边的ADD
[*]8、在下面的窗口,主机选择你的设备,数据源选择你要叠加的主机status。
[*]
[*]图形项选AREA(区域显示).Cdef功能留空 点创建即可
[*]9、重复以上步骤,添加第二个叠加的status。如下图,注意图形项目类型选。STACK(直方显示)
[*]如有多个继续按照步骤7添加
[*]
[*]10、完成后如下图
[*]11、下面我们再来创建图片下面的数据。
[*]
[*]点击graph items右边的ADD。在弹出的页面上选如下选项。
[*]
[*]此处可以是图例(LEGEND)也可以是图形打印,图例可以一次创建多个。
[*]12、同样的方法添加第二个端口,添加完成后如下图
[*]如有多个依次添加;
[*]
[*]13、我们接下来再把这两个数据加起来。点击graph items右边的ADD,数据源
[*]
[*]不写。cdef写之前创建的nginx_status_all
[*]14、无项目添加注释
[*]15、最终完成效果图:
如果这篇文章帮助到了你,请不要吝啬你的回复!
页:
[1]