最后更新:2020-04-09 12:15:06 手机定位技术交流文章
介绍
“网络就像wifi。当没有过错时,没有人会意识到它的存在。”这句话有很多重复,但对于网络工程师来说,这就是他们所说的。
即使在拥有数千人的公司,网络工程师的数量也只有一位数,所以他们的工作鲜为人知。
“网络有问题吗?”这句话几乎成了SRE所有错误的口头禅。如果网络工程师此时保持沉默或者不能拿出足够的证据,几乎可以肯定他们将承担责任。
如何使网络环境的运行状态更加透明?每当我的生意失败时,我如何证明我的清白?这不仅是基础服务团队应该关心的内容,也是整个技术团队想要知道的黑盒。
监视

网络设备生存监控
对SRE来说,有必要监控程序是否正常。对于主机组,有必要监控服务器硬件是否正常。对于网络,我们首先需要关心网络设备是否可以到达。当TOR不可达时,它基本上表示服务器不可达,业务的痛苦相当大。
网络设备的监控最好尽可能与业务监控系统分离,因为网络故障很可能导致业务系统异常。如果碰巧造成业务监控系统异常,网络设备的报警将失去可靠性,更不用说谁拥有“监控不允许”。这种情况会使网络工程师的故障排除变得被动,并延长故障时间。
每个网络工作者在毕业的时候都有一个基本的编程基础。此外,交换机的数量和服务器的数量在数量级上是不同的。所以如果你能理解一些python代码,100多条python代码就能处理一个简单的设备生存监控程序。在Github中可搜索的节点管理是一个很好的例子,单点故障可以通过多点部署来消除。有了这种工具,整个网络的每个角落都变得清晰了。黑暗的网络环境似乎反射出一点亮光。
设备日志监控
虽然设备存活警报可以警告许多异常并且具有高准确性,但是能够Ping一个具有良好冗余的网络并不意味着根本没有问题。此时,细心的网络工程师会查看日志,这可以反映更多的细节。至于10000台服务器的规模,网络设备的数量也是1000台,但是一个一个地检查日志,判断是否有人肉异常是一场噩梦。
“日志提醒”程序已经成为网络工程师在家旅行的必备好产品。只需要一个Syslog服务器,并部署一个日志监控程序。当在日志中找到特殊关键字时,可以触发电子邮件+短信提醒。当然,这种规模的工具需要更多的编程技能,150多条python代码可以处理它们。Github中有许多类似的解决方案。搜索日志扫描警告以获取演示案例。
从那以后,你可以在没有任何服务意识的情况下发现网络中的异常,例如:风扇速度异常/电源模块故障//ospf邻居状态抖动/端口抖动//黑客爆破我的设备/设备硬件奇偶错误//模块接收异常//内核错误等。优秀的网络工程师可以快速定位故障,而牛x的网络工程师可以在故障发生前消除隐患,防止故障发生。
流量监控
不管这条高速公路铺得多好,它都容纳不了多少汽车。网络工程师也有责任确保网络畅通、质量好、无数据包丢失和稳定延迟。此时,交通监控变得非常必要。
业务的快速发展体现在网络层面,即DC内部流量//DCI流量//IDC出口流量/专线流量的增加。交通监控可以准确掌握商业的高峰和低谷。当线路需要扩展时,带宽利用率是老板需要参考的重要数据。通常,当线路中的流量超过50%时,可以启动容量扩展,因为这意味着当备用链路断开时,主线将会拥塞。
接口错误监控
接口的错误数据包监控与流量监控相同,流量监控可以通过snmp收集。OID:如果错误,如果错误,错误包的增加将直接影响服务质量。一旦发现需要优先处理,否则服务将会向您提供一堆TcpTimeOut指示符。
当然,还是有很多信息可以通过snmp来收集,比如CPU//内存/设备温度/防火墙会话等。掌握这些信息也有利于了解设备的工作环境。如果你想成为一个自动巡逻工具,这些指标是必不可少的。市场上有很多网络监控软件,如猎鹰/扎比克斯/太阳风/仙人掌/尼格斯等。有开源软件和具有类似功能的收费软件,这里不再重复。
制造自动化操作和维护工具
在第一章中的组合被打出后,基本上不会有“意外的失败”。所有异常都应记录在案。当SRE对网络环境提出令人困惑的问题时,你应该已经有了一个清晰的想法。
然而,网络工程师的工作不仅仅是灭火。在日常操作和维护工作中,经常需要进行一些在线更改/机房扩展/业务故障排除等。与业务发展相协调。作为一名“懒惰”的网络工程师,这个程序能帮上什么忙?
用户设备跟踪器
这个术语是从Solarwinds包中的一个组件借用来的,字面意思是“用户设备跟踪器”。在中小型企业网络的运营和维护中,通常会满足以下要求:
知道服务器的IP,哪个端口连接到交换机?知道交换机的端口后,连接的服务器的IP是什么?给你一个服务器的MAC地址,你怎么知道哪个端口在哪个交换机上?大型互联网公司通常有CMDB或网络管理平台来记录这些信息。但是,如果您是中小型企业的网络经理,没有运营和维护研究团队的支持,并且仍然使用双层环境(服务器网关在核心设备中),这将会更加困难。事实上,上述问题归根结底是为了理清三个要素的对应关系:港口& lt>。媒体访问控制<。>。知识产权.
例如:

一台交换机有多个物理接口,一个物理接口可以有多个媒体访问控制,一个媒体访问控制可以对应多个IP,也可以不对应任何IP。使用这个基本模型,只需要做两件事就可以找到整个网络设备的三个元素之间的对应关系。
首先,转到服务器的直连交换机,获取媒体访问控制表(即媒体访问控制& lt->。端口),然后到服务器的网关设备获取地址解析协议表。->。这两个表可以根据作为唯一主键的MAC地址获得端口& lt->。媒体访问控制<。->。知识产权通信。
可以通过模拟登录或OID采集来获取信息。Github也有许多类似的代码供参考。有了这些信件,即使没有CMDB,你仍然可以快速找到想要的信息。普通网络工作者需要5分钟来找到这些信息,而你只需要5秒钟。
网络设备北接口的二次封装
在日常的网络操作和维护工作中,经常会有一些“简单的重复性任务”,例如:划分Vlan/为某个接口/为某个设备添加到主机的路由等。这些操作没有科技含量,占用工程师的宝贵时间。更有甚者,简单的人肉操作,只要重复的次数足够而且总是有错误,就是所谓的“经常沿河散步,不弄湿鞋子”。然而,在这个问题上犯错误是一个人职业生涯的耻辱。这样的“鸡肋”工作如何才能做得漂亮?
以“自动划分交换机接口Vlan”功能为例,如果有一个工具只需要你提供三个参数:设备的IP/端口/Vlan号,你就可以自动登录设备,将一个特定的接口划分到一个指定的Vlan,这不是很美吗?
是的。你需要的是一个封装设备的接口。现在大多数网络设备制造商将提供他们自己的应用编程接口,无论是NETCONF还是RESTful。一旦您阅读了用户手册,您就可以通过程序轻松地更改设备的配置。你甚至可以用一种更“实际”的方法,通过程序“模拟登录”设备。尽管这种方法不如NETCONF和RESTful应用编程接口那样有效,但它在通用性上是不可战胜的,因为没有一个制造商的设备不支持SSH或TELNET。
有了这个理论基础,网络上的一些简单操作可以通过它们自己的封装接口进行更改,甚至更改权限也可以移交给业务部门。只要企业提交的请求是合法的,变更就可以立即生效。
此时,肯定会有人大惊失色!把网络设备的权力交给企业真的好吗?如果它崩溃了呢……所有的怀疑都是正常的,同时也有解决的办法。
例如,您可以限制程序执行的内容,您可以指定交换机只能是TOR而不能是CSW,您可以将接口限制为Access而不能是Trunk,您可以将操作接口下的流量限制为0bps,以避免影响服务的误操作,您可以通过动态令牌来确保接口的安全。您可以要求必须提供接口下的现有媒体访问控制来定位接口的位置。您也可以将来电者列入白名单。此外,在操作成功后,您需要获得短信+电子邮件对操作结果的反馈等...
所有的考虑都可以固化成代码规则,只有程序才是最忠实的执行者。该界面可以提供一天7*24小时,一周7天的服务,而且人们的精力有限。使用程序来满足简单而常规的业务需求,并为工程师节省宝贵的时间来思考生活。这是网络工程师自动化操作和维护的正确方法。
摘要
以上是作者根据自己的工作经验总结出来的一些心理技能。网络工程师确实很难编写代码。然而,只要你跨过这个门槛,你就会有更多的时间来拓展你的职业生涯。在本文中,我希望能对网络运行和维护的自动化做出一些贡献。
作者:SYS
来源:小米云技术(身份证:小米云技术)
dbaplus社区欢迎所有技术人员提交他们的贡献。提交的电子邮件地址是editor@dbaplus.cn
今晚8点,58岁的运维专家杨寿将与大家分享“企业走向云后58年运维平台的演变”主题,回答如何高效运维全业务管理的公共云。基于公共云的操作平台和IDC有什么区别?应该如何在公共云上构建操作和维护自动化?点击观看→今晚8点[直播]业务云化后,58将到达运维平台的演进路径。

本文由 在线网速测试 整理编辑,转载请注明出处。