实战ganglia分布式的监控系统(1)——监控主机与远程主机

简介:

 ganglia 是分布式的监控系统,有两个Daemon, 分别是:客户端Ganglia Monitoring Daemon(gmond)和服务端Ganglia Meta Daemon (gmetad),还有Ganglia PHP Web Frontend(基于web的动态访问方式)组成是一个Linux下图形化监控系统运行性能的软件,界面美观、丰富,功能强大
        http://ganglia.sourceforge.net/ 软件下载


实验环境:
    物理主机    redhat7.0 内核版本 3.10.0-123.el7.x86_64
    虚拟机    redhat6.5 内核版本 2.6.32-431.el6.x86_64
        服务器端: server1.example.com    172.25.254.1
        客户端:    server2.example.com    172.25.254.2
    所需软件包:
        ganglia-3.4.0.tar.gz                   
        rrdtool-devel-1.3.8-6.el6.x86_64.rpm
        ganglia-web-3.4.2.tar.gz               
        libconfuse-2.6-3.el6.x86_64.rpm        
        libconfuse-devel-2.6-3.el6.x86_64.rpm
        alert-agent-4.1.3.1-linux-x64.tar.gz


1。服务器端配置

    1.1使用源码包编译rpm包安装

[root@server1 ~]# yum install rpm-build -y
[root@server1 ~]# rpmbuild -tb ganglia-3.4.0.tar.gz   ##会显示需要以下    依赖包,安装即可

error: Failed build dependencies:
    libpng-devel is needed by ganglia-3.4.0-1.x86_64
    libart_lgpl-devel is needed by ganglia-3.4.0-1.x86_64
    gcc-c++ is needed by ganglia-3.4.0-1.x86_64
    python-devel is needed by ganglia-3.4.0-1.x86_64
    libconfuse-devel is needed by ganglia-3.4.0-1.x86_64
    pcre-devel is needed by ganglia-3.4.0-1.x86_64
    autoconf is needed by ganglia-3.4.0-1.x86_64
    automake is needed by ganglia-3.4.0-1.x86_64
    libtool is needed by ganglia-3.4.0-1.x86_64
    expat-devel is needed by ganglia-3.4.0-1.x86_64
    rrdtool-devel is needed by ganglia-3.4.0-1.x86_64
    freetype-devel is needed by ganglia-3.4.0-1.x86_64
    apr-devel > 1 is needed by ganglia-3.4.0-1.x86_64
[root@server1 ~]# yum install libart_lgpl-devel gcc-c++ python-devel libconfuse-devel pcre-devel expat-devel rrdtool-devel apr-devel -y 
[root@server1 ~]# yum install libconfuse-* rrdtool-devel-1.3.8-6.el6.x86_64.rpm  -y
[root@server1 ~]# rpmbuild -tb ganglia-3.4.0.tar.gzerror: Failed build         dependencies:
    libpng-devel is needed by ganglia-3.4.0-1.x86_64
    autoconf is needed by ganglia-3.4.0-1.x86_64
    automake is needed by ganglia-3.4.0-1.x86_64
    libtool is needed by ganglia-3.4.0-1.x86_64
    freetype-devel is needed by ganglia-3.4.0-1.x86_64
[root@server1 ~]# yum install libpng-devel autoconf automake libtool     freetype-devel -y
[root@server1 ~]# rpmbuild -tb ganglia-3.4.0.tar.gz    ##再次执行就好咯!

[root@server1 ~]# cd /root/rpmbuild/RPMS/x86_64/
[root@server1 x86_64]# ls
    ganglia-devel-3.4.0-1.x86_64.rpm
    ganglia-gmetad-3.4.0-1.x86_64.rpm        ##服务器端的

    ganglia-gmond-3.4.0-1.x86_64.rpm        ##客户端的

    ganglia-gmond-modules-python-3.4.0-1.x86_64.rpm    ##支持python的客户端的

    libganglia-3.4.0-1.x86_64.rpm

    1.2服务器端安装ganglia软件

[root@server1 x86_64]# yum install ganglia-gmetad-3.4.0-1.x86_64.rpm  libganglia-3.4.0-1.x86_64.rpm  ganglia-gmond-3.4.0-1.x86_64.rpm -y

    1.3将编译好的客户端rpm包复制到客户端

[root@server1 x86_64]# scp  -r  libganglia-3.4.0-1.x86_64.rpm   ganglia-gmond-3.4.0-1.x86_64.rpm    ganglia-gmond-modules-python-3.4.0-1.x86_64.rpm  172.25.254.2:/root

[root@server1 x86_64]# ls /root/libconfuse-*
    /root/libconfuse-2.6-3.el6.x86_64.rpm
    /root/libconfuse-devel-2.6-3.el6.x86_64.rpm

[root@server1 x86_64]# scp -r /root/libconfuse-* 172.25.254.2:/root

    1.4修改配置文件

[root@server1 x86_64]# cd /etc/ganglia/
[root@server1 ganglia]# vim gmetad.conf    

    #修改44行为:

        44 data_source "willis  cluster" localhost  172.25.254.2

[root@server1 ganglia]# vim gmond.conf 
    ##修改24行为:

        24   name = "willis cluster"

    1.5 网页端监控配置

[root@server1 ganglia]# cd /root/
[root@server1 ~]# rpm -tb ganglia-web-3.4.2.tar.gz 

[root@server1 ~]# yum install php php-gd -y        ##提示什么就装什么
[root@server1 ~]# rpm -tb ganglia-web-3.4.2.tar.gz

[root@server1 ~]# cd /var/www/html/
[root@server1 html]# ls
gweb            #有生成一个gweb目录就是网页监控端目录


    1.6 启动服务器端

[root@server1 ganglia]# /etc/init.d/gmond start
Starting GANGLIA gmond:                                    [  OK  ]
[root@server1 ganglia]# /etc/init.d/gmetad start
Starting GANGLIA gmetad:                                   [  OK  ]

2.被监控客户端配置

[root@server2 ~]# rpm -ivh ganglia-gmond-3.4.0-1.x86_64.rpm  lib*
[root@server2 ~]# rpm -ivh ganglia-gmond-modules-python-3.4.0-1.x86_64.rpm  
[root@server2 ~]# cd /etc/ganglia/
[root@server2 ganglia]# vim gmond.conf 

    24   name = "willis  cluster"

[root@server2 ganglia]# /etc/init.d/gmond start
Starting GANGLIA gmond:                                    [  OK  ]


3.浏览器访问测试

    访问 172.25.254.1 /gweb,如果没有显示节点,且在服务器端server1上的/var/lib/ganglia/rrds路径下没有文件
        则在
服务器和客户端都做如下动作:
        <1>ip route add 239.2.11.71 dev eth0
        <2>route -n
    ********************************************************************
    [root@server1 objects]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    239.2.11.71     0.0.0.0         255.255.255.255 UH    0      0        0 eth0
    172.25.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
    169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
    ********************************************************************
        <3>/etc/init.d/gmond restart
           /etc/init.d/gmetad restart
        <4>cd /var/lib/ganglia/rrds
            ls有__SummaryInfo__ 和 willis cluster两个目录    ##willis cluster里有所有局域网内可监控到的IP,包括自己
        <5>浏览器再刷新访问 172.25.254.1/gweb就好了!

wKioL1gRurzD2xDRAAHCYu8vnTY316.png


查看服务器server1节点

wKioL1gRuxPCFwi7AAG6XNCis-Q831.png

查看客户端server2节点

wKiom1gRuzjjG7PoAAFQNCCnK9U316.png


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

相关文章
|
5天前
|
数据管理 API 调度
鸿蒙HarmonyOS应用开发 | 探索 HarmonyOS Next-从开发到实战掌握 HarmonyOS Next 的分布式能力
HarmonyOS Next 是华为新一代操作系统,专注于分布式技术的深度应用与生态融合。本文通过技术特点、应用场景及实战案例,全面解析其核心技术架构与开发流程。重点介绍分布式软总线2.0、数据管理、任务调度等升级特性,并提供基于 ArkTS 的原生开发支持。通过开发跨设备协同音乐播放应用,展示分布式能力的实际应用,涵盖项目配置、主界面设计、分布式服务实现及部署调试步骤。此外,深入分析分布式数据同步原理、任务调度优化及常见问题解决方案,帮助开发者掌握 HarmonyOS Next 的核心技术和实战技巧。
121 76
鸿蒙HarmonyOS应用开发 | 探索 HarmonyOS Next-从开发到实战掌握 HarmonyOS Next 的分布式能力
|
5天前
|
物联网 调度 vr&ar
鸿蒙HarmonyOS应用开发 |鸿蒙技术分享HarmonyOS Next 深度解析:分布式能力与跨设备协作实战
鸿蒙技术分享:HarmonyOS Next 深度解析 随着万物互联时代的到来,华为发布的 HarmonyOS Next 在技术架构和生态体验上实现了重大升级。本文从技术架构、生态优势和开发实践三方面深入探讨其特点,并通过跨设备笔记应用实战案例,展示其强大的分布式能力和多设备协作功能。核心亮点包括新一代微内核架构、统一开发语言 ArkTS 和多模态交互支持。开发者可借助 DevEco Studio 4.0 快速上手,体验高效、灵活的开发过程。 239个字符
150 13
鸿蒙HarmonyOS应用开发 |鸿蒙技术分享HarmonyOS Next 深度解析:分布式能力与跨设备协作实战
|
12天前
|
NoSQL Java Redis
秒杀抢购场景下实战JVM级别锁与分布式锁
在电商系统中,秒杀抢购活动是一种常见的营销手段。它通过设定极低的价格和有限的商品数量,吸引大量用户在特定时间点抢购,从而迅速增加销量、提升品牌曝光度和用户活跃度。然而,这种活动也对系统的性能和稳定性提出了极高的要求。特别是在秒杀开始的瞬间,系统需要处理海量的并发请求,同时确保数据的准确性和一致性。 为了解决这些问题,系统开发者们引入了锁机制。锁机制是一种用于控制对共享资源的并发访问的技术,它能够确保在同一时间只有一个进程或线程能够操作某个资源,从而避免数据不一致或冲突。在秒杀抢购场景下,锁机制显得尤为重要,它能够保证商品库存的扣减操作是原子性的,避免出现超卖或数据不一致的情况。
44 10
|
22天前
|
机器学习/深度学习 存储 运维
分布式机器学习系统:设计原理、优化策略与实践经验
本文详细探讨了分布式机器学习系统的发展现状与挑战,重点分析了数据并行、模型并行等核心训练范式,以及参数服务器、优化器等关键组件的设计与实现。文章还深入讨论了混合精度训练、梯度累积、ZeRO优化器等高级特性,旨在提供一套全面的技术解决方案,以应对超大规模模型训练中的计算、存储及通信挑战。
55 4
|
1月前
|
存储 运维 负载均衡
构建高可用性GraphRAG系统:分布式部署与容错机制
【10月更文挑战第28天】作为一名数据科学家和系统架构师,我在构建和维护大规模分布式系统方面有着丰富的经验。最近,我负责了一个基于GraphRAG(Graph Retrieval-Augmented Generation)模型的项目,该模型用于构建一个高可用性的问答系统。在这个过程中,我深刻体会到分布式部署和容错机制的重要性。本文将详细介绍如何在生产环境中构建一个高可用性的GraphRAG系统,包括分布式部署方案、负载均衡、故障检测与恢复机制等方面的内容。
116 4
构建高可用性GraphRAG系统:分布式部署与容错机制
|
1月前
|
数据采集 存储 监控
公司监控软件:基于 PHP 的分布式监控系统设计
本文介绍了基于 PHP 的分布式监控系统的设计与实现。该系统包括监控节点、数据采集模块、数据传输模块和监控中心,能够高效地收集、传输和分析各节点的数据,确保系统的稳定运行和安全防护。通过示例代码展示了数据采集、传输及存储的具体实现方法,并强调了安全与可靠性的重要性。
51 3
|
28天前
|
机器学习/深度学习 人工智能 分布式计算
【AI系统】分布式通信与 NVLink
进入大模型时代后,AI的核心转向大模型发展,训练这类模型需克服大量GPU资源及长时间的需求。面对单个GPU内存限制,跨多个GPU的分布式训练成为必要,这涉及到分布式通信和NVLink技术的应用。分布式通信允许多个节点协作完成任务,而NVLink则是一种高速、低延迟的通信技术,用于连接GPU或GPU与其它设备,以实现高性能计算。随着大模型的参数、数据规模扩大及算力需求增长,分布式并行策略,如数据并行和模型并行,变得至关重要。这些策略通过将模型或数据分割在多个GPU上处理,提高了训练效率。此外,NVLink和NVSwitch技术的持续演进,为GPU间的高效通信提供了更强的支持,推动了大模型训练的快
40 0
|
2月前
|
NoSQL Java Redis
开发实战:使用Redisson实现分布式延时消息,订单30分钟关闭的另外一种实现!
本文详细介绍了 Redisson 延迟队列(DelayedQueue)的实现原理,包括基本使用、内部数据结构、基本流程、发送和获取延时消息以及初始化延时队列等内容。文章通过代码示例和流程图,逐步解析了延迟消息的发送、接收及处理机制,帮助读者深入了解 Redisson 延迟队列的工作原理。
|
2月前
|
消息中间件 中间件 数据库
NServiceBus:打造企业级服务总线的利器——深度解析这一面向消息中间件如何革新分布式应用开发与提升系统可靠性
【10月更文挑战第9天】NServiceBus 是一个面向消息的中间件,专为构建分布式应用程序设计,特别适用于企业级服务总线(ESB)。它通过消息队列实现服务间的解耦,提高系统的可扩展性和容错性。在 .NET 生态中,NServiceBus 提供了强大的功能,支持多种传输方式如 RabbitMQ 和 Azure Service Bus。通过异步消息传递模式,各组件可以独立运作,即使某部分出现故障也不会影响整体系统。 示例代码展示了如何使用 NServiceBus 发送和接收消息,简化了系统的设计和维护。
65 3
|
2月前
|
存储 开发框架 .NET
C#语言如何搭建分布式文件存储系统
C#语言如何搭建分布式文件存储系统
87 2