cacti、rrdtool调试

一、cacti问题点

1. 周期长的图形不能出图/不可下载,是因为php单进程的内存偏小,以及php进程的可执行时间有限制。需要调整内存大小,以及将php进程默认的中止时间调大。

2. 带宽的单位,bits/s、kbits/s、mbits/s、gbits/s。注意与bytes/s、kb/s、m/s、g/s的区别。

他们对应为8倍的关系。这问题,在处理交换机的流量扩展的时候遇到的,rrdtool中存取的是bytes/s, 下载下来的excel中是bits/s。1 bytes/s = 8bits/s。图形中G为Gbits/s而非Gbytes/s。

例如rrdtool存储为x bytes/s。

转换成Gbites/s的单位CDEF聚合就是:x * 8 / 1024 / 1024 /1024。有的是CDEF使用的 x * 8 /1000 / 1000 / 1000。

而如果转换成G / s : x / 1024 / 1024 /1024。

关于带宽的测试:iperf3

两台机器,centos7 安装上iperf3,一台作为服务端iperf3 -s。

客户端: iperf3 -c server_ip -i 10 t 600 -B 192.168.1.4 -P 5 测上行速度

               iperf3 -c server_ip -i 10 t 600 -B 192.168.1.4 -P 5 -R 测下行速度

R表示,服务端作为发送者,客户端作为接收者

P:代表并发

B:绑定网卡ip

二. rrdtool基本操作

#创建
rrdtool create --start 1633017600 --step 300  w03.rrd DS:ds1:COUNTER:600:U:U         RRA:AVERAGE:0.5:1:8930

ds保存的为临时的pdp数据。

rra保存的为依赖cf聚合pdp的归档数据cdp。

heartbeat 心跳有效期600,也就是两个刷新周期。在t点的时候爬取到数据,
那么前后300S(共600S)的平均值就 会绘成t点的值。但如果在两个刷新周期内都没爬取到数据,必须更新一个UNKNOWN值。
#更新

#拉取
rrdtool fetch w03.rrd AVERAGE -s 1633017600 -e 1633050600 > /home/a.out

三.rrdtool的本地调试。

1. centos7中安装好rrdtool,自编译的。

2. vscode调试设置:

ctrl + shift + p 设置C++全局配置。

 launch.json:如果有调试改动代码需要添入preLaunchTask。

带参运行调试如下

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "/usr/local/rrdtool/bin/rrdtool",
            // "program": "${workspaceFolder}/src/rrdtool",
            "args": [
                // "--help"
                // -- restore cmd -- start
                // "restore",
                // "/home/1.xml",
                // "/home/2.rrd"
                // -- restore cmd -- end
                // -- graph cmd -- start
                "graph",
                "/home/1234.png",
                "--start=1639460203",
                "--end=1639546603",
                "--title='XGigabitEthernet7/0/4'",
                "--rigid",
                "--base=1000",
                "--height=120",
                "--width=500",
                "--upper-limit='100'",
                "--lower-limit='0'",
                "COMMENT:'2021/12/14\\ 13\\:36\\:43~2021/12/15\\ 13\\:36\\:43'",//注意此处时间中不能有冒号,冒号是rrdtool的命令。用得转义
                "COMMENT:'\\n'",
                "--vertical-label='bit/s'",
                "--slope-mode",
                "--font",
                "TITLE:10:",
                "--font",
                "AXIS:8:",
                "--font",
                "LEGEND:8:",
                "--font",
                "UNIT:8:",
                "DEF:a=\"/home/401.rrd\":traffic_in:AVERAGE",
                "DEF:b=\"/home/401.rrd\":traffic_out:AVERAGE",
                "CDEF:cdefa=a,8,*",
                "CDEF:cdefe=b,8,*",
                "AREA:cdefa#00CF00FF:\"in:\"",
                "GPRINT:cdefa:LAST:\"last-%8.2lf\\ %s\"", // 注意空格也需要转义\\,空格为rrdtool的命令分隔
                "GPRINT:cdefa:AVERAGE:\"average-%8.2lf\\ %s\"",
                "GPRINT:cdefa:MAX:\"max-%8.2lf\\ %s\n\"",
                // "LINE1:cdefe#002A97FF:\"out:\"",
                // "GPRINT:cdefe:LAST:\"last-%8.2lf\\ %s\"",
                // "GPRINT:cdefe:AVERAGE:\"average-%8.2lf\\ %s\"",
                // "GPRINT:cdefe:MAX:\"max-%8.2lf\\ %s\n\""
                // -- graph cmd -- end
            ],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

 

四、rrdtool工具生成图片中文乱码

参考:Centos7 安装中文字体 图文教程 - 老季博客

五、cacti cdef 自定义

cdef=a,14,*,8,*,b,11,*,8,*,+,c,10,*,8,*,+,d,20,*,8,*,+,e,20,*,8,*,+,f,10,*,8,*,+

当然可以一个自定义字符串处理好,分开是为了更直观。注意运算符必须是在两个数字后面的。

自定义的作用,是为了同一个节点下,很多vlan。使用一个vlan的数据*vlan的个数,就能表示出该节点的数据。

优点:多节点很多vlan出图高效。

缺点:认为所有vlan数据大小完全一样,实际有一点偏差的,不过影响不大。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cacti是一个基于Web的网络图形解决方案,用于监控和图形化显示网络设备和服务器的性能。以下是Cacti 1.2.24的安装步骤: 1. 确保系统已满足Cacti的要求。Cacti需要一个运行Apache、PHP、MySQL的服务器环境。 2. 下载Cacti的安装包。你可以从Cacti的官方网站上下载最新的稳定版本。 3. 解压缩安装包。将安装包解压到服务器的web目录下(比如/var/www/html/)。 4. 创建一个MySQL数据库用于存储Cacti的数据。你可以使用MySQL的命令行工具或者图形界面工具创建一个新的数据库,并为其指定一个用户和密码。 5. 导入Cacti的数据库模板。在安装包的docs目录下可以找到一个名为cacti.sql的SQL模板文件。将该文件导入到你所创建的Cacti数据库中。 6. 配置Cacti。在安装包的include目录下可以找到一个名为config.php.default的配置文件。将该文件复制为config.php,并根据你的数据库信息进行相应的配置。 7. 设置访问权限。确保Web服务器能够访问Cacti安装目录及其相关文件。 8. 启用Cacti的轮询服务。在Cacti的安装目录下执行命令`php poller.php`来启动Cacti的轮询服务。 9. 访问Cacti的Web界面。使用你配置的Cacti管理员帐户登陆到Cacti的Web界面,即可开始配置和监控你的网络设备和服务器。 以上是Cacti 1.2.24的基本安装步骤,根据你的系统环境和需求可能会有一些小的差异。如果遇到问题,你可以参考Cacti的官方文档或寻求相关帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值