两个项目的代码都在GemCube上:
http://gemcutter.org/gems/lpm
http://gemcutter.org/gems/lpmp
这两个项目其实是一个大项目--> <<倩女幽魂>>
但分开用完全没问题.
为什么叫倩女幽魂呢?
因为我想发扬中华传统文化.
这个监控跟别的监控系统相比的优势我认为在于:
1.安装和运行非常方便.
2.实时监控!
安装:
gem i lpm --source http://gemcutter.org/
gem i lpmp --source http://gemcutter.org/
运行:
引用
(sudo )lpmp --memcache=10.2.226.133:11011,10.2.226.133:11012 --log_level=0 --mode=XQPUSH
(sudo )lpm -t 15 --memcache=10.2.226.133:11011,10.2.226.133:11012 -P --pids=28261,28263 --log_level=3
设计思路:
我随便写下啊,
LPM是Rest Server提供主机数据,安装在被监控服务器上.
LPMP也是Rest Server,处理LPM得到的数据.安装在监控服务器上.
LPM和LPMP可以N对1,也就是同时监控多台服务器.
LPMP提供web服务,有动态的图表展示,实时更新数据,这是由前端JS控制的.
但由于我美工没什么功底,目前只会用EXT做页面,所以LPMP体积有点大,大部分是Extjs占用掉了.
目前设计了三种LPM和LPMP的通讯模式:
1.LPMP主动抓LPM数据.实时得到最新数据.
2.LPMP主动抓LPM数据.后台若干进程抓取,然后放到memcache里,请求来了后LPMP主进程直接从cache里面拿做好的数据.
3.LPM直接往Cache里面扔数据,LPMP主进程直接访问cache.
第三个最常用,第一个做演示用或者没有cache时候用.当我想到第三种设计方式的时候,第二种设计就暂停了,没必要.
顺便再说一句,LPM目前只支持Linux系统监控.
下面是LPMP和LPM的使用帮助:
安装好LPMP后,可以在命令行直接敲入命令:lpmp --help =>
引用
ubuntu:~$ lpmp --help
CaiChen [also named => L(inux) P(roc) M(onitor) P(ortal)] :
Mail/Gtalk: zheng.cuizh@gmail.com
Usage: lpmp [options] argv...
(sudo )lpmp --memcache=10.2.226.133:11011,10.2.226.133:11012 --log_level=0 --mode=XQPUSH
LPMP optins useage:
-p, --port=PORT lpmp server requires a port number.
default port=6789
--mode [MODE] PULL : (default) lpmp server will request data from lpm server when a request coming.
This mode require a high performance lpmp server,it's used to be a daemon.
BGPULL : This mode will run some background process at lpmp server.
It needs memcaches.see --memcache=[LIST,LIST]
XQPUSH : This mode will get data from memcache when a request come from client.
This mode is the heighest performance of the three.
It also needs memcaches.see --memcache=[LIST,LIST]
default --mode=PULL.
-m, --memcache=LIST,LIST memcache list,such as : --memcache=10.2.226.38:11211,10.2.226.37:11211
memcache server(s) must be alive.
-l, --log=LogPath default --log=/var/log/lpmp.log
--log_level=LogLevel 1 => DEBUG
2 => INFO
3 => WARN
4 => ERROR
5 => FATAL
default --log_level=3
-t=60 Make sure the LPMP server's datatime is same as LPM server,
or the difference is little than timeout,else the memcache data will not available for LPMP
(sudo )ntpdate 10.2.228.8(your date server ip)
default -t=60
common options:
--help show this message
--version show version
同样,安装好LPM后,直接敲入:lpm --help =>
引用
ubuntu:~$ lpm --help
XiaoQian [also named => L(inux) P(roc) M(onitor)] :
Mail/Gtalk: zheng.cuizh@gmail.com
Usage: lpm [options] argv...
LPM optins useage:
-p, --port=PORT lpm rest server requires a port number.
default port=9876
-P, --[no-]push if push is given, the --memcache must be set,
and a job will push server performance data to memcache server.
default --push=false.
-t, --timer=Second periodic timer to push cache
default --timer=10(second).
-m, --memcache=[LIST,LIST] memcache list,such as : --memcache=10.2.226.38:11211,10.2.226.37:11211
memcache server(s) must be alive.
-l, --log=LogPath default --log=/var/log/lpm.log
--log_level=LogLevel 1 => DEBUG
2 => INFO
3 => WARN
4 => ERROR
5 => FATAL
default --log_level=3
--pids=[PID,PID] pids list,such as : --pids=1234,2134,4321
common options:
--help show this message
--version show version
LPM is short for Linux Proc Monitor.
LPM是一个监控Linux主机性能参数的类库,带有一个web server,提供网页访问接口,前提是你安装过"sinatra".主要监控的是Linux主机性能常用参数,比如主机CPU,Load,Memory等,还可以监控单个进程的参数指标比如单进程消耗的CPU等.
该项目将和另外一个项目合并,当然完全可以单独拿出来使用。
合并后, LPM中文项目名将叫:小倩
另外一个项目--LPMP中文项目名将叫:采臣
采臣将使用小倩提供的数据,提供一个对外的统一监控界面,强大之处在于采臣支持分布式多服务器端监控。
引用
残寒消尽,疏雨过,清明后。 花径款余红,风沼萦新皱。 乳燕穿庭户,飞絮沾襟袖。 正佳时,仍晚昼,著人滋味,真个浓如酒。
频移带眼,空只恁,厌厌瘦。 不见又思量,见了还依旧。为问频相见,何似长相守。 天不老,人未偶,且将此恨,分付庭前柳。
It provides current performance of a linux host,and the command 'lpm' is a web server supported by sinatra,you could type in 'lpm' in command shell,then access the http://localhost:9876/,some information will be show.
If you want get some help,plz check out the test/.rb.
Example:
# below are some test cases for LPM::Proc
require "lpm"
require "Benchmark"
require "pp"
Benchmark.bm do |x|
x.report("CPU"){pp LPM::Proc.cpu}
x.report("CPU(5)"){pp LPM::Proc.cpu(5)}
x.report("CPU(10)"){pp LPM::Proc.cpu(10)}
x.report("CPU(15)"){pp LPM::Proc.cpu(15)}
end
# => below test is for LPM::Proc
pp "LPM::Proc.loadavg => #{LPM::Proc.loadavg}"
pp "LPM::Proc.uptime => #{LPM::Proc.uptime}"
pp "LPM::Proc.meminfo => #{LPM::Proc.meminfo}"
pp "LPM::Proc.cpuinfo => #{LPM::Proc.cpuinfo}"
# below are some test cases for LPM::Process
require "lpm" require "Benchmark" require "pp"
# => below test is for LPM::Utils
pp "LPM::Utils.ulimit => #{LPM::Utils.ulimit}"
pp "LPM::Utils.locale => #{LPM::Utils.locale}"
pp "LPM::Utils.sysctl => #{LPM::Utils.sysctl}"
# => LPM::Utils can also be used as
pp "LPM::Proc.ulimit => #{LPM::Proc.ulimit}"
pp "LPM::Proc.locale => #{LPM::Proc.locale}"
pp "LPM::Proc.sysctl => #{LPM::Proc.sysctl}"
这里是LPMP的截图:
点击一个主机可以打开一个tab
页面还比较简陋
大家多包涵.
- 大小: 157.8 KB
- 大小: 80.4 KB
分享到:
相关推荐
这里,`LPM_TYPE`指定了模块类型为RAM,`LPM_WIDTH`和`LPM_WIDTHADDR`分别设置了数据宽度和地址宽度,`LPM_DEPTH`设置了存储深度。 4. **LPM RAM的特性** LPM RAM模块通常支持单端和差分接口,可以配置为同步或...
然后,连接数据输入端`data-a[]`、`data-b[]`,数据输出端`result[]`和进位输出端`cout`,并设置相应的参数,如设置`LPM_WIDTH = 4`,`LPM_DIRECTION = “ADD"`,`LPM_REPRESENTATION = “UNSIGNED”`。完成设计后,...
LPM.zip_lpm_lpm vhdl 文件中包含的具体示例代码,很可能是展示如何使用这些LPM模块的实例,通过阅读和分析这些代码,你可以学习到如何将LPM库应用于实际项目中。这不仅能够加深你对VHDL语言的理解,还能提高你的...
avr lpm 指令 的详细使用方法及例子代码
通过实践这些实验,开发者可以更深入地理解CC430的低功耗特性,并学会如何在实际项目中充分利用LPM3模式。 总的来说,CC430的基础实验——LPM3模式的探索不仅涵盖了微控制器的低功耗设计,也涉及了中断系统、电源...
文档中提及的历史背景信息显示,这个快速参考指南是在1996年发布的,反映出当时Altera公司在FPGA开发工具中的集成度和成熟度。 #### 特点和优势 根据文档提供的少量信息,LPM的主要特点是参数化和模块化,这意味着...
这份文档是Altera在2005年发布的,针对其多种设备家族,如Stratix II、Stratix、Cyclone II、Cyclone、APEX II、Mercury以及FLEX10K等,提供了详尽的技术指导和应用说明。LPM_ROM Megafunction是Altera设计中的一项...
在FPGA设计中,LPM(Library Parameterized Modules)库是一种非常重要的资源,它提供了大量预先定义好的参数化模块,可以极大地提高设计的效率和重用性。在本文中,我们将详细探讨如何在Altera Quartus软件中使用...
设计过程中涉及到mif文件的建立、电路图的设计、时序仿真等多个方面,并对LPM_ROM模块的原理、使用方法和mif文件的建立进行了深入的了解。 知识点总览: 1. LPM_ROM模块的原理和使用方法 * LPM_ROM模块是一个参数...
- **LPM_RAM_DP**:双端口 RAM,每个端口都具有独立的地址线和数据线。 - **LPM_RAM_IO**:RAM 模块,其中一个端口支持输入输出操作。 - **LPM_ROM**:只读存储器,用于存储固定的数据。 - **LPM_SHIFREG**:移位...
总结而言,“LPM.rar_lpm_lpm vhdl_quartus II”资料包主要关注的是Quartus II中使用VHDL语言操作LPM宏模块的方法和技巧,对于理解和利用预定义模型库进行FPGA设计有着重要的指导价值。通过深入学习和实践,设计者...
该指南的内容涉及了lpm_rom Megafunction的多个方面,包括其在不同设备系列的支持、功能特性、应用、资源使用和性能评估等。下面将详细解析文档中提到的一些关键知识点。 首先,Altera公司(现为英特尔公司的一部分...
Inter LPM算法是IP网络中路由查找的基础,其高效性和准确性对于网络的正常运行至关重要。通过深入理解并优化LPM算法的实现,我们可以设计出更快、更稳定的网络设备,满足不断增长的网络流量需求。对于有兴趣深入研究...
本项目“FPGA Verilog - LPM_ROM控制器 完整工程”着重于使用Verilog来实现一个LPM(Library of Predefined Models)ROM控制器,这对于理解和掌握FPGA设计流程及ROM控制器的工作原理至关重要。 LPM_ROM控制器是一个...
手册详细解释了用户如何利用MegaWizard来定制LPM计数器,以及如何在硬件描述语言(HDL)代码和原理图设计中实例化Megafunction。手册内容在2007年6月被更新至第2.3版本,共36页,由Altera公司提供,旨在帮助用户理解...
此外,手册还提到了一些典型的设计案例,如8位除法器的例子,这有助于工程师理解和掌握lpm_divide Megafunction的使用方法。 最后,关于“lpm_divideMegafunctionUserGuide”中的其他部分内容,它提示了如何联系...
学习这些内容,设计师可以更有效地在FPGA项目中集成和利用ROM,以满足特定的系统需求。通过阅读“ug_lpm_rom.pdf”文档,应该能深入理解如何在Quartus环境下实现这一过程,并从中获取实践指导。
这个“lpm_ram.rar”压缩包文件提供了关于Altera LPM_RAM的使用指南,包括简单的程序示例和模拟结果,对于理解和应用这一技术具有很好的参考价值。 首先,我们要理解Altera LPM_RAM是什么。LPM是逻辑可编程内存的...
本项目名为"LPM_ROM.rar_lpm_rom",它利用了FPGA中的LPM(Logic Programmable Memory)ROM资源来生成可变频率的正弦波信号。LPM_ROM是Altera公司的一种IP核,允许设计者在FPGA内部创建定制化的存储器模块,用于快速...