以下分模块给各人收集整理的运维网络云计算相关的面试题,持续更新中,若有错误,欢迎批评指正,谢谢各位大佬
网络部分
互换机的工作原理
初始状态,MAC地点学习,广播未知数据帧,吸收方回应,互换机实现单播通讯
tcp/udp的区别
TCP:面向毗连提供可靠传输
UDP:面向无毗连提供不可靠传输,得当传输少量数据,耗时短,延时小的业务流量
TCP的可靠性怎么表现
TCP主要有一下三个方面包管他的可靠传输性:
1、序列号、确认应答、超时重传
2、窗口控制与快速重传(重复确认应答)
3、拥塞机制
TCP头部中确认标识位有什么用?
用于对收到的报文举行应答,确认报文已经收到
子网掩码的作用是什么?
子网掩码是一个32位地点,是与IP地点联合使用的一种技术。它的主要作用有两个,一是用于屏蔽IP地点的一部分以区别网络标识和主机标识,并阐明该IP地点是在局域网上,照旧在远程网上。二是用于将一个大的IP网络划分为若干小的子网络。
网关的作用是什么?
网关(Gateway)又称网间毗连器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连装备,仅用于两个高层协议差别的网络互连。
数据在举行二层和三层封装之前主机需要相识哪些信息
目标端的ip地点, 目标ip的下一跳的MAC地点
路由器选择最优路由的次序是什么?
先比力路由优先级,优先级值越小越优。 假如优先级相同的情况下,比力路由cost值。优选cost值比力小的路由。假如cost相同的,则形成负载
ARP是第几层协议,其作用是什么
ARP是地点解析协议,属于网络层,作用是根据IP地点解析获得对应的MAC地点
应用层协议端口
FTP:20数据传输,21控制端口
SSH:安全下令行协议 22
telnet :23
DNS:53
http:80
https:443
SMTP邮件传输协议:25
什么是静态路由,特点是什么?
静态路由是手动配置,配置方便,对系统要求低(不需要发送报文举行维护),适用于拓扑布局简朴并且稳固的小型网络。
以华为装备为例,怎样实现对路由器,互换机的远程管理
装备IP可达,在装备上启用远程登录,设置认证模式如AAA大概password模式,使用Telnet和SSH登录验证
TTL是什么?作用是什么
TTL指的是数据包的生存周期,TTL值为0时路由器会丢弃该数据包,用于防止网络层的环路
路由器与三层互换机有什么区别
①在设计的功能上差别:主要功能是路由寻址,更得当差别网络之间,比如局域网和广域网之间,差别的协议之间
②应用环境差别:
三层互换机的路由功能比力简朴,更多的应用在局域网内部的通信上,主要功能照旧数据互换
③实现方式差别:路由器实现三层路由是基于软件的实现方式
什么是华为互换机里的Hybird端口
用于毗连互换机或主机,允很多个VLAN通过, 发送数据帧时根据配置机动带tag或不带tag。实现access和trunk
路由器应用中的NAT指的是什么?有哪几种范例?
NAT即网络地点转换,私网IP和公网IP的转换。
有静态NAT,动态NAT,NAPT,Easy IP,NAT Server
VPN使用了哪些技术?
关键技术:隧道技术,身份认证,数据加密与验证
简述防火墙的作用
实现网络攻击的防范,访问控制,身份验证,数据加密,网络地点转换等功能
防火墙数据转发原理
可以根据源目ip,源目端口,协议举行转发
防火墙安全策略匹配原则
由上往下,由风雅到大略
简述WLAN组网方式
二层直连组网,二层旁挂组网,三层直连组网,三层旁挂组网
WLAN周游
装备毗连数据同一个SSID的wifi下范围下,不通AP覆盖范围内,网络不会断
Ospf:
路由器使用的最广泛的动态路由协议之一,全称是开放式最短路径优先协议
五种数据包
hello包:标记着彼此邻居关系的建立
DBD包:关系建立完成后,路由器会互相向对方发送DBD包,以大致查阅对方链路状态数据库LSDB的内容
LSR包:链路状态哀求包,收到对方发来的包对照以后,将本身没有的包发送给对方,哀求回复
LSU包:链路状态更新包,将缺少的LSA以LSU的形式发送给对方
LSACK包:收到对方的包以后,给与回应
OSPF建立邻居的状态有哪些?
7个状态
down(发送hello包之前) 、init(发送一个hello包之后)、 2-way(收到包含本身router-id的hello包后,标记着邻居关系的建立)、ex-start(预启动状态)、ex-change(互相互换包含链路状态信息)、loding(相互哀求对方给本身没有的LSA)、Full(标记着邻接关系建立)
工作过程
1、互相发送hello包,建立、维护、更新邻居关系
2、互相发送和接受LSA,直到LSDB同步,建立邻接关系
3、基于收到的拓扑,以本身为中心天生布局图,然后根据SPF算法天生最短路径树
OSPF为什么会卡在INIT/2-way状态
大概是装备之间出现单向链路故障的情况
OSPF为什么会卡在e-start状态
OSPF发送的DD报文,两头的MTU不一
OSPF没有形成Full状态的缘故原由
大概是接口网络范例不一致,地区不一致,版本不一致,认证不通过,MTU不一致,底层不通,大概是特别地区标记不一样
Vlan:虚拟局域网技术
VLAN划分的利益?
提供更机动的网络管理和更好的网络性能
逻辑隔离:提供了更高的安全性和隔离性,可以有用控制网络中的访问权限和流量流向
网络优化:将装备构造成差别的VLAN可以帮助优化网络性能。
管理简化:通过VLAN,管理员可以更容易地管理和配置网络。
说说什么是当地VLAN?
在单个互换机上配置的VLAN,仅在该互换机内部有用的虚拟局域网,无法超过多个互换机举行通信,以实现隔离、安全性和性能优化。
默认以太网VLAN是什么:所有接口都属于同一个VLAN默认VLAN或VLAN 1互换机的出厂配置,出于安全和管理的考虑,发起对默认以太网VLAN举行一些配置调整,改变默认VLAN ID:隔离默认VLAN,禁用不需要的端口
VLAN有三种接口范例:Access接口,Trunk接口,Hybrid接口=trunk
Trunk链路和Access链路的区别
A毗连终端装备,只允许一个VLAN的数据帧通过,不携带Tag
T毗连互换机, 允很多个VLAN通过, 除了PVID一致的VLAN,别的均携带Tag
静态VLAN:
手动配置来创建和管理的虚拟局域网,通常适用于小型或较简朴的网络环境,VLAN的数目相对较少且变化较少
动态VLAN:
使用特定协议或技术自动创建和管理的虚拟局域网,根据装备的特性或网络策略动态地将装备分配到差别的VLAN中。
常见的动态VLAN技术:
VLAN管理策略协议,VLAN注册协议,优点:自动化和机动性,简化网络管理,增强安全性
列举出2种能在单条链路上传输多个vlan的协议
IEEE 802.1Q,广泛应用于以太网网络中,最多支持4096个VLAN,
Cisco Inter-Switch Link(ISL)ISL允许在单个物理链路上传输多个VLAN的数据帧
Vxlan
虚拟扩展局域网,解决了现有VLAN技术无法满足大二层网络需求的问题。引入一个UDP格式的外层隧道作为数据链路层
天生树(STP):
STP协议:防止互换机冗余链路产生的环路,制止了广播风暴,大量占用互换机的资源。
广播风暴危害
1.影响网络的效率
2.占用了大量的网络带宽
3.MAC地点会出现震荡(漂移)
4.数据无法正常传递
5.网络会瘫痪
STP天生树的操作
选举一个根桥
每个非根互换机选举一个根端口
每个网段选举一个指定端口
阻塞非根,非指定端口
Dns 域名解析
DNS域名解析的是什么?
把我们人能容易理解的东西(语言字符)转换转换成计算机容易辨认的数字信息,即从一个服务器网址到IP地点的映射。主机 ------> 当地区名服务器:一样平常都是采用递归查询
Dhcp
DHCP实现了网络参数配置的自动化,低落客户端的配置和维护成本。
集中对用户IP地点举行动态管理和配置,属于C/S架构。
协议报文基于UDP的方式举行交互
DHCP相对于手工配置有如下优点:
效率高,机动性强,易于管理
Bgp
BGP是一种基于策略的路由选择协议,BGP在确定最佳路径时考虑的不是速率,而是让AS能够根据多种BGP属性来控制数据流的传输
BGP用tcp是可靠传输,在可靠的链路上不需要使用定期更新,所以BGP使用触发更新。雷同于OSPF和ISIS路由协议的Hello报文
怎样理解簇的概念?
答:路由反射器及其客户机的聚集,一台客户机不一定属于一个簇 (即一台客户机可以属于多个簇)
关于BGP属性为什么这么分类
现网中有各种各样的场景和需求,所以要对BGP的各个属性举行分类,用于路由的传递和控制选路的
Isis
IS-IS属于内部网关路由协议用于自治系统内部是一种链路状态协议,使用最短路径优先算法(SPF)举行路由计算,与TCP/IP网络中的OSPF协议非常相似。isis封装在二层。
vvisis路由计算的过程
建立邻居关系、链路信息互换,路由计算
ISIS路由器的三种范例
Level-1路由器
只能与同一地区的 Level-1 和 Level-1-2 路由器形成邻居关系
只拥有Level-1 的链路状态数据库
②、LSDB中只拥有当地区路由器LSP
③、路由表里没有其他地区的路由信息
④、路由表里都有一条默认路由,下一跳是指向到Level-1-2路由器
Level-2路由器
可以与相同或差别Level-2路由器 大概差别地区的 Level-1-2 路由器形成邻居关系。
Level-2的路由器只有Level-2的LSDB
②、LSDB中由骨干地区路由器的LSP,但没有Level-1 路由器产生的LSP
③、路由表里有整个网络的路由信息
Level-1-2路由器
负责维护两个LSDB,差别地区间,只能建立Level-2的邻接关系
Level-1-2 路由器同时拥有Level-2和Level-1的链路状态数据库(LSDB)
②、Level-1数据库包含当地区的LSP,Level-2数据库包含骨干地区LSP。
③、在本身Level-1的LSP中设置了ATT比特位为1
④、路由表里有整个网络的路由信息
IS-IS支持的网络范例
①点对点网络范例(P2P)
②广播多路访问网络范例(Broadcast Multiple Access)
注:在帧中继等特别环境下,可以通过创建子接口支持P2P的网络范例
影响 ISIS 邻居关系建立的因素(有8 条)
1.level:level-1 不能和 level-2 建立邻居
2.system-id:标识一台路由器,具有唯一性。
3.认证
云计算
使用云计算有下列优点:
1.备份和存储
2.强大的服务器功能
3.SaaS(软件即服务)
4.信息技术沙盒功能
5.提高生产力
6.具有成本效益,并节流时间
哪些平台用于大规模云计算?
用于大规模云计算的平台包括:
a) Apache Hadoop
b) MapReduce
可否解释用于云计算部署的差别模式?
私有云
公共云
社区云
混淆云
由于数据在云端传输,你怎样确保数据安全
要确保针对你发送的数据所使用的加密密钥没有泄露
云在安全方面的措施有哪些?
1.身份管理:授权应用程序服务。
2.访问控制:将权限授予用户,那样用户可以控制进入到云环境的另一个用户的访问。
3.验证和授权:只允许通过授权和验证的用户访问数据和应用程序
云架构使用的差别层包括
集群控制器
存储控制器
节点控制器
在使用云计算平台前,用户需要考虑哪些须要的方面?
1.合规
2.数据丢失
3.数据存储
4.业务一连性
5.正常运行时间
6.云计算的数据完整性
开源云计算平台数据库有:
1.MongoDB
2.CouchDB
3.LucidDB
云服务是什么?
云服务用来通过互联网,使用网络中的服务器来构建云应用程序。它提供了这种便利:不必将云应用程序安装到计算机上,即可直接使用。它还减少了维护和支持使用云服务开发的应用程序的工作
云架构具有的利益包括:
1.无需底子办法投入
2.适时的底子办法
3.更高效地利用资源
Docker
Docker 和虚拟机有啥差别?
Docker 是轻量级的沙盒,在此中运行的只是应用,虚拟机内里尚有额外的系统。
Docker的安全性
Docker利用了Linux内核中很多安全特性来包管差别容器之间的隔离,并且通过签名机制来对镜像举行验证。大量生产环境的部署证实,Docker固然隔离性无法与虚拟机相比,但仍然具有极高的安全性。
怎样清理背景制止的容器?
答:可以使用sudo docker rm $sudo (docker ps -a -q)下令。
怎样检察镜像支持的环境变量?
答:可以使用docker run Image env下令。
当启动容器的时候提示:exec format error?怎样解决问题
答:检查启动下令是否具有可执行权限,进入手工运行脚本举行排查。
当地的镜像文件都存放在哪里?
答:与Docker相关的当地资源都存放在/var/lib/docker/目录下,此中container目录存放容器信息,graph目录存放镜像信息,aufs目录下存放具体的内容文件
怎样退出一个镜像的bash,而不终止它?
答:按Ctrl-p Ctrl-q。
退出容器时自动删除?
答:使用-rm选项,例如sudo docker run -rm -it
批量清理临时镜像文件?
答:可以使用sudo docker rmi
构建Docker镜像应该遵循哪些原则?
答:整体原则上保持功能的明确和内容的精简,只管选取满足需求但较小的底子系统镜像,清理编译天生文件、安装包的缓存等临时文件
安装各个软件时候要指定正确的版本号,并制止引入不需要的依赖
从安全的角度考虑,应用只管使用系统的库和依赖
使用Dockerfile创建镜像时要添加dockerignore文件或使用干净的工作目录
怎样制止所有正在运行的容器?
答:使用docker kill $(sudo docker ps -q)
怎样清理批量背景制止的容器?
答:使用docker rm $(sudo docker ps -a -q)
很多应用容器都是默认背景运行的,怎么检察它们的输出和日志信息?
答:使用docker logs,后面跟容器的名称大概ID信息。
可以在一个容器中同时运行多个应用历程吗?
答:一样平常不推荐在同一个容器内运行多个应用历程,假如有雷同需求,可以通过额外的历程管理机制,比如supervisord来管理所运行的历程。
怎样控制容器占用系统资源(CPU,内存)的份额?
答:在使用docker create 下令创建容器或使用docker run创建并运行容器的时候可以使用-c|-cpu-shares[=0]参数来调整同期使用CPU的权重,使用-m|-memory参数来调整容器使用内存的大小。
Docker的配置文件放在哪里。怎样修改配置?
答:Ubuntu系统下Docker的配置文件是/etc/default/docker,CentOS系统配置文件存放在/etc/sysconfig/docker
怎样更改Docker的默认存储设置?
答:Docker的默认存储存放位置是/var/lib/docker,假如盼望将docker的当地文件存储到其他分区,可以使用Linux软毗连的方式来做。
怎样将一台宿主机的docker环境迁移到另外一台宿主机?
答:制止Docker服务,将整个docker存储文件复制到另外一台宿主机上,然后调整另外一台宿主机的配置即可。
怎样使用 Docker 技术创建与环境无关的容器系统?
Docker 技术有三中主要的技术途径辅助完成此需求:
存储卷(Volumes)
环境变量(Environment variable)注入
只读(Read-only)文件系统
Dockerfile 配置文件中的 COPY 和 ADD 指令有什么差别?
固然 ADD 和 COPY 功能相似,推荐 COPY 。
Docker 中心(hub)什么概念?
Docker hub 是云底子的 Docker 注册服务平台,它允许用户举行访问 Docker 中心资源库,创建本身的 Docker 映像并测试,推送并存储创建好的 Docker 映像,毗连 Docker 云平台将已创建好的指定 Docker 映像布署到当地主机等任务。它提供了一个查找发现 Docker 映像,发布 Docker 映像及控制变化升级的资源中心,成为用户组或团队协作开发中包管自动化开发流程的有用技术途径。
Dockerfile 配置文件中最常用的指令有哪些?
一些最常用的指令如下:
FROM:使用 FROM 为后续的指令建立底子映像。在所有有用的 Dockerfile
中, FROM 是第一条指令。
LABEL:LABEL 指令用于构造项目映像,模块,允许等。在自动化布署方面
LABEL 也有很大用途。在 LABEL 中指定一组键值对,可用于程序化配置或布署
Docker 。
RUN:RUN 指令可在映像当前层执行任何下令并创建一个新层,用于在映像层中
添加功能层,也许将来的层会依赖它。
CMD:使用 CMD 指令为执行的容器提供默认值。在 Dockerfile 文件中,若添
加多个 CMD 指令,只有最后的 CMD 指令运行。
Docker网络模式
host模式: 不会获得一个独立的Network Namespace,而是和宿主机共用一个Network,容器将不会虚拟出本身的网卡,配置本身的IP等,而是使用宿主机的IP和端口,使用host模式的容器可以直接使用宿主机的IP地点与外界通信,host最大的优势就是网络性能比力好
container模式
指定新创建的容器和已存在的容器共享一个 Network Namespace,而不是和宿主机共享。新创建的容器不会创建本身的网卡,配置本身的 IP,而是和一个指定的容器共享 IP、端口范围等。同样,两个容器除了网络方面,其他的如文件系统、历程列表等照旧隔离的。两个容器的历程可以通过 lo 网卡装备通信
none模式
使用none模式,Docker容器拥有本身的Network Namespace,但是,并不为Docker容器举行任何网络配置。这个Docker容器没有网卡、IP、路由等信息。需要我们本身为Docker容器添加网卡、配置IP等。这种网络模式下容器只有lo回环网络,没有其他网卡。none模式可以在容器创建时通过–network=none来指定。这种范例的网络没有办法联网,封闭的网络能很好的包管容器的安全性。
bridge模式
bridge模式是docker的默认网络模式,不写–net参数,就是bridge模式。使用docker run -p时,docker实际是在iptables做了DNAT规则,实现端口转发功能。可以使用iptables -t nat -vnL检察。bridge模式如下图所示:
宿主机和Docker容器之间是可以举行网络毗连的,同样的,Docker容器和容器之间也可以直接举行网络毗连
容器互联
使–link可以完成这个功能,不设置–link的情况下,是无法通过容器名来举行毗连的
网络连通
在没有使用connect下令的情况下,差别网络间的容器是无法举行网络毗连的。
差别Docker网络之间的容器想要毗连的话,需要把该容器注册到另一个容器地点的网络上,使用docker connect下令
Docker 容器的存储
对于宿主机来说只是一个应用, 因此它的数据存储照旧会依赖宿主机器 Docker是通过挂载宿主机文件系统或内存的方式来实现数据存储的,挂载方式有三种,volume ,bind mount 和tmpfs
volumes-在宿主机的文件系统上的docker工作路径下创建一个文件夹(/var/lib/docker/volumes)来存储数据。Volumes是Docker推荐的挂载方式。可以制止增加容器的容量大小, 还可以使存储的数据与容器的的生命周期独立。volumes更易于备份或迁移
bind mounts -可以存储在宿主机器任何一个地方, 但是会依赖宿主机的目录布局, 不能通过docker CLI 去直接管理
tmpfs-无论是在docker主机上照旧在容器内, tmpfs 挂载都不会持久生存在磁盘上, 它会将信息存储在宿主机内存里。
Zabbix可视化监控
Zabbix监控的优缺点有哪些
优点:开源、无软件成本、server端对装备性能要求低、支持的装备多,自带多种监控模板、能实现自动化监控、开放式接口,扩展性强。
缺点:需在被监控主机上安装agent, 所有数据都存在数
据库里,产生的数据量很大,瓶颈主要在数据库
讲讲你对监控的理解,监控的目标是什么
包管服务器系统的安全运营;并提供机动的通知机制以让系统管理员快速定位/解决存在的各种问题
Zabbix监控模式有几种、有什么区别
主动模式:Agent向Server发起毗连,主动模式可以大大减少zabbix server的压力。
被动模式:Server向Agent发起毗连,被动模式zabbix server的压力大。
Zabbix自动发现怎么做的?
创建自动发现规则,设置键值,填写范例和zabbix端口,发现后的动作可以关联模板,发送邮件
Zabbix分布式监控有什么优点?
缓解服务器压力,提高可用性和机动性,减少网络负载,提高监控系统的性能和效率,更好的处理惩罚大量的监控数据。
zabbix的分布式监控有什么作用?
部署Proxy是可选的,,但是大概非常有益于分散单个Zabbix sever的负载。 假如只有proxy收集数据,sever上的历程就会减少CPU消耗和磁盘I / O负载。
Zabbix proxy是完成远程地区、分支机构、没有当地管理员的网络的集中监控的理想解决方案。
zabbix的缺点是什么?怎样解决
性能问题: 在监控大规模复杂系统时,Zabbix的性能大概会受到影响,特别是在处理惩罚大量数据时,大概会导致系统响应变慢大概出现延迟
解决方案:可以通过优化数据库、增加硬件资源、减少监控项等方法来提高Zabbix的性能
UI设计不够友好: Zabbix的ul设计相对来说不够友好,使用起来大概会比力困难,特别是对于非技术职员来说
解决方案: 可以考虑使用Zabbix的第三方插件大概自定义脚本来定制化UI界面,以满足差别用户的需求。
zabbix联合grafana怎么做?
首先需要在服务器上安装Grafana和Zabbix,在数据源中填写Zabbix的APIURL、用户名和密码等信 息。使用Grafana的面板编辑功能,创建需要监控的指标和图表,比如CPU利用率、内存使用率、网络流量等等。
可以用zabbix监控哪些
- 硬件监控。 通过 SNMP 来举行路由器互换机的监控
- 系统监控。 如 CPU 的负载,上下文切换、内存使用率、磁盘读写、磁盘使用率、磁盘 inode 节点。
- 服务监控。 比如公司用 LNMP nginx 自带 Status 模块、 PHP 也有相关的 Status 、 MySQL 的话可以通过 percona 来举行监控。
- 网络监控。 假如是云主机又不是跨机房,那么可以选择不监控网络。
- 安全监控。 假如是云主机可以考虑使用自带的安全防护。当然也可以使用 iptables 。 假如是硬件,那么推荐使用硬件防火墙。
6.Web 监控。 web 监控的话题实在照旧很多。比如可以使用自带的 web 监控来监控页面相关的延迟、 js 响应时间、下载时间、等等。
- 日志监控。 假如是 web 的话可以使用监控 Nginx 的 500x 日志。 PHP 的 ERROR 日志。
- 流量分析。 平常我们分析日志都是拿 awk sed xxx 一堆工具来实现。 这样对我们统计 ip 、 pv 、 uv 不是很方便。那么可以使用百度统计、 google 统计、贸易,让开发嵌入代码即可
- 可视化。 通过 screen 以及引入一 些第三方的库来美化界面,同时我们也需要知道、订单量忽然增加、 忽然减少。大概说忽然来了一大波流量,这流量从哪儿来,是不是推广了,照旧被攻击了。可以联合监控平来来梳理各个系统之间的业务关系。
- 自动化监控。 如上我们做了那么多的工作,当然不能是一台一台的来加 key 实现。 可以通过Zabbix 的主动模式以及被动模式来实现。当然最好照旧通过 API 来实现。
zabbix的主动监控与被动监控
默认 zabbix 采用被动监控。
当监控主机达到一定量级后 ,zabbix 服务器会越来越慢 , 此时可以考虑使用主动监控 , 释放服务器的压力 zabbix 也支持分布式监控。
被动监控 :server 向 Agent 发起毗连 , 发送监控 key,Agent 接受哀求 , 响应监控数据
主动监控 :Agent 向 server 发起毗连 ,Agent 哀求需要检测监控项目列表 ,server 相应 Agent 发送一个 items 列表 ,Agent 确认收到监控列表 ,TCP 毗连完成 , 会话关闭 ,Agent 开始周期性收集数据
区别 :
server 不用每次需要数据都毗连 Agent,Agent 会本身收集数据并处理惩罚数据 ,Server 仅需要生存数据 即可
Zabbix监控做过哪些
zabbix监控mysql集群
1.创建并编辑监控mysql的脚本(通常有脚本模板),添加执行权限
2.修改zabbix-agent配置文件,默认有一个MySQL的子配置文件,直接编辑该文件即可,数据库添加授权用户
3.重启zabbix-agent
4.Web界面配置、点击需要监控的主机,进去添加监控模板,自带的Template DB MySQL
5.配置完成后等一会儿就可以检察到监控主机的MySQL监控信息
假如发现监控没有数据,请排查如下问题
1.zabbix客户端是否重启
2.脚本是否有执行权限
3.数据库是否有用户授权
4.环境变量是否有问题
zabbix监控mysql的四大性能指标:
查询吞吐量
查询执行性能
毗连情况
缓冲池使用情况
配置zabbix自定义监控流程
①被监控端修改 Agent 配置文件 ( 修改是否允许自定义 key, 加载配置文件目录 )
②被监控端创建存放自定义 key 文件 ( 在 zabbix_agentd.conf 文件中定义 ), 书写自定义 key ③重起客户端 agentd
④测试自定义 key 是否生效
⑤在 zabbix 页面创建监控模板 , 创建应用 , 创建监控项 , 关联主机
服务器一样平常需要监控哪些项目? 依附这些项目怎样判定服务器的瓶颈?
1.比如网站故障监控、服务器性能监控、网站安全监控、用户访问速率监控等;内存,IO,CPU,网络,这个四个模块是必须的;
2.不能单一指标衡量性能瓶颈,比如说是IO出现在性能瓶颈:
第一种是调整缓冲区的大小、调整缓冲区中的数据同步的磁盘中的时间
第二种是修改磁盘调度算法,检察的路径cat /sys/bock/sda/queue/scheduler
zabbix监控mysql的io情况是否正常的流程
在 zabbix 的配置文件中开启自定义监控
编写监控脚本,过滤出 mysql 的 IO 线程是否为 yes
编写自定义监控文件,监控脚本
测试定义的监控下令是否乐成
在 zabbix 网页中自定义监控项,添加监控文件中的 UserParameter
zabbix怎样修改此中监控的一台服务器中的某个信息,该怎样操作?
正常来说 , 一样平常会把监控的服务器统一加入到一个模板中 , 修改模板的某一项的监控项参数, 加入模板中的所有主机都会同步。假如单独想修改此中某一台服务器,需要进入这台主机 , 单独创建大概配置
报警范例和故障处理惩罚:
1.E-mail 邮件 2.微信报警等
故障:如监控服务器down机不报警
解决:1.先定位问题:zabbix服务器采用轮询的方式从监控目标机的agent获取数据。但假如目标机down了,目标机的agent通常也无法工作,所以检查被监控的主机服务
2.增加一个目标主机举行是否存活的检测。
告警收敛:
1.所有产生告警均由zabbix调用脚本推入缓存redis当中。
2.分析系统将在规定时间(1分钟)内去redis中拉取数据,根据定义好的一系列规则举行,合并、分析或直接丢弃,并存入分析平台数据库,以便供历史查询。
3.根据预先定义好的规则将报警通过定义好的方式发送给相关职员。
告警屏蔽:
1、处于维护中的主机,告警信息照旧会报出来,但是不会触发动作;
2、对于可预知的临时维护或告急维护,可以提前设置告警屏蔽;
3、可针对组、单台或多台主机,举行一次性、每日定时、每月定时、每周定时屏蔽;
4、前端可以将维护中的主机不举行表现,Dashboard右上角有个图标可以举行筛选是否表现维护中的主机;
5、告警屏蔽时,可以设置采集数据或不采集数据两种方式;
Ansible
说说你熟悉的ansible
Ansible是一个自动化运维工具,基于Python开发,聚集了浩繁运维工具的优点,可以实现批量系统配置、批量程序部署、批量运行下令等功能。
它是基于模块工作的,本身没有批量部署的本领,真正批量部署的是ansible所运行的模块,而ansible只是提供一种框架。
什么是 Ansible 模块?
模块被以为是 Ansible 的工作单位。每个模块大多是独立的,可以用标准的脚本语言编写,如 Python、Perl、Ruby、bash 等。模块的一个紧张属性是幂等性,意味着一个操作执行多次不会产生副作用
Ansiable的基本组件是什么?
包括:控制节点,主机,变量,任务,脚色,模块等
Ansible常用模块(至少6个)?
command ping yum copy service shell file replace user group
什么是 Ansible 的 playbooks ?
Playbooks 是 Ansible 的配置、部署和编排语言,它是基于YAML语言编写的。大概形貌一样平常 IT 流程中的一系列步调。
形貌Ansible是怎样工作的?
Ansible由节点和控制机器构成。 控制机器是安装Ansibles的地方,节点由这些机器通过SSH管理。 借助SSH协议,控制机器可以部署临时存储在远程节点上的模块。
控制机器使用ansible大概ansible-playbooks在服务器终端输入的Ansible下令集大概playbook后,Ansible会遵循预先编排的规则将PLAYbook逐条拆解为Play,再将Play构造成Ansible可以辨认的任务tasks,随后调用任务涉及到的所有modules及plugins,根据主机清单inventery中定义的主机列表通过SSH协议将任务集以临时文件大概下令的形式传输到远程节点并返回结果,假如是临时文件则执行完毕后自动删除。
Linux部分
Linux 的体系布局
从大的方面讲,Linux 体系布局可以分为两块:Linux 体系布局
用户空间(User Space) :用户空间又包括用户的应用程序(User Applications)、C 库(C Library) 。
内核空间(Kernel Space)
为什么 Linux 体系布局要分为用户空间和内核空间的缘故原由?
1、现代 CPU 实现了差别的工作模式,差别模式下 CPU 可以执行的指令和访问的寄存器差别。
2、Linux 从 CPU 的角度出发,为了保护内核的安全,把系统分成了两部分
Linux 开机启动过程?
1、主机加电自检,加载 BIOS 硬件信息。
2、读取 MBR 的引导文件(GRUB、LILO)。
3、引导 Linux 内核。
4、运行第一个历程 init (历程号永远为 1 )
5、进入相应的运行级别。
6、运行终端,输入用户名和密码。
Linux 有哪些系统日志文件
比力紧张的是 /var/log/messages 日志文件
RAID 是什么?
RAID 全称为独立磁盘冗余阵列(Redundant Array of Independent Disks),基本头脑就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至高出一个价格昂贵、 容量巨大的硬盘。RAID 通常被用在服务器电脑上,使用完全相同的硬盘构成一个逻辑扇区,因此操作系统只会把它当做一个硬盘。
RAID 分为差别的品级,各个差别的品级均在数据可靠性及读写性能上做了差别的权衡。在实际应用中,可以依据本身的实际需求选择差别的 RAID 方案。
iptables 下令
iptables ,是一个配置 Linux 内核防火墙的下令行工具。功能非常强大,对于我们开发来说,主要把握怎样开放端口即可
route 下令
添加一条到 192.168.3.0/24 的路由,网关为 192.168.1.254 ?
输入下令 route add -net 192.168.3.0/24 netmask 255.255.255.0 gw 192.168.1.254 。
检察本机路由的三种方式?
route -n
netstat -nr
ip route
tcpdump 下令
tcpdump 这是最基本的下令,它会启动TCPDump并开始捕捉数据包。默认情况下,它会捕捉所有接口上的数据包
一台 Linux 系统初始化环境后需要做一些什么安全工作?
1、添加平凡用户登陆,禁止 root 用户登陆,更改 SSH 端口号。
修改 SSH 端口不一定绝对哈。当然,假如要暴露在外网,发起改下。
2、服务器使用密钥登陆,禁止密码登陆。
3、开启防火墙,关闭 SElinux ,根据业务需求设置相应的防火墙规则。
4、装 fail2ban 这种防止 SSH 暴力破击的软件。
5、设置只允许公司办公网出口 IP 能登陆服务器(看公司实际需要)
也可以安装 VPN 等软件,只允许毗连 VPN 到服务器上。
6、修改历史下令记载的条数为 10 条。
7、只允许有需要的服务器可以访问外网,其它全部禁止。
8、做好软件层面的防护。
8.1 设置 nginx_waf 模块防止 SQL 注入。
8.2 把 Web 服务使用 www 用户启动,更改网站目录的所有者和所属组为 www
什么叫 CC 攻击?什么叫 DDOS 攻击?
攻击,即是通过大量正当的哀求占用大量网络资源,以达到瘫痪网络的目标。
CC 攻击,主要是用来攻击页面的,模仿多个用户不停的对你的页面举行访问,从而使你的系统资源消耗殆尽。
DDOS 攻击,中文名叫分布式拒绝服务攻击,指借助服务器技术将多个计算机联合起来作为攻击平台,来对一个或多个目标发动 DDOS 攻击。
怎么预防 CC 攻击和 DDOS 攻击?
防 CC、DDOS 攻击,这些只能是用硬件防火墙做流量洗濯,将攻击流量引入黑洞。
流量洗濯这一块,主要是买 ISP 服务商的防攻击的服务就可以,机房一样平常有空余流量,我们一样平常是买服务,毕竟攻击不会是持续长时间。
什么是网站数据库注入?
由于程序员的水平及经验参差不齐,大部分程序员在编写代码的时候,没有对用户输入数据的正当性举行判定。
应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的 SQL 注入。
SQL注入,是从正常的 WWW 端口访问,而且表面看起来跟一样平常的 Web 页面访问没什么区别,假如管理员没检察日志的习惯,大概被入侵很长时间都不会发觉。
怎样过滤与预防?
数据库网页端注入这种,可以考虑使用 nginx_waf 做过滤与预防。
可以在 Shell 脚本中使用哪些范例的变量?
在 Shell 脚本,我们可以使用两种范例的变量:
系统定义变量:是由系统系统本身创建的
用户定义变量:由系统用户来天生和定义
Linux中各个目录的作用
1./ 根目录
2./boot 引导程序,内核等存放的目录
3./sbin 超等用户可以使用的下令的存放目录
4./bin 平凡用户可以使用的下令的存放目录
5./lib 根目录下的所程序的共享库目录
6./dev 装备文件目录
7./home 平凡用户的家目录
8./root 用户root的$HOME目录
9./etc 全局的配置文件存放目录
10./usr 这个目录中包含了下令库文件和在通常操作中不会修改的文件。
11./proc 特别文件目录
这个目录采用一种特别的文件系统格式,有助于我们相识系统内部信息。
12./opt 可择的文件目录
这个目录表现的是可择的意思,些自定义软件包大概第方工具,就可以安装在这里。
13./mnt 临时挂载目录
这个目录一样平常是用于存放挂载储存装备的挂载目录的,比如磁盘,光驱,网络文件系统等,当我们需要挂载某个磁盘装备的时候,可以把磁盘装备挂载到这个目录上去,这样我们可以直接通过访问这个目录来访问谁人磁盘了
14./media 挂载的媒体装备目录
挂载的媒体装备目录,一样平常外部装备挂载到这里。
15./var 内容经常变化的目录
此目录下文件的大小大概会改变,如缓冲文件,日志文件,缓存文件,等一样平常都存放在这里。
16./tmp 临时文件目录
17. /lost+found 规复文件存放的位置
怎么检察当前历程?怎么执行退出?怎么检察当前路径?
检察当前历程:ps
执行退出:exit
检察当前路径:pwd
Ls 下令执行什么功能?可以带哪些参数,有什么区别?
ls 执行的功能:列出指定目录中的目录,以及文件。
-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)
Linux硬链接与软毗连
硬链接的本质就是一条文件名和结点的关联记载而已。
硬链接是指通过索引节点来举行链接。在Linux的文件系统中,生存在磁盘分区中的文件不管是什么范例都会给它分配一个编号,这个编号被称为索引节点编号号(Inode Index)大概Inode,它是文件大概目录在一个文件系统中的唯一标识,文件的实际数据放置在数据地区(data block),它存储着文件紧张参数信息,也就是元数据 (metadata),比如创建时间、修改时间、文件大小、属主、归属的用户组、读写权限、数据地点block号等,
软链接(也叫符号链接),雷同于windows系统中的快捷方式,与硬链接差别,软链接就是一个平凡文件,只是数据块内容有点特别,文件用户数据块中存放的内容是另一文件的路径名的指向,通过这个方式可以快速定位到软毗连所指向的源文件实体。软链接是建立了另一个新的独立的文件,它指向源文件,因为源文件没了,
软毗连和硬链接解释
在删除源文件的时候,系统则将链接数减1,当链接数为0的时候,inode就会被系统接纳,文件的内容才会被删除。
建立软链接(快捷方式),以及硬链接的下令
软链接: ln -s slink source
硬链接: ln link source
检察文件内容有哪些下令可以使用?
vi 文件名 #编辑方式检察,可修改
cat 文件名 #表现全部文件内容
more 文件名 #分页表现文件内容
less 文件名 #与 more 相似,更好的是可以往前翻页
tail 文件名 #仅检察尾部,还可以指定行数
head 文件名 #仅检察头部,还可以指定行数
用什么下令对一个文件的内容举行统计?(行号、单词数、字节数)
wc 下令 - c 统计字节数 - l 统计行数 - w 统计字数
Grep 下令有什么用?
是一种强大的文本搜刮工具,它能使用正则表达式搜刮文本,并把匹 配的行打印出来
Linux 中历程有哪几种状态?在 ps 表现出来的信息中,分别用什么符号表现的?
(1)、不可中断状态:历程处于睡眠状态,但是现在历程是不可中断的。不可中断, 指历程不响应异步信号。
(2)、暂停状态/跟踪状态:向历程发送一个 SIGSTOP 信号,它就会因响应该信号 而进入 TASK_STOPPED 状态;当历程正在被跟踪时,它处于 TASK_TRACED 这个特别的状态。
“正在被跟踪”指的是历程暂停下来,等候跟踪它的历程对它举行操作。
(3)、就绪状态:在 run_queue 队列里的状态
(4)、运行状态:在 run_queue 队列里的状态
(5)、可中断睡眠状态:处于这个状态的历程因为等候某某事件的发生(比如等候 socket 毗连、等候信号量),而被挂起
(6)、zombie 状态(僵尸):父亲没有通过 wait 系列的系统调用会顺便将子历程的遗体(task_struct)也释放掉。
(7)、退出状态
利用 ps 怎么表现所有的历程? 怎么利用 ps 检察指定历程的信息?
ps -aux | grep kai
检察指定用户kai
ps -u kai
管道符的作用
下令A|下令B,即下令1的正确输出作为下令B的操尴尬刁难象
终止历程用什么下令? 带什么参数?
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
kill-9 pid
搜刮文件用什么下令? 格式是怎么样的?
find <指定目录> <指定条件> <指定动作>
whereis 加参数与文件名
locate 只加文件名
使用什么下令检察磁盘使用空间?空闲空间呢?
df -hl
du作用?
du,du 的英文原义为 disk usage,含义为表现磁盘空间的使用情况,用于检察当前目录的总大小
通过什么下令查找执行下令?
Linux which下令用于查找文件。
which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
Linux whereis下令用于查找文件。
该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
该指令只能用于查找二进制文件、源代码文件和man手册页,一样平常文件的定位需使用locate下令。
注:持续更新中…
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |