3个月 新基础设施工程师认为必要的基础设施知识框架
【目录】
① 基础设施工程师的角色
②需监控的系统图(7)
③ 监测目标各紧急程度的判断标准(4)
[内容]
很高兴见到你。
我的名字是 Yoshihiro Mizusawa,这是我在 Beyond Blog 上的第一篇文章。
自 2020 年 8 月起,我们一直欢迎您成为 Beyond 的会员。
目前在德岛县三好市的四国办事处工作。 。 。
不,我很抱歉。 。 。
我在“波斯猫办公室”工作,与作为波斯猫非常活跃的井上先生位于同一地点。 。 。谢谢你一直以来对我的照顾,包括茄子。
虽然可能有点简单,但我在最后的“简介”部分写了到目前为止我的职业生涯,所以如果您有兴趣,请看一下。
嗯,最近,出于某种原因,我一直在认真地思考,“我想成为苔藓”或“我想成为苔藓。” 。 。只是为了确定,“这不是海藻”,“这是苔藓”和“苔藓!”
这很重要。它不会出现在测试中,但非常重要。
严重地。我作为一个内向的人生活在一个越来越不确定的世界里,才得出这样的观点。这些天,我深刻地反思这与“相遇”有关。 。 。但这是另一个故事了。 。 。
所以,这是本博客的主要主题。
对于第一篇文章的内容,我设定的主题是“了解系统的IT基础设施知识”。对于每个主题,我,一个从没有经验而改变职业的“新基础设施工程师”,基于我从斋藤雄一郎撰写的《软件工程师IT基础设施监控入门[实用]》一书中学到的知识”它的结构重点是我们在几个月的实际工作中认为特别必要的要点。
因此,对于给您带来的不便,我们深表歉意,因为我们目前更多地致力于运营和维护方面,而不是设计和施工方面。以后我还想写一篇关于“设计与施工”部分的博客文章。
选择这个主题的原因是,虽然我们日常有很多机会与基础设施运营的“内部”进行互动,但我们无法完全掌握“外部”的整体情况。这是因为很多时候我都觉得自己在阻止自己这样做。
如果比作做饭,通过日常的自煮,我们逐渐能够做到炒菜、汉堡等现场烹饪,但首先我们要关注的是外在框架。做饭时,比如“采购、切菜、加热等”,我觉得这和我之前因为无法完全掌握全局而苦苦挣扎的情况类似,比如“调味、调味、摆盘。” ”
促使我改变这一点的是我遇到了“逻辑烹饪”。具体来说,来自主厨 Hiroshi Mizushima 的书,“低慢加热 = 1 分钟内升高 10℃ 的中低热量(蔬菜:最高 130℃,肉和鱼:最高 180℃)”和“咸度 = 0”材料的重量。”通过能够掌握高度可重复的元素,例如“。从下个月开始,我们考虑使用“Hot Cook”和“Healsio”等烹饪用具来代替自己做饭。
这有点题外话,但即使作为一名基础设施工程师,我也开始感觉到,如果我在这个时候不实现这样的流程,那将是一种巨大的浪费。因此,我决定反思一下“基础设施知识的全貌。这取决于你的决定。
特别写下这篇文章,希望对以下的人有所帮助。
① 以基础设施工程师为目标的人
② 入职几个月的新基础设施工程师
③ 1年后的自己
那么,我们走吧。
基础设施工程师的角色
① 基础设施设计
→在考虑达到客户期望性能的因素的同时,
“安全性、冗余性、可用性、可维护性、可靠性”等故障发生的可能性较小。
仔细设计基础设施环境,包括构建它所需的元素。
② 基础设施建设
→根据设计文档构建不易发生故障的基础设施环境。
③ 了解故障警报
→尽快检测和理解故障警报极其重要。
在我们公司,我们使用“Zabbix”和“Datadog”等监控工具。
我们还建立了一个系统,可以在 5 分钟内提供初步响应。
→你为什么关心速度?,我每天在工作中都敏锐地意识到了这一点
具体来说,仅仅几秒钟的延迟就会对客户服务产生重大影响。
如果您想象这样一种情况,您在访问要查看的网站后必须等待几秒钟,
我想你可以感受到它影响的严重性。
并且在排查原因时,我们可以检查故障所在的位置,例如访问日志,延迟仅仅几秒。
识别它需要比其他方式多几倍的时间。
④恢复反应
→在我们公司,我们努力在发生故障时尽快恢复。
我们有一个系统。
具体来说,
我们每天都在不断改进,同时创建一个“基础设施工程师”全年 365 天、每天 24 小时待命的系统。
此外,为了促进与利益相关者的顺利沟通,我们使用“Chatwork”。
我们使用
监控目标系统图(7)
① 实时监控(服务器登录状态)
→监控目标主机是否有ICMP级别的ping通信。
② 端口存活监控(运行状态到服务器)
→监控特定端口(80、443等)是否有通信。
→ 使用 top 或 ps 命令检查。
③ 进程的实时监控
→监控特定进程(Apache、MySQL、Zabbix-agent等)的启动状态和启动次数。
(1)MySQL
- 关于连接数,上限为my.cnf的值。
- 复制延迟仅适用于从属服务器。
原因是当主服务器向从服务器传输数据时,
这是因为它是用来监控延迟状态的。
・对于innoDB缓冲池,请提前使用mysqltuner.jp。
考虑根据需要调整或增加实例的物理内存
→识别负载增加的过程。
④ 绩效监控
→监控被监控目标的“绩效指标”。
(1)CPU平均负载
⇒CPU 的平均执行等待状态。
每5秒计算一次,表示为1分钟、5分钟、15分钟的平均值。
具体可以使用“top -c”命令进行检查。
(2)CPU空闲
⇒CPU 可用性。
(3)CPU iowait
⇒CPU 输入和输出处理的等待时间。
⑤ 资源监控
→监控监控对象的“使用状态”。
(1)内存使用率
⇒当总容量不足时,Linux中会激活“OOMKiller”,此时
尝试通过终止使用大量内存的进程来释放内存。
因此,根据强制终止的进程,可能会发生系统故障。
具体可以使用“free”命令来查看。
(2) 互换使用率
⇒ “交换”是当主内存不足时将内存内容暂时移至硬盘的功能。
⇒ 颠簸(重复换出/换入)
(a) “换出”是指主存不足时未使用的内存页。
从该区域移动到交换内存以释放主存空间。
(b)“Swap in”是指重新读取Swap内存中的内存页。
请注意,从交换内存读取比从主内存读取
它的速度要慢数万倍,并且会显着降低服务器的整体性能
(3)磁盘使用率
⇒如果磁盘使用率增加,请删除过去不重要的日志和二进制文件。
此外,配置日志轮换将有助于防止日志变得太大。
⑥ 轮廓监测
→监控是否可以访问包含您的内容的特定网页。
在与实际用户操作相同的条件下,通过负载平衡器
→根据ping响应时间监控与Web服务器的通信路由是否中断。
→如果出现丢包,则说明已达到通讯速度上限。或者,
可能有问题
⑦ 信息获取
→获取监控目标的信息。
(1) 当“系统主机名”的值改变时发出通知。
(2) 当“uname 命令”的结果值改变时发出通知。
(3) 当“/etc/passwd 文件的校验和”的值更改时发出通知。
监测目标各紧急程度的判断标准(4)
①A级
⇒ 由于有可能发生服务中断,因此需要最优先响应的项目。
(a) 生死监测期间的警报发生
(b) 端口活跃度监控期间发生警报
(c) 外观监控期间发生警报(客户特定网站)
(d) 进程活跃度监控期间生成警报 (Apache)
(e) 进程活跃度监控期间生成警报(MySQL)
②B级
⇒ 需要优先应对的事情,如果不及时处理,可能会停止服务。
(a) 生成 CPU 负载平均警报
(b) 产生CPU空闲警报
(c) CPU iowait警报发生
(d) 生成内存使用警报
(e) 进程活跃度监控期间生成警报(Zabbix-agent)
③ C级
⇒ 不会立即对服务产生影响,但需要尽快做出响应的。
(a) 掉期使用率提醒
(b) 发生磁盘使用警报
④ 我排名
⇒ 仅信息通知。正在对事件发生的原因进行调查。
(a) “系统主机名”更改通知。
(b) 关于“uname 命令”结果变化的通知。
(c) “/etc/passwd 文件的校验和”的更改通知。
概括
你觉得怎么样?
我们希望这可以帮助您了解基础设施运营的整体情况。
自从 2020 年 8 月我第一次开始担任基础设施工程师以来,我就意识到这项工作是一项有意义的工作,可以让我支持客户重要的“信息资产”。
但另一方面,我却每天都带着紧张感和危机感不断碰壁。说实话,我不知道三个月的时间我能爬到什么程度,但我想我别无选择,只能每天继续奋斗,把现在能做的一点一点增加。
幸运的是,我非常感激,当我在提出自己的假设后提出问题时,我很幸运有愿意帮助我的人。
在此过程中,我想继续作为一名基础设施工程师努力工作,以便为所有利益相关者提供帮助。
很抱歉这篇文章已经很长了,但最后我想以一个内向的人的身份来谈谈这一点。对不起。 。 。
原因是我开始觉得“基础设施工程师”这个职业可能是“内向”的人可以适应的环境之一。
目前,我正处于一个可以自然地接受和培养自己内向性格的阶段。然而,直到我29岁的时候,我完全没有这种感觉了,我花了很多天的时间来否定自己。
我之所以能够接受他们,是因为我有幸获得了合适的机会,但对我来说,这是一段非常艰难的旅程。 。 。
这就是为什么如果我能通过基础设施工程师的工作过程为内向的人提供帮助,我个人会非常高兴。
我认为这将是一条漫长的路,但我希望你能像对待苔藓一样从长远的角度来看待它。非常感谢您的支持。