记一次运维开发面试
程序员文章站
2022-03-04 13:00:27
...
1:自我介绍
2:工作内容
3:你有用过哪些监控
1.Zabbix
Zabbix是一个基于WEB界面的提供分布式系统监控以及网络监控功能的企业级开源运维平台,也是目前国内互联网用户中使用最广的监控软件。
2.prometheus
Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。
Prometheus目前在开源社区相当活跃。
Prometheus和Heapster(Heapster是K8S的一个子项目,用于获取集群的性能数据。)相比功能更完善、更全面。
Prometheus性能也足够支撑上万台规模的集群。
3.Nagios
Nagios原名NetSaint,是一款开源的企业级监控系统,于1999年推出,由Ethan Galstad开发并维护至今。
Nagios能够实现对系统CPU、磁盘、网络等方面参数的基本系统监控,而且还能监控包括SMTP,POP3,HTTP,NNTP等各种基本的服务类型。
另外通过安装插件和编写监控脚本,用户可以实现应用监控,并针对大量的监控主机和多个对象部署层次化监控架构。
4.Cacti
Cacti是一套完整的网络流量监测图形分析解决方案,基于RRDTool的数据存储和图形功能实现网络监控。
4:zabbix是怎么实现监控这个流程的
一个监控系统运行的大概的流程是这样的:
agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agentd收集数据分为主动和被动两种模式:
主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
被动:server向agent请求获取监控项的数据,agent返回数据。
【主动监测】通信过程如下:
zabbix首先向ServerActive配置的IP请求获取active items,获取并提交active tiems数据值server或者proxy。
很多人会提出疑问:zabbix多久获取一次active items?它会根据配置文件中的RefreshActiveChecks的频率进行,
如果获取失败,那么将会在60秒之后重试。分两个部分:
获取ACTIVE ITEMS列表
Agent打开TCP连接(主动检测变成Agent打开)
Agent请求items检测列表
Server返回items列表
Agent 处理响应
关闭TCP连接
Agent开始收集数据
主动检测提交数据过程如下:
Agent建立TCP连接
Agent提交items列表收集的数据
Server处理数据,并返回响应状态
关闭TCP连接
【被动监测】通信过程如下:
Server打开一个TCP连接
Server发送请求agent.ping\n
Agent接收到请求并且响应<HEADER><DATALEN>1
Server处理接收到的数据1
关闭TCP连接
这里,被动模式每次都需要打开一个tcp连接,这样当监控项越来越多时,就会出现server端性能问题了。
那实际监控中是用主动的还是被动的呢?这里主要涉及两个地方:
1、新建监控项目时,选择的是zabbix代理还是zabbix端点代理程式(主动式),前者是被动模式,后者是主动模式。
2、agentd配置文件中StartAgents参数的设置,如果为0,表示禁止被动模式,否则开启。一般建议不要设置为0,因为监控项目很多时,
可以部分使用主动,部分使用被动模式。
5:zabbix是怎么实现报警的
6:zabbix的数据收集,日志收集,你是用的什么
7:ELK是一套什么东西
8:当磁盘满了的时候,你是怎么获取到的这个信息
9:docker,k8s了解吗
10:docker怎么查看容器的信息
11:当一个服务崩溃了,你会怎么去排查
12:python中装饰器,生成器,迭代器解释一下
13:python算法知道哪些,讲一个你熟悉的
14:python中线程池和进程池的区别
15:你在哪里用到了线程池,为什么要用线程池,结合你实际用到的场景说一下
16:全局锁解释一下,为什么会有全局锁
17:django的中间件你有用过哪一些
18:diaogo的优化有没有做过,前端怎么优化,后端怎么优化
19:用户发出一个请求,django是怎么接收的
20:解释一下MTV
21:你用django做了一个什么系统平台
22:linuxd的内核优化有没有做过,具体是优化什么
23:前端的框架你有用过哪些?有没有用过vue
24:tcp和udp的区别
25:tcp三次握手和四次挥手的区别
26:四次挥手中为什么会多了一个time_wait
27:工作过程中有经常遇到过哪些故障
28:CICD流程讲一下,并且使用ansible部署更新了多少台服务器
29:jenkins主要做了什么
30:你做的监控平台监控了哪些指标
上一篇: 10种TypeScript编写代码时应改正的坏习惯
下一篇: Shell 笔记总结