描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111655497
《高性能Linux服务器运维实战:shell编程、监控告警、性能优化与实战案例》以真实生产环境实际案例进行讲述,融合了运维行业技术专家10多年一线工作经验和应用心得,注重实践、每个知识点附有实例,难点处配有二维码视频,使读者身临其境,迅速、深入地掌握各种经验和技巧,真正提高实践能力
《高性能Linux服务器运维实战:shell编程、监控告警、性能优化与实战案例》以Linux运维平台下的开源应用软件为中心,涉及Linux运维的各个方面,主要从系统基础运维、系统性能调优、智能运维监控、运维实战案例4个方面展开介绍。本书贯穿实战、实用、通俗、易懂的特点,在内容上注重实战化,通过真实的生产环境从多个方面介绍运维工作中的方方面面。通过真实案例的学习,可以使读者深入地掌握Linux运维技术的各种经验和技巧,从而真正提高企业的实战能力。
全书贯穿了由点及线、由线及面的学习方法,既可以满足初学者参考学习,也可以帮助有一定基础的中高级Linux运维管理人员进阶,使不同层次的读者都能从本书受益。
目 录
前言
第1篇 系统基础运维篇
第1章 Linux基础命令的使用
1.1 Linux命令行与shell
1.1.1 命令是Linux的精髓
1.1.2 用户和操作系统内核之间通信的桥梁shell
1.1.3 shell命令行的格式以及如何使用
1.1.4 shell中常用通配符的使用
1.1.5 shell的输入、输出和错误重定向
1.1.6 shell中的管道如何使用
1.1.7 shell中3种引用字符如何使用
1.2 基础运维类命令
1.2.1 如何对文件打包、压缩与解压缩
1.2.2 如何快速查找、搜索文件
1.2.3 如何对文件进行连接、合并、排序、去重
1.3 系统运维监控类命令
1.3.1 查询当前整个系统每个进程的线程数
1.3.2 如何检测系统中的僵尸进程并将其kill
1.3.3 如何查看当前占用CPU或内存多的几个进程
1.4 网络故障排查类命令
1.4.1 命令行下载工具wget命令
1.4.2 强大的HTTP命令行工具curl
1.4.3 Linux系统之间文件传输工具scp命令
1.4.4 动态路由追踪及网络故障排查工具mtr命令
第2章 shell实战编程与应用案例
2.1 正则表达式与变量
2.1.1 正则表达式的组成与应用
2.1.2 shell中的变量与应用
2.1.3 变量测试、截取与替换
2.2 运算符、测试操作符以及if语句
2.2.1 算数运算符
2.2.2 条件测试与条件测试操作符
2.2.3 if/else判断结构
2.3 case选择、for循环与结构化命令
2.3.1 case选择语法与应用举例
2.3.2 for循环与结构化命令
2.4 while循环、until循环以及select循环
2.4.1 while循环结构
2.4.2 until循环语句以及应用举例
2.4.3 exit和sleep的应用环境与方法
2.4.4 select循环与菜单应用
2.5 函数以及函数的调用、参数的传递
2.5.1 函数的概念
2.5.2 函数定义与语法
2.5.3 函数的调用、存储和显示
2.5.4 函数与变量以及函数结果与返回值
2.6 企业生产环境shell脚本案例汇总
2.6.1 统计Linux进程相关数量信息脚本
2.6.2 监控主机的磁盘空间脚本
2.6.3 批量自动创建用户脚本
2.6.4 服务器状态监控脚本
2.6.5 Linux加固系统的自动化配置脚本
2.6.6 检测MySQL服务状态脚本
2.6.7 备份MySQL脚本
2.6.8 一键自动化安装Nginx脚本
2.6.9 查找指定网段活跃IP脚本
2.6.10 监控网站页面是否正常访问脚本
第3章 Linux系统运维深入实践
3.1 Linux用户权限管理
3.1.1 用户与用户组管理
3.1.2 添加、切换和删除用户组命令groupadd/newgrp/groupdel
3.1.3 添加、修改和删除用户命令useradd/usermod/userdel
3.1.4 文件的权限属性解读
3.1.5 利用chown改变属主和属组
3.1.6 利用chmod改变访问权限
3.2 Linux磁盘存储管理
3.2.1 磁盘设备在Linux下的表示方法
3.2.2 UEFI、BIOS和MBR、GPT之间的关系
3.2.3 利用fdisk工具划分磁盘分区
3.2.4 利用parted工具划分磁盘分区
3.3 Linux文件系统管理
3.3.1 线上业务系统选择文件系统标准
3.3.2 网络文件系统(NFS)介绍
3.3.3 NFS的安装与配置
3.4 Linux进程管理与监控
3.4.1 进程的分类与状态
3.4.2 进程的监控与管理
3.4.3 任务调度进程crond的使用
3.4.4 如何关闭进程
第2篇 系统性能调优篇
第4章 性能调优工具与技能
4.1 Linux系统性能指标有哪些
4.1.1 进程指标
4.1.2 内存指标
4.1.3 文件系统指标
4.1.4 磁盘I/O指标
4.1.5 网络指标
4.2 性能调优工具
4.2.1 CPU性能调优工具
4.2.2 内存性能调优工具
4.2.3 磁盘性能调优工具
4.2.4 网络性能调优工具
4.2.5 系统性能综合调优工具
4.3 分析并发现系统性能瓶颈
4.3.1 如何找到CPU瓶颈
4.3.2 如何找到内存瓶颈
4.3.3 如何找到磁盘瓶颈
4.3.4 如何找到网络瓶颈
第5章 系统性能调优实施细则
5.1 从安装Linux系统开始进行调优
5.1.1 系统基础配置与调优
5.1.2 系统安全与防护机制
5.2 Linux内核参数调优
5.2.1 Linux内核文件系统
5.2.2 内核参数优化
5.2.3 网络内核参数优化
5.2.4 系统Kernel参数优化
5.2.5 内存内核参数优化
5.2.6 文件系统内核参数优化
5.3 内存资源(物理内存/虚拟内存)性能调优
5.3.1 Linux内存中Cache与Buffer
5.3.2 Page Cache与Buffer Cache机制
5.3.3 free命令中buffers和cached
5.3.4 Page Cache优化措施以及Cache回收
5.3.5 Swap的使用与优化
5.4 磁盘I/O与文件系统方面的性能调优
5.4.1 磁盘I/O性能调优实践
5.4.2 文件系统性能优化措施
第3篇 智能运维监控篇
第6章 运维监控利器Zabbix
6.1 运维监控平台选型以及设计思路
6.1.1 常见的运维监控工具
6.1.2 运维监控平台设计思路
6.1.3 企业运维监控平台选型策略
6.1.4 运维监控平台演变历程
6.2 Zabbix运维监控平台部署过程
6.2.1 Zabbix运行架构
6.2.2 安装、部署Zabbix监控平台
6.3 Zabbix Web配置实战讲解
6.3.1 模板的管理与使用
6.3.2 创建应用集
6.3.3 创建监控项
6.3.4 创建触发器
6.3.5 创建主机组和主机
6.3.6 触发器动作配置
6.3.7 报警媒介类型配置
6.3.8 监控状态查看
6.4 Zabbix自
前 言
为什么要写这本书
随着物联网、云计算、大数据等技术的发展,Linux也获得了迅猛发展,其在服务器领域的应用已经占据了 90%以上的市场份额,因此,基于Linux的运维也面临新的挑战。越来越复杂的业务、越来越多样化的用户需求、不断扩展的应用领域,迫切需要有越来越合理的模式来保障Linux灵活便捷、安全稳定地持续提供服务,这种模式中的保障因素就是Linux运维。Linux运维是一个融合多学科(网络、系统、架构、安全、存储等)的综合性技术岗位,优秀的运维工程师必须具备各层面问题的解决能力和全局思维能力,运维工程师需要有非常广阔的知识面,还需要有企业一线的实战工作经验。因此,知识面、工作实战能力是衡量运维工程师核心竞争力的重要标准。在当前互联网大潮下,国内外对Linux运维人才的需求非常迫切,促使运维工程师的薪资也在逐年增长,目前Linux运维岗与其他岗位(如研发、测试等技术岗)待遇基本持平、甚至超出。
目前市场上关于Linux运维管理的书籍有很多,但是普遍存在的问题是模式单一,要么只讲基础理论和系统命令,要么侧重粘贴代码,要么介绍软件的安装与配置,这种模式带有很大的实验性质,并没有生产环境中实战应用和经验技巧的介绍。
本书针对这些问题,从基础入手,再进行深入研究,同时结合实际的应用案例进行由浅入深的讲述。本书贯穿了实战、实用、通俗、易懂的特点,在内容上十分注重实战化,从运维的多个方面以真实的生产环境介绍运维工作中的方方面面,通过真实案例的学习,可以使读者深入、迅速地掌握Linux运维技术的各种经验和技巧,从而真正提高企业的实战能力。
读者对象
本书适合的阅读对象有以下几种。
? 初/中级Linux运维工程师。
? Linux系统工程师。
? 云计算工程师。
? 互联网解决方案构架师。
? 所有从事开源的爱好者。
如何阅读本书
本书的特点是注重实践、理论与实际相结合,在讲述完一个知识点后,一般都附有实例作为对知识的补充,并且每个章节都是一个独立的知识块,读者可以从第1章依次阅读,也可以从中间阅读。纵观全书,每个知识点的介绍都由浅入深、由点及面。
本书主要分为4篇,总计11章,基本结构如下。
系统基础运维篇(第1~3章)
系统基础运维篇介绍了系统运维中重要的 3 个部分:Linux基础命令的使用、shell实战编程与应用案例以及Linux系统运维深入实践。
第 1 章讲述了Linux基础、核心的内容——命令的使用。对命令的介绍以实际应用场景为依托,主要从系统管理与监控类命令、文件管理与编辑类命令、压缩解压缩类命令、网络故障排查类命令几个场景进行举例介绍。
第2章讲述了Linux下shell实战编程,主要介绍了正则表达式、if/else判断、for循环、while循环、until循环、select循环、函数的使用等,后通过10个shell脚本应用案例作为对shell编程的实战演练。
第3章是对Linux系统运维实战的介绍,主要介绍了Linux系统运维中非常重要的几个方面,分别为Linux用户权限管理、Linux磁盘存储管理、Linux文件系统管理、Linux进程监控与管理。
系统性能调优篇(第4、5章)
系统性能调优篇介绍了性能调优的工具、思路以及具体的性能调优措施。
第 4 章主要讲述了Linux性能调优的指标有哪些、性能调优工具如何使用以及如何发现系统性能瓶颈。掌握这些内容可以为后面进行性能调优打好基础。
第 5 章是实战内容,主要讲述了系统性能调优的具体措施,包括从安装系统开始进行调优、内核参数调优、内存资源性能调优以及磁盘I/O与文件系统性能调优。
智能运维监控篇(第6、7章)
智能运维监控篇是本书的一个重点,主要讲述了如何构建一个智能的统一运维监控平台,从运维监控软件选型、应用软件与监控平台的集成、监控告警的配置 3 个方面展开介绍。
第 6 章主要讲述了运维监控工具Zabbix的使用。从Zabbix的安装部署、Zabbix模板的使用、触发器的使用、监控项的添加、触发器的配置、告警的设置等几个方面介绍Zabbix的基础功能,接着介绍了Zabbix的自动发现和自动注册功能以及Zabbix的主动模式和被动模式的应用区别,然后通过 6个案例介绍了Zabbix如何监控MySQL、Apache、Nginx、PHP-FPM、Tomcat、Redis,后介绍了Zabbix如何与钉钉、微信整合进行告警。
第 7 章主要讲述了两个方面的内容,分别是基于服务的监控Prometheus以及Grafana可视化监控平台,后介绍了通过Grafana Zabbix Prometheus打造全方位立体监控系统的方法。
运维实战案例篇(第8~11章)
运维实战案例篇是本书的一大亮点,主要介绍了运维工作中多个实际应用案例,剖析故障产生的原因以及解决的思路和过程,每个案例都是企业生产环境下的真实应用。通过对案例的介绍来传达解决问题的思路,进而提高读者的实战应用能力。
第 8 章讲述了系统运维故障处理案例,主要从Linux系统的角度介绍系统无法启动、死机、忘记密码等场景的处理办法,后还通过一个资源使用案例介绍了Linux下ulimit的使用经验和技巧。
第 9 章讲述了运维工作中常见的应用系统故障案例,主要介绍了文件系统出现只读故障、计划任务突然失效故障、Java内存溢出故障、NA
评论
还没有评论。