在数据采集一节中我们介绍了常见的监控数据源。open-falcon作为一个监控框架,可以去采集任何系统的监控指标数据,只要将监控数据组织为open-falcon规范的格式就OK了。 Windows主机的运行指标的采集,可以写Python脚本,通过windows的计划任务来每分钟执行采集各项运行指标,包括内存占用、CPU使用、磁盘使用量、网卡流量等。 可以直接使用以下 window 监控程序进行 w
在数据采集一节中我们介绍了常见的监控数据源。open-falcon作为一个监控框架,可以去采集任何系统的监控指标数据,只要将监控数据组织为open-falcon规范的格式就OK了。 交换机设备的运行指标的采集,可以写脚本,通过SNMP协议来采集交换机的各项运行指标,包括内存占用、CPU使用、流量、ping延时等。 可以直接使用 swcollector 来实现对交换机设备的监控指标采集。 工作原理
在以前,我们发展工程还未服务化的时候,我们可能只单单关注单个请求的耗时等基本指标,对其作出优化或者业务上的调整,其内容往往也只是一人从顶到底,一人即可了解其中的逻辑层次。但随着服务化的到来以及业务逻辑愈来愈复杂,一个前端 web 层的请求需要调用很多服务才可以完成一次请求,当请求变的比较慢或者发生故障,我们很难看出是哪个服务或者哪台机器发生的问题,所以需要一个调用链的监控,来快速复现出完整的请求链
函数原型 #include <sys/types.h> #include <sys/wait.h> pid_t wait(int *status); 返回值 -1 错误 其他 被终止的子进程的id 错误类型 错误时,系统记录的错误代码errno,有两种: ECHILD 没有子进程 EINTER 收到中断信号signal,立即返回 检测退出状态的宏 宏 缩写含义 描述 WIFEXITED wait
exec函数族的作用是让fork出的子进程能够执行与父进程不同的代码段,实现不同的功能。 exec由6个函数组成 int execl(const char *path,const char *arg,...); int execlp(const char *file,const char *arg,...); int execle(const char *path,const char *arg,
函数原型 #include <sys/types.h> #include <unistd.h> pid_t vfork(void); 描述 同样是创建子进程,其效率比fork()要快。两者区别有: vfork()不会创建并复制父进程的地址空间,而是和父进程共享 vfork()会阻塞父进程,只运行子进程运行 当子进程调用exec()或_exit()时,内核返回地址空间给父进程并唤醒它
从父进程派生出子进程,子进程完全拷贝父进程的stack,data,heap segment。 两者并不共享地址空间,所以的变量是独立的,一方修改,另一方不会变化。 函数原型 #include <unistd.h> pid_t fork(void); 特点 一次调用,两次返回
Ryu是日本NTT公司推出的SDN控制器框架,它基于Python开发,模块清晰,可扩展性好,逐步取代了早期的NOX和POX。 Ryu支持OpenFlow 1.0到1.5版本,也支持Netconf,OF-CONIFG等其他南向协议 Ryu可以作为OpenStack的插件,见Dragonflow Ryu提供了丰富的组件,便于开发者构建SDN应用 示例 Ryu的安装非常简单,直接用pip就可以安装 pi
Floodlight是BigSwitch在Beacon基础上开发的SDN控制器,它基于Java开发,具有良好的架构和性能,也是早期最流行的SDN控制器之一。 Floodlight的架构可以分为控制层和应用层,应用层通过北向API与控制层通信;控制层则通过南向接口控制数据平面。 Floodlight模块结果如下所示: 由于Floodlight更新迭代速度较慢,特别是OpenDaylight诞生以后,
ONOS是一个开源SDN网络操作系统,主要面向服务提供商和企业骨干网。ONOS的设计宗旨是满足网络需求实现可靠性强,性能好,灵活度高等特性。此外,ONOS的北向接口抽象层和API使得应用开发变得更加简单,而通过南向接口抽象层和接口则可以管控OpenFlow或者传统设备。ONOS集聚了知名的服务提供商(AT&T、NTT通信),高标准的网络供应商(Ciena、Ericsson、Fujitsu、Huaw
OpenDaylight是Linux基金会管理的开源SDN控制器,依托强大的社区支持和功能特性,已成为最受瞩目的开源SDN控制器。 OpenDaylight(ODL)高度模块化、可扩展、可升级、支持多协议。北向接口可扩展性强,REST型API用于松耦合应用,OSGI型用于紧耦合应用。引入SAL屏蔽不同协议的差异性。南向支持多种协议插件,如OpenFlow 1.0、 OpenFlow 1.3、OVS
2. 线程控制 2.1. 创建线程 #include <pthread.h> int pthread_create(pthread_t *restrict thread, const pthread_attr_t *restrict attr, void *(*start_routine)(void*), void *restrict arg); 返回值:成功返回0,失败返回错误号。以前学过
2. 作业控制 2.1. Session与进程组 在第 1 节 “信号的基本概念”中我说过“Shell可以同时运行一个前台进程和任意多个后台进程”其实是不全面的,现在我们来研究更复杂的情况。事实上,Shell分前后台来控制的不是进程而是作业(Job)或者进程组(Process Group)。一个前台作业可以由多个进程组成,一个后台作业也可以由多个进程组成,Shell可以同时运行一个前台作业和任意多
3. 进程控制 3.1. fork函数 #include <sys/types.h> #include <unistd.h> pid_t fork(void); fork调用失败则返回-1,调用成功的返回值见下面的解释。我们通过一个例子来理解fork是怎样创建新进程的。 例 30.3. fork #include <sys/types.h> #include <unistd.h> #includ
控制台运行在具有nova-dashboard这一服务器角色的节点上。 向这个云服务的管理员咨询能登录控制台的主机名,IP地址,账号和密码。 打开一个启用了JavaScript和Cookies的浏览器。 注意: 如果要使用VNC客户端,你的浏览器需要支持HTML5 Canvas和HTML5 WebSockets。VNC浏览器基于noVNC。详情请查阅noVNC: HTML5 VNC Client。想