设为首页 收藏本站
查看: 4671|回复: 0

[经验分享] cacti并发监控模板;RRD数据更新频率

[复制链接]

尚未签到

发表于 2015-9-7 13:36:19 | 显示全部楼层 |阅读模式
  http://blog.chinaunix.net/uid-25723371-id-3548013.html
  Cacti获取服务器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
  #cp  get_tcp_connections  /var/www/html/cacti/scripts/
  3、  赋予执行权限chmod u+x  get_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分钟之后就可以看到图了。
  附件: DSC0000.png 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的路径成你的实际路径哦.
DSC0001.jpg
  
  步骤二
  进入cacti后台, Import/export - Import Templates 导入cacti_graph_template_tcp_connections.xml模板文件。
  执行:snmpnetstat -v 2c -c snmp community -Can -Cp tcp host,如果能够取到指定host的数据,snmp就没问题了。
  进入Devices 选中要添加此模板的主机
DSC0002.jpg
  
  最后进入graphs查看得到图形:
DSC0003.jpg
  
  注意事项:
  1、如果执行./get_tcp_connections <host> <community>没有数据,就得检查你的snmp这些地方了。
  2、如果执行./get_tcp_connections <host> <community>得到数据,如下
DSC0004.jpg
  但是在monitor里面没有数据输出到图形,进入cacti后台,console--》Data Input Methods--》TCP Connections,修改Input String里面的脚本实际放置get_tcp_connections的路径(就是get_tcp_connections里面修改的CACTIDIR的实际路径)
DSC0005.jpg








  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参数。
[iyunv@abc rra]# rrdtool info abc_111.rrd|more
filename = "abc_111.rrd"
rrd_version = "0003"
step = 300

这个就需要用到rrdtool dump和restore来对rrd文件进行一些小的修改。
首先用rrdtool dump将rrd库dump成一个xml文件。
[iyunv@abc rra]# 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库文件。(建议先备份就的库文件)
[iyunv@abc rra]# rrdtool restore abc_111.xml abc_111_new.rrd
[iyunv@abc rra]# mv abc_111_new.rrd abc_111.rrd

至此在用rrdtool info命令查看,可以看到step的值已经修改为新值。
[iyunv@abc rra]# rrdtool info abc_111.rrd|grep step
step = 60
[iyunv@abc rra]#

再去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任务计划没有执行
  查日志发现:




Aug  4 06:11:02 centos1000 crond[12966]: (*system*) BAD FILE MODE (/etc/cron.d/nginx-rrd.cron)






1




Aug  4 06:11:02 centos1000 crond[12966]: (*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_name  localhost;
  •         #charset koi8-r;
  •         #access_log  logs/host.access.log  main;
  •         location / {
  •             root   /data/web_server/index;
  •             index  index.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



导入成功后会显示:


[tr]
[td=100,1]
Import Results

  Cacti has imported the following items:
  GPRINT Preset

[success] Normal [update]
  Data Input Method

[success] nginx clients stat [update]
  Data Template

[success] Nginx Clients Stat [update]
  Graph Template

[success] Nginx Clients Stat [update]




  然后你就能在 Graph Templates 中看到你刚所导入 Xml 后所产生的模板
DSC0006.jpg
  接着进入New Graphs 选择任意一台已经创建好图标的监控服务器。
DSC0007.jpg
  呵...然后接下来的步骤不用说了吧? 就跟创建网卡,CPU等之类的图表方式一样。
DSC0008.jpg








声明:本博客 转载、收集、整理了一些他人文章,当时仅提供自己学习之用,时间久远,已不知其具体出处。敬请前辈们海涵。







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中导入模板,在相关主机模板中添加图形即可.
DSC0009.png
  点击这里下载文件: tcp_stats.zip
  
  
  http://bbaobelief.blog.iyunv.com/3838275/987650
  之 前做了cacti监控NginxStatus并发,因为用的是集群环境,nginx的那个模版默认只能添加一个监控地址。尝试修改模版但是发现比较麻烦。 后来在网上看到了cacti汇总流量的方法,但没有汇总nginx并发的,于是借鉴汇总流量的方法做了cacti汇总nginx并发的监控


  • 1、首先确保你的cacti监控nginx状态配置正常;(网上教程很多,此处不做描述)

  • 2、点击图形管理----》CDEFs--再点击右上角的ADD
DSC00010.png


  • 3、添加如下三个CDEF项目,
DSC00011.png


  • 4、点击图形管理----》再点击右上角的ADD
DSC00012.png


  • 5、出现选择图形模块,不用选择直接创建
DSC00013.png


  • 6、在新开的页面中的graph configuration 的对话框中输入标题名称。点下面的创建
DSC00014.png


  • 7、出现如下页面,这时就可添加要叠加的数据源了,点Graph items右边的ADD
DSC00015.png


  • 8、在下面的窗口,主机选择你的设备,数据源选择你要叠加的主机status。

  • 图形项选AREA(区域显示).  Cdef功能留空 点创建即可

DSC00016.png


  • 9、重复以上步骤,添加第二个叠加的status。如下图,注意图形项目类型选。STACK(直方显示)
DSC00017.png


  • 如有多个继续按照步骤7添加

  • 10、完成后如下图


DSC00018.png
DSC00019.png


  • 11、下面我们再来创建图片下面的数据。

  • 点击graph items右边的ADD。在弹出的页面上选如下选项。

  • 此处可以是图例(LEGEND)也可以是图形打印,图例可以一次创建多个。
DSC00020.png


  • 12、同样的方法添加第二个端口,添加完成后如下图


DSC00021.png


  • 如有多个依次添加;

  • 13、我们接下来再把这两个数据加起来。点击graph items右边的ADD,数据源

  • 不写。cdef写之前创建的nginx_status_all


DSC00022.png


  • 14、无项目添加注释
DSC00023.png


  • 15、最终完成效果图:
DSC00024.png
DSC00025.png
  如果这篇文章帮助到了你,请不要吝啬你的回复!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-110618-1-1.html 上篇帖子: cacti安装与配置(转)。 下篇帖子: (三)Cacti的使用
返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表