👉 这是一个或许对你有用的社群
🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料:
《项目实战(视频)》:从书中学,往事中“练” 《互联网高频面试题》:面朝简历学习,春暖花开 《架构 x 系统设计》:摧枯拉朽,掌控面试高频场景题 《精进 Java 学习指南》:系统学习,互联网主流技术栈 《必读 Java 源码专栏》:知其然,知其所以然
👉这是一个或许对你有用的开源项目
国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。
功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号等等功能:
Boot 仓库:https://gitee.com/zhijiantianya/ruoyi-vue-pro Cloud 仓库:https://gitee.com/zhijiantianya/yudao-cloud 视频教程:https://doc.iocoder.cn 【国内首批】支持 JDK 21 + SpringBoot 3.2.2、JDK 8 + Spring Boot 2.7.18 双版本
1. Shell脚本 2.Git 3. Ansible 4. Prometheus 5. Grafana 6. Docker 7. Kubernetes(K8s) 8. Nginx 9. ELK Stack 10. Zabbix
运维工程师在日常工作中频繁运用的10款工具,并细致阐述每款工具的功能、适用场景以及其卓越之处。
1. Shell脚本
功能: 主要用于自动化任务和批处理作业。 适用场景: 频繁用于文件处理、系统管理、简单的网络管理等操作。 优势: 灵活且强大,能够直接与系统进行交互操作。 实例: 运维工程师常常使用Shell脚本来批量修改服务器上的配置文件。
#!/bin/bash
> 基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
>
> * 项目地址:<https://github.com/YunaiV/ruoyi-vue-pro>
> * 视频教程:<https://doc.iocoder.cn/video/>
# 配置文件的路径
config_path="/path/to/config/file"
> 基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
>
> * 项目地址:<https://github.com/YunaiV/yudao-cloud>
> * 视频教程:<https://doc.iocoder.cn/video/>
# 要修改的内容和新内容
old_content="old_value"
new_content="new_value"
# 遍历服务器上的配置文件
for file in $(find $config_path -name "*.conf"); do
# 判断文件是否包含要修改的内容
if grep -q "$old_content" "$file"; then
# 修改文件内容
sed -i "s/$old_content/$new_content/g" "$file"
echo "已修改文件: $file"
else
echo "文件 $file 不包含要修改的内容."
fi
done
2.Git
功能: 专注于版本控制特性。 适用场景: 对代码和配置文件进行版本管理。 优势: 包括分支管理、代码回滚以及团队协作功能。 实例: 运维工程师常利用Git来管理Puppet或Ansible的代码。
3. Ansible
功能: 提供自动化配置、部署以及管理解决方案。 适用场景: 适用于自动化服务器配置、应用部署及监控等领域。 优势: 易于学习掌握、具备代理无关性,同时具备强大的模块支持功能。 实例: 运维工程师通常用Ansible来批量配置服务器的防火墙规则。
使用Ansible来配置服务器的防火墙规则:
安装Ansible: 首先,需要在你的本地机器上安装Ansible。你可以通过pip进行安装:pip install ansible
。
配置Inventory: 在Ansible中,你需要定义一个inventory文件,这个文件列出了你想要配置的所有服务器。例如,你可以创建一个文件,叫做hosts.ini,然后在文件中列出所有的服务器IP或主机名。
编写Playbook: 接下来,你需要创建一个Playbook,定义你想要执行的防火墙规则。例如:
- hosts: all
become: yes
tasks:
- name: Install firewalld
apt: name=firewalld state=present
- name: Enable firewalld
service: name=firewalld enabled=yes state=started
- name: Open port 80/tcp
firewalld: port=80/tcp permanent=true state=enabled
- name: Open port 22/tcp
firewalld: port=22/tcp permanent=true state=enabled
在这个Playbook中,我们首先安装firewalld,然后启动它,接着打开80和22端口。
运行Playbook: 最后,你可以运行这个Playbook,应用到你的服务器上。你可以使用下面的命令:ansible-playbook -i hosts.ini playbook.yml
。
4. Prometheus
功能: 专长于监控与警报功能。 适用场景: 适合于系统性能监控、服务状态监控等需求。 优势: 开源行事,灵活的数据模型以及强大的查询语言。 实例: 运维工程师常借助Prometheus监控服务器的CPU、内存使用状况。
5. Grafana
功能: 专注于数据可视化和仪表板功能。 适用场景: 适用于展示Prometheus、MySQL等各类数据。 优势: 美观大方,支持多种数据源,且具备灵活的仪表板定义能力。 实例: 运维工程师常使用Grafana展示服务器的实时CPU使用状况。
6. Docker
功能: 提供容器化技术解决方案。 适用场景: 适用于应用部署、环境隔离及快速扩展等需求。 优势: 轻量化、部署迅速,以及可确保一致的运行环境。 实例: 运维工程师通常运用Docker部署Web应用。
7. Kubernetes(K8s)
功能: 专长于容器编排与管理功能。 适用场景: 适用于容器化应用的扩展、滚动更新及高可用特性。 优势: 自动容器编排、弹性伸缩以及自我修复等功能。 实例: 运维工程师会运用Kubernetes管理Docker容器集群。
8. Nginx
功能: 提供Web服务器及反向代理功能。 适用场景: 适用于静态资源服务及负载均衡操作。 优势: 具备高性能、稳定性,同时配置过程简便易行。 实例: 运维工程师常将Nginx作为Web应用的前端代理和负载均衡器。
9. ELK Stack
功能: 专注于日志收集和分析功能。 适用场景: 适用于系统日志以及应用日志的集中管理和分析。 优势: 实时搜索功能、强大的数据分析能力,以及直观的仪表板展示能力。 实例: 通过运用ELK Stack,可以有效分析服务器的访问日志,找出访问量最大的网页。
10. Zabbix
功能: 擅长综合网络监控功能。 适用场景: 适用于服务器性能监控、网络监控及服务监控操作。 优势: 开源、功能全面,同时具备良好的报警机制。 实例: 利用Zabbix,可以监控服务器的网络带宽使用情况,并在超出阈值时触发报警信号。
欢迎加入我的知识星球,全面提升技术能力。
👉 加入方式,“长按”或“扫描”下方二维码噢:
星球的内容包括:项目实战、面试招聘、源码解析、学习路线。
文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)