实战Cacti网络监控(2)——搭建Spine轻量级框架实现多线程监控

简介:

实验内容:

1.监控物理主机

2.Spine 多线程监控

3.monitor监控插件


    1.监控物理主机

        在物理主机上配置如下:
        <1>yum install net-snmp.x86_64  -y    ##安装snmp服务
             yum install net-snmp-utils.x86_64 -y
        <2>vim /etc/snmp/snmpd.conf

 41 #com2sec notConfigUser  default       public

 42 com2sec local     localhost           public

 43 com2sec mynetwork 172.25.254.0/24      public

 44 

 45 ####

 46 # Second, map the security name into a group name:

 47 

 48 #       groupName      securityModel securityName

 49 #group   notConfigGroup v1           notConfigUser

 50 #group   notConfigGroup v2c           notConfigUser

 51 group MyRWGroup v1         local

 52 group MyRWGroup v2c        local

 53 group MyRWGroup usm        local

 54 group MyROGroup v1         mynetwork

 55 group MyROGroup v2c        mynetwork

 56 group MyROGroup usm        mynetwork

 57 ####

 58 # Third, create a view for us to let the group have rights to:

 59 

 60 # Make at least  snmpwalk -v 1 localhost -c public system fast again.

 61 #       name           incl/excl     subtree         mask(optional)

 62 view    systemview    included   .1.3.6.1.2.1

 63 view    systemview    included   .1.3.6.1.2.1.25.1.1

 64 view all    included  .1                               80

 65 ####


 69 #access  notConfigGroup ""      any       noauth    exact  systemview none n    one

 70 access MyROGroup ""      any       noauth    exact  all    none   none

 71 access MyRWGroup ""      any       noauth    exact  all    all    none

 72 # --


170 syslocation RHEL6.5

171 syscontact Root <root@willis.example.com>


331 disk / 10000

        <3>systemctl start snmpd
        <4>snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex    ##-v指版本,-c指密钥,即客户端snmp.conf里面所设置的,公认的密钥组为public(这也是snmp众所都知的bug之一,不安全!,当然也可以自己改个密码),IP——MIB指获取系统(物理机)的IP信息
    *****************************************************************************************

[root@willis Desktop]# snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex 

IP-MIB::ipAdEntIfIndex.10.52.115.4 = INTEGER: 24

IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1

IP-MIB::ipAdEntIfIndex.172.25.254.6 = INTEGER: 22

IP-MIB::ipAdEntIfIndex.192.168.122.1 = INTEGER: 5    *************************************************************************************************************

        <5>snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.9
    *************************************************************************************************************
    [root@foundation38 snmp]# snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.9        ##查看系统信息管理块

UCD-SNMP-MIB::dskIndex.1 = INTEGER: 1

UCD-SNMP-MIB::dskPath.1 = STRING: /

UCD-SNMP-MIB::dskDevice.1 = STRING: /dev/mapper/rhel-root

UCD-SNMP-MIB::dskMinimum.1 = INTEGER: 10000

UCD-SNMP-MIB::dskMinPercent.1 = INTEGER: -1

UCD-SNMP-MIB::dskTotal.1 = INTEGER: 225661280

UCD-SNMP-MIB::dskAvail.1 = INTEGER: 102136208

UCD-SNMP-MIB::dskUsed.1 = INTEGER: 123525072

UCD-SNMP-MIB::dskPercent.1 = INTEGER: 55

UCD-SNMP-MIB::dskPercentNode.1 = INTEGER: 0

UCD-SNMP-MIB::dskTotalLow.1 = Gauge32: 225661280

UCD-SNMP-MIB::dskTotalHigh.1 = Gauge32: 0

UCD-SNMP-MIB::dskAvailLow.1 = Gauge32: 102136208

UCD-SNMP-MIB::dskAvailHigh.1 = Gauge32: 0

UCD-SNMP-MIB::dskUsedLow.1 = Gauge32: 123525072

UCD-SNMP-MIB::dskUsedHigh.1 = Gauge32: 0

UCD-SNMP-MIB::dskErrorFlag.1 = INTEGER: noError(0)

UCD-SNMP-MIB::dskErrorMsg.1 = STRING: 

*******************************************************************************************************
    <6>网页端配置
        打开网页http:172.25.254.10
        在左边选Device 然后点击Add

wKioL1ftLDexZUyyAAETDhmRX-I904.png

这是创建好的

然后点击右上方第一个

wKioL1ftLG-BXuZ3AAAMabB7ha8799.png

wKiom1ftLMiDfO_6AAA1cAhDe2k656.png

wKiom1ftLMjRiwG_AABxr2yTP7o619.png

wKioL1ftLMeBUKYmAAAmI07S7oM034.png

    添加虚拟机监控界面

    Console -> Graph Trees -> (Edit) -> Graph Tree Items     

wKioL1fttQvQcfSXAADFlQUx6zY814.png


wKioL1fttQrSnI_eAAEqh6TUnI4968.png





    2.Spine 多线程监控

        在虚拟主机server6上编译cacti-spine:
        <1>tar zxf cacti-spine-0.8.8h.tar.gz
        <2>cd cacti-spine-0.8.8h
            《1》yum install net-snmp-devel mysql-devel openssl-devel -y    ##解决依赖关系
            《2》yum install dos2unix autoconf automake binutils libtool gcc cpp glibc-headers glibc-devel -y    
            《3》sh bootstrap
            《4》./configure
            《5》make && make install
        <3>cd /usr/local/spine/etc
            《1》cp spine.conf.dist /etc/spine.conf
            《2》vim /etc/spine.conf    ##做如下修改
         33 DB_Host         localhost
         34 DB_Database     cacti
         35 DB_User         cacti
         36 DB_Pass         redhat

         37 DB_Port         3306
        <4>su - cacti
            《1》/usr/local/spine/bin/spine
        **********************************************************************

[root@server10 etc]# su - cacti

-bash-4.1$ /usr/local/spine/bin/spine

SPINE: Using spine config file [/etc/spine.conf]

SPINE: Version 0.8.8h starting

SPINE: Time: 0.0821 s, Threads: 5, Hosts: 3

-bash-4.1$ 

        **********************************************************************
    网页添加        
Console -> Cacti Settings     

The path to Spine binary.                        /usr/local/spine/bin/spine


wKiom1fttMjwfqjtAABnl-sd5wY124.png   **********************************************************************

        <5>vim /etc/php.ini    ##修改PHP的时间区
            946 date.timezone = Asia/Shanghai
        <6>/etc/init.d/httpd restart    ##重启apache服务
        <7>cd /var/www/html/cacti/log
            tail -f /var/www/html/cacti/log/cacti.log    ##监控日志,或者用cat cacti.log,只要出现如下类似消息即可:
        *****************************************************************************************

09/29/2016 03:20:01 PM - SYSTEM STATS: Time:0.1069 Method:cmd.php Processes:1 Threads:N/A Hosts:3 HostsPerProcess:3 DataSources:18 RRDsProcessed:16        *****************************************************************************************

3.monitor监控插件
    (1)tar -zxf monitor-v1.3-1.tgz -C /var/www/html/cacti/plugins
    (2)浏览器页面操作:


wKiom1fttGeSas9YAACxk9NkqNQ374.png


wKioL1fttGbBwHC1AADaFMrnD7k149.png



wKiom1fttGXCs3sWAABYqabDnfI310.png


    搭建已经完成,过一段时间可以清楚的看到服务器性能变化曲线

wKiom1ftte-gzwTNAAFv0fLhIWc155.png


本文转自willis_sun 51CTO博客,原文链接:http://blog.51cto.com/willis/1857987,如需转载请自行联系原作者

相关文章
|
1月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
1月前
|
监控 Linux 测试技术
C++零拷贝网络编程实战:从理论到生产环境的性能优化之路
🌟 蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕C++与零拷贝网络编程,从sendfile到DPDK,实战优化服务器性能,毫秒级响应、CPU降60%。分享架构思维,共探代码星辰大海!
|
1月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
143 4
|
1月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
26天前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
199 0
|
2月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
351 11
|
2月前
|
机器学习/深度学习 算法 PyTorch
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
|
3月前
|
数据采集 消息中间件 并行计算
Python多线程与多进程性能对比:从原理到实战的深度解析
在Python编程中,多线程与多进程是提升并发性能的关键手段。本文通过实验数据、代码示例和通俗比喻,深入解析两者在不同任务类型下的性能表现,帮助开发者科学选择并发策略,优化程序效率。
233 1
|
2月前
|
监控 前端开发 安全
Netty 高性能网络编程框架技术详解与实践指南
本文档全面介绍 Netty 高性能网络编程框架的核心概念、架构设计和实践应用。作为 Java 领域最优秀的 NIO 框架之一,Netty 提供了异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。本文将深入探讨其 Reactor 模型、ChannelPipeline、编解码器、内存管理等核心机制,帮助开发者构建高性能的网络应用系统。
219 0
|
2月前
|
传感器 数据采集 存储
【无线传感器】使用 MATLAB和 XBee连续监控温度传感器无线网络研究(Matlab代码实现)
【无线传感器】使用 MATLAB和 XBee连续监控温度传感器无线网络研究(Matlab代码实现)

热门文章

最新文章