确实有好久都没写博客了,这篇题目笔记是本身经历的,也有本身思考的,已经有很长时间才算写完这30道。说说本身的情况吧,首先说为何是OpenStack运维面试呢,由于以前在一家OpenStack云计算公司实习,时间不长,只有20天,我就离职了,是我本身主动要辞的。说实话,仍是不错了,实习4K,周末双休,不加班,不值夜班,坐办公室学习,这简直超乎了个人意料,确实跟我想象的运维工程师不太同样。这种上班的感受仍是挺不错的,我相信我过不了多久作下一份工做的时候,回忆起来确定以为这简直太幸福了。我面试准备了那么久,好不容易找到一个工资不错的公司,虽然只是实习,仍是一个朝气蓬勃的行业和公司,说离开就离开估计是谁都想不通。唉,其实我本意也不想离开,可是我“闯祸了”,呵呵,倒不是技术上,而是说话上,还不是口头,只是邮件。事情是这样的,我也想吐槽,这真的很小气。php
原本让我当天去偏僻的“DB”甲方公司看项目的,刚好那天让我去搬防火墙(真尼玛重!),那天回来后,通知我还让我去,我什么都没准备啊,次日跑了好远的路,天天的开销不小,那一天啥事都没有作,我连网都上不了。说是“看”,还算有点小见识,可是我真的感受还不会,也确实没啥技术含量,就想下次回公司修炼一段时间再说,就是不来了。刚好那一周我给本身步骤的任务是一周内完成OpenStack平台的搭建,各类事情的耽搁让我有点慌,那天很早就下班,我跟个人上级说我不去甲方了,可是没有跟项目经理说(其实我不想当面说的)。元旦回来,星期二我就发邮件说“我不去了,有见识但技术上没啥收获”,就这么简短的一句话,呵呵,那些所谓的领导就炸了,以为我不服从管理,好高骛远,狂妄自大吧,项目经理也回复我了,感受是生气的样子。这几天,刚好招我进来的HR休假了吧,部门老大以及直属上级都找我谈话,我也知道本身说话确实不过小心,这2我的仍是没怎么批评我,仍是对我挺好的,帮我洗黑,说实话,我感谢!html
平静的过了几天,我觉得没事了,没想到,HR回来倒找我了,想让我转岗,以为我不合适作运维,沟通能力很差,性格不合,怎么可能呀,我花了那么多时间,从网络转运维,费了多少力气,现在再让我转软件,简直天方夜谭,貌似着是委婉赶我走的意思。整个下午我什么事情都不想作,想一想本身,为什么命运多舛,以前面试的时候还有1家公司给我offer了,问的比较难,还好答得中规中矩,还跟我签三方协议,可是工资过低,我就去了openstack公司,期间实习的时候还有2家公司面试都拒了。唉,没想到,很快就又要面试了,我把公司电脑上全部东西都删了,原来什么样就是什么样,跟带个人人说了句我走了,就离开了,那天我哭了,有点小难过,只能说准备春招吧。linux
回来了堕落了很久,彻底不想学习,接下来的简历我也不知道怎么准备了,反正又是大变化。毕业设计也是特么难搞,说句很差听的,我尼玛过年都有人问有女友了没,真没有啊,混得垃圾呀,身边比我小的也结婚了,咱仍是...压力大呀nginx
技术、社交、生活,学的东西太多了,烦!下面好好准备春招吧,不投实习岗位了!web
一、如何删除一个文本中的空白行,好比一行有字,而后一行空白,再有一行字?面试
[root@www]cat 1.txt算法
===========================数据库
yhc apache
is swift
very
good !
===========================
答:sed '/^$/d' 1.txt ##注意这里不能加-n静默选项。另外可使用cat 1.txt|tr "\n" " " 让它变成一行英语语句
二、请解释下怎么进行location匹配的规则?(我以为这个很是难以理解,多亏有视频啊!看懂这个,对Nginx自信爆涨)
答:精确匹配>普通匹配>正则匹配
分析:首先是URI解析,找到第一个精确匹配的,若是命中精确匹配,那么完全结束了,再也不进行下面的location匹配了,若是没有精确命中,那么就去寻找多个普通匹配的,普通匹配跟编辑location语句的顺序没有关系,若是普通匹配命中多个,那么记忆匹配最长的(好比/aaa/bbb/)的结果,若是命中一个,那么也记忆普通匹配的结果(注意,这里并未完全结束),不管普通匹配有无命中,都要去寻找正则匹配,正则匹配跟编辑location的顺序有关(必定是正则1不知足才找正则2),若是第一个正则匹配成功,则当即跳出,返回该正则匹配下的结果,也完全结束了,若是正则一个都没有匹配成功,则返回前面普通匹配记忆的结果。
参考视频:(燕十八location流程图解) http://www.icoolxue.com/play/7027
三、Nginx如何拒绝某一我的来访问?(对比上篇博客提到的apache只容许某个IP访问)
答:在location上下文中添加If语句,若是$remote_addr是某个IP的话,直接返回403 forbidden
-----------------------------------------------------------------------------------------
location / {
root html;
index index.php index.html;
if ($remote_addr = 192.168.1.100) { ##if 空格 (条件),不要忘了空格
return 403;
}
}
------------------------------------------------------------------------------------------
四、当浏览器访问一个Nginx不存在的页面时,如何返回404页面?(感受这些问题很常见,可是没怎么想过具体怎么作)
答:在location字段添加if语句,若是请求的文件名不存在,rewrite重写到咱们人为定义的404页面,可是必需要加break,再也不进行下一轮UEI的匹配。rewrite到新的uri后进入另一个location,刚好这个location也有rewrite,再次重写的uri又调回原来的location,这样就是死循环了,最多执行10次,而后报500错误。本例中$document_root$fastcgi_script_name是客户端传过来的参数(好比test.html),而不是咱们服务端定义的网页文档!
-----------------------------------------------------------------------------------------------------------
location / {
root html;
index index.php index.html;
if (!-e $document_root$fastcgi_script_name){
rewrite ^.*$ /404.html break; ##这条语句表示任意文件名到/usr/local/nginx/html/404.html
}
}
-----------------------------------------------------------------------------------------------------------
五、用什么命令能够看到整个目录下的内容。
答:tree /usr/local/svn/svndata/
六、介绍下prefork和worker?(唉,这一点表述的很差,记不住了,event模式应该是nginx和apache都有的,都是一个进程处理多个请求)
答:(1)Prefork MPM实现了一个非线程的、预派生的web服务器。它在Apache启动之初,root控制进程在最初创建“StartServers”个子进程后,
为了知足MinSpareServers设置的须要建立一个进程,等待一秒钟,继续建立两个,再等待一秒钟,继续建立四个……如此按指数级增长建立的进程数,最多达到每秒32个,直到知足MinSpareServers设置的值为止。这种模式能够没必要在请求到来时再产生新的进程,从而减少了系统开销以增长性能。而后等待链接;能够减小频繁建立和销毁进程的开销,每一个子进程只有一个线程,在一个时间点内,只能处理一个请求。这是一个成熟稳定,能够兼容新老模块,也不须要担忧线程安全问题,可是一个进程相对占用资源,消耗大量内存,不擅长处理高并发的场景。
(2)worker使用了多进程和多线程的混合模式,worker模式也一样会先预派生一些子进程,而后每一个子进程建立一些线程,同时包括一个监听线程,每一个请求过来会被分配到一个线程来服务。线程比起进程会更轻量,由于线程是经过共享父进程的内存空间,所以,内存的占用会减小一些,在高并发的场景下会比prefork有更多可用的线程,表现会更优秀一些;另外,若是一个线程出现了问题也会致使同一进程下的线程出现问题,若是是多个线程出现问题,也只是影响Apache的一部分,而不是所有。因为用到多进程多线程,须要考虑到线程的安全了。
参考文档:http://www.mamicode.com/info-detail-1212491.html
七、Nginx的master进程和worker进程工做原理?
答:Nginx采用异步非阻塞的方式来处理网络事件,相似于Libevent。Nginx服务一启动后,master进程先建好须要listen的socket后,而后再fork出多个worker子进程,这样每一个worker进程均可以去accept这个socket。当一个client链接到来时,全部accept的worker进程都会受到通知,但只有一个进程能够accept成功,其它的则会accept失败。Nginx提供了一把共享锁accept_mutex来保证同一时刻只有一个worker进程在accept链接,从而解决惊群问题。当一个worker进程accept这个链接后,就开始读取请求,解析请求,处理请求,产生数据后,再返回给客户端,最后才断开链接,这样一个完整的请求就结束了。
参考文档:http://blog.chinaunix.net/uid-24517549-id-3977650.html
八、描述系统的启动过程?当用户登陆上系统后,linux系统为用户作了什么任务?(拓麻的这个问题我吞吞吐吐的才说出好几个,之前没思考过这些问题,谢天谢地终于问了我那个背了好久的启动过程,还好避免了悲剧)
答:(1)读取/etc/passwd文件进行身份验证。
(2)将用户登陆信息写入安全日志里面。
(3)启动该用户的环境变量 (而后引伸出环境变量的一系列问题,我不知道)
(4)
九、如何让域名拥有多个IP地址?客户端来解析的时候,返回的是哪条记录?(后面这个问题我不清楚,当时猜想是第一条,如今想起来,真尼玛×××,这特么不就是DNS轮询吗?确定是一个客户端返回第一个,另外一个客户端返回第二个,而后这样周期性的顺序调度)
答:DNS给域名设置多条主机A记录便可。不一样客户端可能返回不一样记录,根据轮询指定哪一个IP地址返回给哪些客户端。
十、说说TCP的拥塞控制。(果真是云计算企业呀,毕竟互联网,拓麻的这个问题劳资一时想不起来呀,我还写的精通TCP/IP,其实这个问题
我整理过,表现不太完美)
答:(1)慢启动算法做用在TCP数据传输的开始阶段,当主机开始发送数据时,由于不知道网络中的负荷状况,若是当即发送大量的数据,有可能会引发网络的拥塞。所以,TCP采用试探的方法,逐渐增大拥塞窗口。一般在刚开始发送数据报文段时,先将拥塞窗口cwnd设置为一个TCP最大段长度MSS的值。而在每收到N个数据报文段的确认后,cwnd就增长一个MSS的数值(就是增大一倍,因此是指数型)。这样就能够逐渐增大发送端的拥塞窗口,使数据注入网络的速率比较合理。
(2)为了防止拥塞窗口增加过快而引发网络拥塞,TCP还须要设置一个慢启动阈值ssthresh,当拥塞窗口的值增长到ssthresh时,就要减缓拥塞窗口的增加速度,具体的作法是每通过一个RTT,拥塞窗口cwnd的值加1(单位为MSS),这样就可使cwnd按线性规律缓慢增加
(3)快速重传算法的基本思想是:接收端每收到一个失序的数据报文段后就当即发出重复确认,以便更早地通知发送端有丢包的状况发生。
(4)快速恢复是配合快速重传使用的算法,其基本思想是:当发送端连续收到三个重复确认时,就将慢启动阈值ssthresh减半,以预防网络拥塞的发生,而且将拥塞窗口cwnd的值置为减半后的ssthresh,而后开始执行拥塞避免算法,使得cwnd缓慢地加性增大。
参考文档:https://www.nowcoder.com/discuss/6175
十一、用过啥抓包软件?如何判断网络出现拥塞、***、延迟以及各类异常状况?TCP的窗口在哪?(答得很差,根据序列号来判断是我瞎说的,还好面试官原谅我没经验)
答:wireshark、tcpdump。
(1)分析是否有大量数据包的序列号混乱。
(2)分析是否有广播地址存在。
(3)分析延迟多很少。(可是感受不容易,由于通常是看不出来延迟的,只是观测一个源IP地址的数据包发出请求,而后看什么位置目的端进行响应了该请求)
十二、若是我是小白,什么叫作反向代理,Nginx的反向代理和负载均衡有什么区别吗?Nginx根据什么来进行反向代理到后端服务器。(其实最后
一个问题当时除了URI根本答不出来其余的)
答:反向代理:代理服务器监听外网上的客户端发出来的请求,并把该请求转发给内网后台的真实服务器进行处理,处理完毕后,先通过代理服务器缓存一份,然后,再经过代理服务器封装http应答报文返回给客户端。Nginx的经过location正则匹配URI代理到后端的服务器,而且在负载均衡upstream模块,根据域名和端口代理到多台后端服务器。(域名和端口这个怎么能叫问题呢)
区别:(1)Nginx的反向代理和负载均衡没有太大区别,基本的配置指令都同样,可是反向代理提供缓存功能,因此能够添加一些缓存命令行。
(2)代理到后端一台服务器就能够称之为反向代理,代理到后端多台服务器就称为负载均衡,负载均衡是每台机器都会分担一些处理请求的压力,负载均衡彻底能够认为是反向代理。
参考文档:https://www.oschina.net/question/126236_119223
1三、为何慢启动算法中拥塞窗口要按指数级进行增加呢?拥塞窗口到底表明什么意思?(之前真没有好好想过拥塞控制,一旦本身面试遇到了,知道这玩意重要了)
答:拥塞窗口就是发送方在某次会话交互过程当中,在一个RTT(round trip time)周期内,可以发送的TCP报文段的数量多少。
缘由:(1)当TCP链接刚刚创建,准备要数据传输的时候,因为不知道网络的负载状况,因此要去试探性检测,只发出不多的数据包,拥塞窗口的值设的很小,我每发出N个数据帧,若是网络不拥塞丢包,那么就应该返回给我N个确认包,然后个人拥塞窗口就会在之前的基础上增大一倍,说明我以前发出N个数据包是没有问题的,不会堵塞,同时增大一倍提升发送效率。
(2)那么每增大一倍,拥塞窗口的大小就是按着指数级别增加了。当增大到必定程度上,必须减缓发送速率,因而使用拥塞避免算法,让拥塞窗口能够线性增加,每收到一个确认,窗口就增大1个单位,当达到最大MSS(max segment size)时,拥塞窗口大小骤降,变为原来慢启动算法时候的窗口大小,一般为1,而且门限值变为MSS的一半,然后,如此往复。
1四、在OpenStack中,用户PUT和GET都是同一个对象,说说存储节点Swift存取的工做原理?
答:(1)上传文件时,PUT请求通过负载均衡机器经过一致性哈希算法随机选择一台代理服务器,再将请求转发数据存储节点,代理服务器经过查找本地的Ring(环)文件,包括account环、container环、object环选择3个不一样的区域(zone),zone保证了数据的副本不会都放在同一个存储节点上,从而避免了单点故障的可能性,可使用3个磁盘来替代3个节点。然后,向3个数据节点都进行写操做,只有当至少2个节点都确认写成功后,再向用户返回写成功信息。
(2)然后,当用户须要get请求该对象(对象=元数据+内容)下载文件时,也须要通过负载均衡随机挑选一台代理服务器,代理服务器上的环文件能
查询到这个文件存储在哪三个节点中,而后同时向后端查询,当前仅当至少2个存储节点表示能够提供该文件,而后代理服务器才从中选择一个节点下载文件。
1五、云主机实例1和云主机实例2彼此通讯,基于VXLAN的工做原理?(VTEP是Vxlan tunnel end point,VNI是vxlan的network identifier,虚拟机通讯还能够
linux bridge)
答:(1)VM1要向VM2发送数据前,必需要知道VM2的MAC地址,其获取过程以下:
一、VM1发送ARP请求包,请求192.168.0.101[VM2_IP]的MAC地址;
二、ARP请求包被VTEP1封装成多播包,发给VNI=864的多播组;
三、全部的VTEP接收此多播包,并添加(VNI–VTEP1–VM1_MAC Address)映射关系到本身的VXLAN表中;
四、目的主机上的VTEP2接收到多播包后将其解开,并向本主机上VNI=864的全部虚拟机发送广播包;
五、VM2看到了ARP包后,回应了本身的MAC地址;
六、VTEP2再次封装回应的单播包,经过路由发给VTEP1;
七、VTEP1解包,并将包传给VM1,则最终获取了VM2的MAC地址;
八、VTEP1将(VNI–VTEP2–VM2_MAC Address)映射关系添加到本身的VXLAN表中;
(2)VM1获知VM2的MAC地址后,发送数据包,过程以下:
一、 VM1发送IP数据包到VM2,即192.168.0.100 到 192.168.0.101;
二、 VTEP1查找本身的VXLAN表知道要发给VTEP2,而后依次封装如下数据包头;
a)VXLAN包头,VNI=864;
b)标准UDP包头,校验和checksum为0x0000,目标端口号4789;
c)标准IP包头,目标地址为VTEP2的IP地址,协议号设为0x11表面为UDP包。
d)标准MAC数据包,目标地址为下一跳设备(虚拟路由器)的MAC地址00:10:11:FE:D8:D2,可路由到目标隧道端VTEP2。
三、 VTEP2接收数据包,根据UDP的destination端口找到VXLAN数据包。接着查找全部所在VXLAN的VNI为864的端口组,找到VM2的
四、 VM2接收并处理数据包,拿到Payload数据.(vxlan有2^24个逻辑网络,因此称为扩展vlan)
参考文档:http://www.aboutyun.com/thread-11189-1-1.html
1六、在OpenStack中,介绍什么是浮动IP?什么是元数据?
答:(1)OpenStack引入了一个叫浮动ip的概念,浮动ip是一些能够从外部访问的ip列表,一般从isp哪里买来的。浮动ip缺省不会自动赋给实例,用户须要手动从地址池里抓取而后赋给实例。一旦用户抓去后,他就变成这个ip的全部者,能够随意赋给本身拥有的其余实例。若是实例死掉了的话,用户也不会失去这个浮动ip,能够随时赋给其余实例。暂时不支持为了负载均衡多实例共享一个浮动ip。动IP地址可让实例使用私有网络链接到外部网络,例如互联网。而对于固定ip来讲,实例启动后得到的ip是自动的,不能指定某一个。因此当一个VM歇菜了,再启动也许固定ip就换了一个。
(2)系统管理员能够配置多个浮动ip池,这个ip池不能指定租户,每一个用户均可以去抓取。多浮动ip池是为了考虑不一样的isp服务提供商,省得某一个isp出故障带来麻烦。若是运行的是企业云,浮动ip池就是那些openstack外的数据中心都能访问到的ip。浮动ip机制给云用户提供了不少灵活性,也给系统管理员减小了安全风险,尽可能只让OpenStack软件去改防火墙会安全些。
参考文档:http://www.cnblogs.com/wcxy/p/3402006.html
元数据(Metadata):又称中继数据,描述为数据的数据,主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
1七、讲讲Opnstack启动虚拟机实例后,虚拟机的状态是怎么变化的?
答:(1)管理员发出建立虚拟机的命令,决定从镜像文件或是快照文件进行启动。
(2)当建立后,虚拟机实例进入Build状态,任务状态是Spawning孵化。
(3)期间,将会从控制节点上的Glance组件把相应的镜像文件从中下载到Nova计算节点,并进行一些虚拟机的初始参数配置,如内存、CPU、磁盘空间。
(4)当一切正常后,虚拟机将会将会进入Active状态,此后,用户即可以使用云主机了。建立实例的时间通常由镜像文件的大小、网络传输带宽、以及建立的Hypervisor磁盘性能大小。
(5)虚拟机建立完毕,能够通过Horzion的web界面进行管理,也能够基于Python Nova client的命令行管理。
1八、说说OpenStakc各组件的做用?
答:(1)keystone负责为每一个服务进行认证、受权、租户管理、项目权限和配额以及服务目录管理。
(2)Glance负责提供Nova建立实例所须要的镜像文件,镜像格式如raw、qcow2。
(3)Nova负责云主机实例生命周期的管理,以及宿主机资源调度;Nova还决定了虚拟机实例在哪一台Hypervisior物理机上运行。
(4)Horzion将用户的http请求转换为RESTful请求,而后将RESTful请求分发给Nova API,进行实例的建立。
(5)cinder提供块存储,目的是用来作持久存储的,典型软件如ceph;swift提供对象存储,用来文件共享的。
(6)neutron服务为云主机实例提供网络服务,好比私有IP的地址分配问题,访问外网的浮动IP、NAT路由、防火墙,以及云主机实例彼此之间的vxlan通讯。
1九、谈谈你对OpentStack的认识?
答:OpenStack是一个分布式系统,完成一件事,基本上都会涉及到一系列的组件,这些组件协同工做,在云中扮演着各类角色。(而后就拿上面各组件的做用说,原理我看就算了,通常人说不清楚,对方也听不懂,呵呵)
20、概述建立虚拟机的流程。(这个问题,很是值得思考,很容易被问到!)
答:(1)Horizon经过Keystone获取nova-Compute组件的的访问地址(即URL),并获取令牌token。
(2)Horizion携带受权令牌,发送建立虚拟机指令。
(3)Nova-compute组件经过glance-api下载虚拟机镜像,glance镜像中有缓存机制,一般把缓存文件放入名为_base的目录,若是_base缓存没有镜像文件
,那么就会从glance下载镜像到base缓存,而后再从base缓存经过TCP/IP网络复制到计算节点云主机实例下的镜像目录里。
(4)glance检索后端镜像,glance后端存储不必定要使用swift,只要是存放镜像文件的系统均可以。
(5)获取网络信息,决定虚拟机的网络模式以及创建网络链接。
(6)nova-compute发送启动虚拟机指令,至此通过虚拟机服务任务状态的变化,正常事后建立便可完成。
2一、若是我有多个计算节点,那么我启动一个云主机实例,那么我怎么知道该实例在哪台计算节点上运行呢?(嗯...因缺丝婷)
答:命令查看...
2二、PXE的工做原理?
答:实现自动获取IP网络安装linux是这样的:客启端PXE网卡启动-->经过Bootp协议广播dhcp请求-->DHCP服务器-->获取IP,TFTP服务器地址-->从TFTP上下载 pxelinux.0以及系统内核文件vmlinuz、initrd.img-->启动系统-->(到指定url去下载ks.cfg文件-->根据ks.cfg文件去NFS/HTTP/FTP服务器自动下载软件包)安装系统-->完成安装。
DHCP server为客户端分配ip并提供TFTP服务器地址及PXE启动文件位置,TFTP server为客户端提供引导文件
2三、建立网络时,Neutron作了什么?
答:建立虚拟机时,Neutron会根据选择的网络,首先给虚拟机分配一个tap设备做为虚拟的网卡,命名为tapXXX , XXX是一串数字和字母的组合,用来标识的,譬如tap8eaf6158-80,
在系统中使用ifconfig命令能够看到新增了这个网口。创建一个Linux网桥,命名为
qbr8eaf6158-80。把上面那个新增的tap网口接在这个qbr的交换机上,使用命令“brctl
show”能够列出存在的网桥设备和端口。如今,虚拟机上已经有了一个接在虚拟网桥上的网
口,接下来是如何把这个网口与OVS的br-tun链接起来。
这时会有一对veth设备出现。veth是Linux中的虚拟网络设备,老是成对出现,一对veth设备的数据老是从一个流人,
从另外一个流出。Neut1-on会创建一对分别命名为qvbXXX
和qvoXXX的veth设备,而且把它们分别链接到前面提到的qbr8eaf6158和br-int这两个交
换机上。可使用命令“brctl show”和“ovs-vsctl show”分别查询qbrXXX和br-int这两个
交换机是否已经串联起来了。
2三、saltstack中,master和minion各自干了什么事?
答:master:存放全部minion的公钥、监听mininon、发送命令给minion、存放一些为minion准备的配置文件,如state、存放一些为minion准备的files和数据,如apache2.cnf,pillar
minion:链接master、监听master发送的commands、从master下载state而且执行state、能够执行在minion上执行state,用salt-call,固然这个通常多数用于调试
2四、SSH的工做原理?
答:(1)SSH能够基于帐户密码进行认证;SSH能够基于密钥对进行认证
(2)基于密钥的安全认证就是本机提供一对公钥和私钥,把公钥复制一份放在远程服务器上面,远程服务器的sshd进程监听22号端口。当向远程服务器发起请求的时候,本机会把公钥发送给远程服务器,远程服务器会在家目录下检查公钥是否一致,若是一致,就会把应答数据包使用公钥加密后返回给客户端,客户端再使用本身的私钥进行解密,获得解密后的数据包,其中解密后的数据包含有会话密钥,然后使用会话密钥进行通讯。
2五、Zabbix有何特性?
答:数据收集、灵活的阈值定义、高级告警设置、实时绘图、扩展的图形化展现、历史数据存储、监控主机使用模板、自动发现网络设备、提供Zabbix API。
2六、Zabiix包含了哪几个进程,各有什么做用?
答:(1)Zabbix_agentd:客户端守护进程,收集本机的数据
(2)Zabbix_get:Server端用于主动获取被监控端数据
(3)Zabbix_sender:被监控端结合trapper进程,主动发送监控项收集的数据到Server或Proxy端
(4)Zabbix_server:服务端的守护进程,接受其余进程发过来的数据
(5)Zabbix_proxy:代理守护进程,功能相似于Server,不过它只是一个中转站,把收集到的数据再提交给Server,跨机房和地区须要用到
2七、zabbix的server端如何去监控agent端?
答:原理:每个item都有其专用的key,zabbix服务器与被监控端进行通讯时就使用相应的协议或机制去质询被监控端这个key的值,被监控端就调用此key所对应的脚本去获取相应的数据并返回给服务端。
2八、监控中,历史数据和历史趋势数据有何区别?
答:历史数据:指的是采样的数据。指定存储在数据库中的天数,若是超过该阈值,那么会被housekeeper进程给清理掉
历史趋势数据:指的是每小时的最大值、最小值、平均值以及各类统计。
2九、说一下,在zabbix监控某个主机的时候,人为应该部署哪些步骤?
答:建立主机、附加模板,修改item监控项,建立图形(关联Item),定义触发器,建立用户,建立事件、建立action
30、若是有100台服务器,每台服务器有30个监控项,每一个监控项60秒刷新一次,须要多大的硬盘呢?
答:随着监控项的数量增多以及监控值的实时刷新,数据库也会愈来愈庞大,那么影响Zabbix硬盘大小的因素有:
(1)监控值每秒中存储的数据量:100x30/60=50个
(2)历史记录保存时间
(3)趋势数据保存时间
(4)事件记录保存时间 (报警、恢复)
(5)数据库引擎以及数据类型(整型、浮点型、字符型)
综上:数据库硬盘空间=配置文件大小+历史记录+趋势记录+事件记录