linux基础以及系统管理

一. Linux 系统基础及管理

1、操作系统发展史,系统架构平台概览; Linux 起源、理念、发展历史及各发行版;

2、Linux 基础知识、基本命令、获得使用帮助及文件系统组织结构等;

3、Linux 用户、组及权限的基础及相关高级话题,详细讲解 useradd/userdel/chmod/chown/usermod/chage/umask 等相关命令;

4、Bash 基础及配置、标准 I/O、管道及 shell 编程基础;

5、文本处理工具的概念、简单文本编辑器 nano 的使用、vim 编辑器入门、进阶及常用技巧;

7、Linux 系统进程管理基本原理及相关管理工具如 ps、pkill、top、htop 等的使用;Linux 中的作业控制;

8、Linux 任务计划的实现,讲解 at、cron 及 anacron 的使用;

9、文件查找的利器 find 命令基础及高级应用;

10、TCP/IP 网络基础、TCP 有限状态机状态转换原理、Linux 网络属性配置及网络客户端工具详解;

11、Linux 系统软件包的配置及管理、rpm 及 yum 命令的使用及 yum 库的制作详解;

12、常见磁盘接口类型及相关设备特性、Linux 磁盘管理、Linux 文件系统基础、进阶与高级管理;文件系统相关管理工具使用详解;

13、系统初始化详细流程精解、内核基础及内核的定制(内核的定制、编译及安装);对比说明 RHEL5 与 RHEL6 系统启动过程之区别;

14、X11、SSH、VNC、CUPS 系统服务;putty、SecureCRT 或 Xmanager 等 ssh 客户端的应用;

15、文件扩展属性及 ACL 的应用;

16、RAID 级别及相关概念详解、Linux 下软 RAID 的实现及相关命令行工具的使用;硬件 RAID 基本原理及配置要点;

17、LVM2 基本概念及其实现原理、LVM2 相关命令行工具的使用;

18、Linux 日志系统;常见日志管理工具的使用;

19、SELinux 相关概念、原理及相关工具 (如 setenforce 等) 的使用;

20、RHEL 系统 kickstart 文件、自动化安装部署及安装盘的定制;

21、Linux 常见系统及网络故障排除(TroubleShooting);

22、RHEL 或 CentOS 系统定制式精简,实现从零开始按需重组大小、功能等可定制的 Linux 版本,借以实现从微观角度理解 Linux 构成及运行原理之目的;

二. Shell 编程入门及进阶

1、bash 基础及工作环境的定制,详细讲解 profile、profile.d、bashrc、.bash_profile 及. bashrc 等配置文件的功用;

2、bash 脚本结构及运行;bash 变量 (局部变量、本地变量、环境变量、位置参数变量及特殊变量) 及其表达式;

3、条件测试(整数测试、字符串测试及文件测试);if 和 case 选择分支;

4、for、while、until 循环及使用 continue 和 break 来控制循环机制;

5、在 bash 中使用函数,以及利用函数来实现 bash 库;

6、脚本控制:在脚本中捕获信号并完成自定义处理;

7、脚本执行结果输出:printf 命令的使用及在脚本中使用颜色;

8、bash 脚本运行时配置:在脚本中使用选项;

9、bash 数据处理:在脚本中使用数组;

10、bash 脚本调试及 debug 功能的实现;

11、窗口编程:dialog 文本对话框命令及 shell 编程中的应用;

12、基本正则表达式、扩展正则表达式及 grep 命令精讲;

13、sed 命令及 awk 命令精讲;

三. Linux 平台常见网络服务及安全管理

web 服务高级应用

1、系统性能 / 安全、安全威胁模型和保护方法;系统服务访问控制及服务安全基础;

2、加密 / 解密原理及数据安全、密钥交换的实现、PKI 基础概念及 openssl 使用详解;

3、DNS(BIND9)服务原理精讲,BIND 服务配置、高级应用和安全,并实现以 view 为核心的适应国内运营商间解析接驳的智能 DNS 系统;(马哥团队实现的项目:www.dns.la,国内应用仅次于 dnspod 的智能 DNS 系统;)

4、ftp 服务基本原理,以 vsftpd 为例讲解 ftp 服务的实现,包括虚拟用户及相关权限定制、安全配置及 ftps 等高级话题;

5、http 协议原理、请求 / 响应报文格式、SSL 会话的原理及 https 协议;apache 基础、各 MPM 模型对比、安装配置及各参数详解;apache 虚拟主机的实现及安全应用(https、suEXEC 等);

6、LNMP/LAMP 环境配置基础

7、nginx 的特性详解,nginx 的基本配置、虚拟主机的实现、URL 地址重写、及安全应用以及 LEMP 的实现等;

8、web 应用框架 django 基础概念及其与 apache(mod_python 及 uWSGI 等方式) 或 nginx 的整合;

9、VPN 的基本原理及类型、OpenVPN 的配置及其应用;

10、iptables/netfilter 安全体系工具精讲;iptables 命令的基本应用,如各子命令的功能、通用匹配、扩展匹配及跳转目标等;

11、iptables/netfilter 高级应用,包括连接追踪、网络地址转换、及多种扩展模块的使用以及七层过滤等高级话题;

12、RPC 的基本概念;NFS 服务基础原理及配置;samba 服务基础原理及配置;

13、电子邮件系统原理精讲;postfix/dovecot 等邮件服务工具的配置和应用,smtps、pop3s、imaps 等高级安全应用的实现;以案例为基础讲解 postfix、mysql、ldap、虚拟域、虚拟用户、身份验证、邮件加密、webmail、POP、IMAP 服务的整合应用;

14、nss 的原理及配置;pam 的基础概念、常用模块讲解及系统默认的配置讲解;

四. 集群 / 存储专题

1、详述 Linux 系统集群体系结构、类型及应用方案;

LVS 专题

2、Linux 虚拟服务器 LVS 原理,详细讲解其类型及调度方法等;

3、LVS-NAT、LVS-DR 的配置及以之实现 apache、nginx、ssh 等负载均衡应用,并详细比较此两种实现方式的不同及各自的应用场景;

4、LVS 持久性连接应用环境理论及实现;FW 方式实现 LVS 的 affinity 应用;

5、编写 bash 脚本实现对 realserver 健康状态监控,实现 realserver 故障隔离及自动重新上线等功能;

高可用服务专题

6、高可用集群原理及 Heartbeat、openais/corosync 等解决方案原理精讲;

7、Heartbeat 安装、配置及以 web 为例实现高可用环境;

8、Hertbeat 资源配置方式及维护;使用 heartbeat-gui 实现基于图形化方式对集群进行管理;

9、Corosync/OpenAIS 高可用集群解决方案原理及实现方法;基于案例详解生产环境中应用 Pacemaker 配置实现高可用集群的方法;(一步步以完全手动的方式实现 Linux 系统上的 HA 集群);

10、资源管理原理、类别、LSB 脚本的编写等及资源管理的定义;基于 pacemaker 的高可用环境下资源管理详解;Stonith 原理、类别及其实现方法;

11、RHCS 集群套件工作原理精讲,并从微观角度介绍其与前述解决方案的异同;RHCS 集群的部署演示;

12、LVS 和 corosync 集成实现高可用 director 及负载均衡的大规模应用服务器集群,包括 ldirectord 的应用等;

13、高可用服务解决方案 keepalived 及其实现,以 nginx 或 haproxy 为例讲解其双主模型的实现;

14、RAID、NAS、SAN、iSCSI 等存储原理及基于 Linux 的 iSCSI 服务器的实现及应用;讲解 openfiler、freenas 或 Nexentastor 等开源解决方案的应用;

15、GFS2 集群文件系统的原理;基于 iSCSI 讲解 GFS2 的实现;

五. 代理加速 / 应用服务器

web 服务高级应用

1、http 协议的缓存原理及常用首部、常用见的反向代理解决方案的功能对比等;

2、varnish 服务原理、安装配置;varnish 状态引擎详解及 VCL 编程详解;varnish 系统参数高速及生部环境中的部署方案;

3、Nginx upstream 和 proxy 模块负载均衡和反向代理部署精讲;

4、haproxy 精讲:haproxy 功能与特性、常用配置指令、常用调度算法及 ACL 等;

5、Memcached 服务及其在 web 服务体系中的应用;

6、java、jsp、servlet、HotSpot JVM、J2SE、J2EE 及 web container 等相关技术要点详解;

7、Tomcat 体系结构、安装配置、连接器及与 apache 或 Nginx 的整合;Tomcat 各集群模型及其实现案例;

8、各种负载均衡场景中 session 保持的实现方案及特性对比详解;

可扩展 web 架构

9、分布式文件系统详述;常见分布式文件系统功能与特性对比说明;

10、以 MogileFS 原理、安装配置及其应用案例;MogileFS 与 nginx 的整合;

11、CDN 技术实现原理;

12、可扩展 web 服务设计及相关解决方案选择 (日均 10 万 PV 发展至 100 万 PV,再到 1000 万 PV 站点的扩展思路及部署要点);大规模、高并发、高可用 web 服务器群的体系结构、设计及其实现;

13、Web 环境压力测试、系统性能评估、结果分析及优化;

六. 虚拟化及 Iass 云技术

Xen 虚拟化技术精讲

1、X86 平台虚拟化技术难点及相关解决方案原理详解:CPU 虚拟化、内存虚拟化及 IO 虚拟化,虚拟化种类及相关特点等;

2、Xen 虚拟化基础;Xen 虚拟化技术中调度、中断、内存、IO、网络及块设备的虚拟实现原理;

3、Xen 在 RHEL6 或 CentOS6 上的安装、配置及简单应用;

4、Xen 环境中虚拟存储和虚拟网络设备的配置及管理详解;qemu-img 工具详解;

5、Xen 管理工具栈 xm 及 xl 从入门到精通;

6、XenServer 简介;

KVM 虚拟化技术精讲

7、KVM 虚拟化基础;KVM 虚拟化技术实现原理;

8、构建 KVM 环境:KVM 的安装、配置及应用;

9、基于 qemu-kvm 命令行工具栈管理 kvm;

10、KVM 的核心功能:CPU、内存、存储及网络虚拟化的配置;基于 SDL 和 VNC 的图形显示功能应用;

11、基于 libvirt、virt-intall 和 virt-manager 工具栈管理 kvm;

12、半虚拟化技术(virtio)、实时迁移、IO 透传技术及 KSM;

13、KVM 性能测试及基于 KVM 应用的 Linux 系统优化;

14、生产环境中虚拟化技术的应用方案及常用管理工具说明;

OpenStack 云环境

15、IaaS、PaaS、SaaS 云技术介绍;

16、OpenStack 云栈详解:Keystone、Glance、Nova、Swift、Horizon 等组件的功能、特性及协作流程;

17、OpenStack 的网络模型及 Neutron 服务;

18、OpenStack 的块存储服务及 Cinder 服务;

19、Ceilometer 及 Heat;

20、具有独立控制节点、多计算节点及独立对象存储节点的全功能 OpenStack 环境部署案例;

七. 自动化运维

1、自动化运维概述:高效地管理 IT 资产并满足复杂多变的业务需求、构建高效 IT 系统、快速发现和解决 IT 系统中出现的问题等;

网络、系统及服务监控类工具

2、SNMP 协议原理及 Linux 系统上的配置及实现应用案例;

3、网络、系统及服务等相关指标的监控模型及体系结构;

4、zabbix 监控系统详解;(课程内容详细列表请参见 http://mageedu.blog.51cto.com/4265610/1309875;)

5、rrdtool 详解;cacti 安装、配置;编写脚本基于 cacti 完成监控功能的定制;

6、Nagios 入门、进阶及高级应用;nagios 监控插件的开发;

预备类工具

7、RHEL/CentOS 平台上的无人值守安装脚本 Kickstart;基于 PXE 完成系统自动化安装;

8、Cobbler 应用详解:服务原理、配置及应用;

配置管理类工具

9、ansible 命令联动工具的使用;

10、开源的软件自动化配置和部署工具 puppet 详解;(课程内容详细列表请参见 http://mageedu.blog.51cto.com/4265610/1308671)

11、saltstack(相当于 Func 加强版 + Puppet 精简版)详解;

说明:如果课堂时间不够充分,第 5 和个第 6 个将会以视频方式提供,而第 10 个和第 11 个则只会选讲一个;

八. Linux 系统原理基础及系统调优

1、PC Server 结构概述及 Linux 系统体系结构概述;

2、Linux 系统进程相关理论(如调度方法、抢占、优先级、调度类别等),进程性能监控、分析及调优方案;

3、CPU 及缓存架构、缓存一致性算法及内存访问模型;

4、Linux 内存架构体系(如内存区域、MMU、TLB、slab、伙伴系统、页及页框等相关理论知识),内存使用率实时监控、性能分析及调优方案;

5、Linux 系统 IO 体系架构及设备驱动;磁盘 IO 体系架构(如缓存架构体系、pdflush、bio、磁盘队列、IO 调度器等相关理论知识),磁盘性能实时监控、分析及调优方案;

6、Linux 虚拟文件系统体系架构及相关理论知识(如块、inode、日志等)、常见文件系统类型及使用 iozone 等工具对文件系统性能的评估与比较,并结合实际项目需要选择最佳文件系统;

7、中断及异常相关理论知识(如信号、IRQ、进程上半部和下半部、中断处理器等)及在系统调优中的应用;

8、Linux 网络子系统架构体系及相关理论知识(如 socket buffer、NAPI、kernel buffer 等),网络子系统性能的监控、分析及调优方案的设计及实现;

9、基于 Linux 系统调优理论知识进行实际项目调优,如 MySQL 服务器的调优(系统部分)等;

10、系统性能评估方法、指标;

11、常用工具如 sar、htop、dstat、iostat、perf、netpef、iperf 及 iozone 等的使用,以之评估操作系统性能的方法;

12、以 web 服务及 mysql 服务为例,详细讲解其优化的思路、方案及实现过程;

九. 海量数据并行处理系统

10.1 NoSQL

1、CAP 理论模型及 NoSQL 基础理论;NoSQL 数据库特性、技术流派及代表性项目;

2、MongoDB 体系结构、安装配置及应用;(具体课程列表请参照 http://mageedu.blog.51cto.com/4265610/1317270)

10.2 Hadoop

3、MapReduce 基础概念、运行框架、调度模型等;

4、HDFS 基础概念、命令行接口、数据序列化、数据流等;

5、Hadoop 伪分布式及完全分布式模型的构建、测试及应用;

6、生产环境中 Hadoop 多种常用属性的调优及其注意事项等;

7、Hadoop 生态系统及常用组件说明;

8、Hadoop 调度算法及其选用;

9、Hadoop 硬件选型要点;

10、Zookeeper 功能、特性、安装配置及应用;列式数据库 HBase 基础原理、安装配置及其应用;

11、数据仓库 Hive 基础原理、安装配置及应用;

12、讲解 flume/scribe/chukwa/kafka 日志收集系统其中之一;

13、使用工具完成 Hadoop 自动化部署;

补充

1、rpm 包 SPECS 文件详解、RPM 包制作及包签名的实现;

2、LDAP 协议原理及常见的实现;OpenLDAP 的安装、配置及应用;

3、基于 busybox 和内核定制制作微型 Linux 系统,并通过编译的方式为之提供相应的服务以进一步理解 Linux 系统;LFS 系统及其实现;

5、redis 体系结构、安装配置及应用;

6、ats 功能、特性、安装配置及应用;

7、logstash:功能丰富的日志收集分析系统;

. 资源大全

备份

备份软件

  • Amanda - 客户端 - 服务器模型备份工具

  • Bacula – 另一个客户端 - 服务器模型备份工具

  • Backupninja - 轻量级,可扩展的元数据备份系统

  • Backuppc - 客户端 - 服务器模型备份工具和文件共享方案。

  • Burp - 网络备份和还原程序

  • Duplicity - 使用 rsync 算法加密的带宽 - 效率备份

  • Lsyncd - 监控一个本地目录树的变化, 然后产生一个进程去同步变化。默认使用 rsync。

  • Rsnapshot - 文件系统快照工具

  • SafeKeep - 使用 rdiff-backup,集中的,基于 pull 的备份

  • TarSnap – 具有一个开源客户端的安全备份服务

  • UrBackup - 另一个客户端 - 服务器备份系统

  • DREBS – AWS EBS 支持策略的备份脚本

克隆

克隆软件

  • Clonezilla - 分区和磁盘镜像 / 克隆程序

  • Fog – 另一个计算机克隆解决方案

  • Redo Backup - 简单的备份,恢复和还原

云计算

  • AppScale – 兼容 Google App 引擎的开源云计算软件.

  • Archipel - 使用 Libvirt 管理和监视虚拟机

  • CloudStack - 创建,管理和部署基础云服务的云计算软件

  • Cobbler -Cobbler 是一个 Linux 安装服务器,允许快速地构建网络安装环境

  • Eucalyptus - 兼容 AWS 的开源私有云软件

  • Mesos - 开发和运行能效高的分布式系统。

  • OpenNebula - 一个用于系统管理员和研发运维的用户驱动的云管理平台

  • OpenStack - 构建私有和开放云的开源软件

  • The Foreman -Foreman 是一个用于物理和虚拟服务器的全生命周期管理工具. FOSS.

云业务流程

  • BOSH -IaaS 业务流程平台,最初用于部署和管理云计算平台 PaaS, 但也用于通用的分布式系统。

  • Cloudify - 使用 Python 和 YAML 编写的开源 TOSCA-based 云业务流程软件平台。

  • Juju - 云业务流程工具用于管理服务,比如 charms,YAML 配置和部署脚本集

  • MCollective - 来自 Puppet 实验室的管理服务器业务流程和开发的 Ruby 框架

  • Overcast - 在不同的云提供商上部署 VMs,并在任何或所有(VM)上通过 SSH 并行运行命令行和脚本

  • Rundeck – 简单的业务流程工具

  • Salt -Python 编写

云存储

  • git-annex assistant - 在你的每一个 OSX 和 Linux 电脑,Android 设备,可移动驱动,NAS 电器和云服务上一个同步文件夹

  • ownCloud - 提供你的文件的统一访问,通过 web,你的电脑和你的移动设备

  • Seafile - 另一个开源的云存储解决方案

  • SparkleShare - 提供云存储和文件同步服务。它默认使用 Git 作为存储后端

  • Swift - 一个高可用,分布式,最终一致的对象 / 大数据存储

  • Syncthing - 一个用于私有,加密和身份认证数据的开源系统

代码审查

基于 Web 的协作式代码审查系统

  • Gerrit - 基于 Git 版本控制,它促进软件开发人员审查源代码修改和批准或拒绝这些变更。

  • Review Board – 基于 MIT License 的可用自由软件

协作软件

协作软件和群件套件

  • Citadel/UX - 协同套件(消息和群件)继承于 Citadel 家族程序

  • EGroupware -PHP 编写的群件软件

  • Horde Groupware - 基于 PHP 的协作软件套件,包括邮件,日历,wiki,时间跟踪和文件管理

  • Kolab – 另一个群件套件

  • SOGo – 协作软件服务器,专注简单性和可伸缩性

  • Zimbra - 协作软件套件,包括邮件服务和 web 客户端

配置管理数据库

配置管理数据库(CMDB)软件

  • i-doit – 开源的 IT 文档管理和 CMDB

  • iTop - 一个完全开源的,ITIL, 基于 web 的服务管理工具

  • Ralph - 用于大型数据中心或较小本地网络的资产管理,DICM 和 CMDB 系统

  • Clusto - 帮助跟踪你的库存,在哪,如何连接,同时提供一个和基础架构元素交互的抽象接口

配置管理

配置管理工具

  • Ansible -Python 编写的,通过 SSH 管理节点

  • CFEngine - 轻量级代理系统。通过申明语言配置状态。

  • Chef -Rbuy 和 Erlang 编写,使用纯 RubyDSL

  • Fabric – Python 库和 cli 工具,为应用程序部署或系统管理任务简化使用 SSH。

  • Pallet - 通过 Clojure DSL 进行架构定义,配置和管理

  • Puppet – Ruby 编写,使用 Puppet 声明语言或 Rbuy DSL

  • Salt – Python 编写

  • Slaughter – Perl 编写

持续继承和持续部署

持续集成 / 部署软件

  • Buildbot – 基于 Python 的持续集成工具

  • Drone – 构建在 Docker,使用 YAML 文件配置的的持续集成服务器

  • GitLab CI - 基于 rbuy。他们也提供 GitLab 用于管理 git 存储库

  • Go – 开源的持续交付服务器

  • Jenkins – 一个可扩展的开源持续集成服务器

  • Vlad the Deployer - 自动化部署

分布式文件系统

网络分布式文件系统

  • Ceph - 分布式对象存储和文件系统

  • DRBD - 分布式块设备复制

  • LeoFS - 非结构化对象 / 数据存储和高可用性, 分布, 最终一致的存储系统。

  • GlusterFS – 可扩展,网络附加存储文件系统。

  • HDFS – Java 编写的,用于 Hadoop 框架的分布式、可伸缩、可移植文件系统

  • Lustre - 一种并行分布式文件系统, 一般用于大规模集群计算。

  • MooseFS – 容错、网络分布式文件系统。

  • MogileFS - 应用程序级别、网络分布式文件系统。

  • OpenAFS - 只读副本和多操作系统支持的分布式网络文件系统

  • TahoeLAFS - 安全、分散、容错、点对点分布式数据存储和分布式文件系统。

  • XtreemFS -XtreemFS 是一个用于存储需求的容错式分布式文件系统。

DNS

DNS 服务器

  • Bind - 最广泛使用的域名服务软件

  • djbdns -DNS 应用集合,包括 tinydns

  • Designate – DNS REST API, 支持多种 DNS 服务器的后端

  • dnsmasq - 为小规模网络提供 DNS,DHCP 和 TFTP 服务的轻量级服务

  • Knot – 高性能,权威的 DNS 服务器

  • NSD – 权威的、高性能的、简单的域名服务器。

  • PowerDNS - 具有各种数据存储后端和负载平衡功能的 DNS 服务器。

  • Unbound – 验证、递归和缓存 DNS 解析器。

  • Yadifa – 具有 DNSSEC 兼容的轻量级的权威域名服务器,支持. eu 的顶级域名。

主机控制面板

Web 主机控制面板

  • Ajenti -Linux 和 BSD 控制面板

  • Feathur – VPS 供应和管理软件

  • ISPConfig -Linux 主机控制面板

  • VestaCP - 用于 Linux 和 Nginx 的主机面板

  • Virtualmin - 基于 webmin 的 Linux 控制面板

  • ZPanel -Linux BSD 和 Windows 控制面板

IMAP/POP3

IMAP/POP3 邮件服务器

  • Courier IMAP/POP3 - 快速,可伸缩,企业级 IMAP 和 POP3 服务器

  • Cyrus IMAP/POP3 - 运行在密封服务器上, 普通用户不允许登录。

  • Dovecot - 主要考虑安全而编写的 IMAP 和 POP3 服务器

  • Qpopper – 一个古老且流行的 POP3 服务器实现

IT 资产管理

IT 资产管理软件

  • GLPI - 带有额外管理接口的信息资源管理器

  • OCS Inventory NG - 允许用户清算 IT 资产

  • RackTables - 数据中心和服务器房间资产,比如将硬件资产, 网络地址, 在货架空间, 网络配置文档化。

  • Ralph – 针对大型数据中心系统以及小型局域网网络的资产管理、DCIM 和 CMDB。

  • Snipe IT - 资产和许可证管理软件

LDAP

LDAP 服务器

  • 389 Directory Server – 通过 Red Hat 部署

  • Apache Directory Server - 用 Java 编写的 Apache 软件基金会项目

  • Fusion Directory - 基于 OpenLDAP 改善服务和公司目录的管理

  • OpenDJ – OpenDS 分支

  • OpenDS - 另一个用 Java 编写的目录服务器

  • OpenLDAP - 由 OpenLDAP 项目开发

日志管理

日志管理工具:收集,解析,可视化

  • Elasticsearch – 一个基于 Lucene 的文档存储,主要用于日志索引、存储和分析。

  • Fluentd – 日志收集和发出

  • Flume - 分布式日志收集和聚合系统

  • Graylog2 - 具有报警选项的可插入日志和事件分析服务器

  • Heka - 流处理系统,可用于日志聚合

  • Kibana – 可视化日志和时间戳数据

  • Logstash - 管理事件和日志的工具

  • Octopussy - 日志管理解决方案(可视化 / 报警 / 报告)

监控

监控软件

  • Cacti - 基于 Web 的网络监控和图形工具

  • Cabot – 监控和报警,类似 PagerDuty

  • check_mk -Nagios 的扩展集合

  • Dash - 一个用于 GNU/Linux 机器的低开销 web 仪表板监控。

  • Icinga – Nagios 分支

  • LibreNMS – Observium 分支

  • Monit – 管理和监控 Unix 系统的小型开源工具

  • Munin - 网络资源监控工具

  • Naemon - 基于 Nagios4 内核的网络监控工具,具有性能加强和新功能

  • Nagios - 计算机系统,网络和基础架构监控软件

  • Observium - 服务器和网络设备的 SNMP 监控,运行在 linux

  • OMD - 开放的监控分布

  • Opsview - 基于 Nagios4,Opsview 核心,用于小型 IT 和测试环境

  • Riemann - 灵活和快速的事件处理器,允许负责时间和度量分析

  • Sensu - 开源的监控框架

  • Sentry – 应用监控,事件记录和聚合

  • Shinken – 另一个监控框架

  • Thruk – 多后台监控的 web 接口,支持 Naemon,Nagios,Icinga 和 Shinken

  • Xymon - 灵感来自 Big Brother 的网络监控

  • Zabbix – Enterprise-class software for monitoring of networks and applications.

  • Zabbix – 监控网络和应用的企业级软件

  • Zenoss - 基于 Zope 的应用,服务器和网络管理平台

度量和度量收集

度量收集和显示软件

  • Collectd - 系统统计收集守护进程

  • Collectl - 高精度系统性能指标收集工具。

  • Dashing -Ruby gem, 允许快速统计仪表板的开发。基于 HTML5,允许在数据中心或会议室进行大屏幕显示。

  • Diamond - 基于 Python 的统计收集守护进程

  • Ganglia – 基于 RRD 用于网格和 / 或集群的服务器的高性能、可伸缩监控设备。兼容 Graphite,使用一个单一的收集进程。

  • Grafana - 一个 Graphite 或 InfluxDB 仪表盘和图形编辑器

  • 开源的可伸缩绘图服务器

  • InfluxDB - 开源的分布式时间序列数据库,没有外部依赖。

  • KairosDB - 快速分布式可扩展的时间序列数据库, OpenTSDB 1. x 的分支。

  • OpenTSDB - 存储和服务大量的时间序列数据,不丢失粒度。

  • RRDtool – 开源企业标准,用于时间序列数据的高性能数据记录和绘图系统

  • Statsd - 应用统计监听

网络配置管理

网络配置管理工具

  • GestióIP - 一个自动的基于 web 的 IPV4/IPV6 地址管理工具

  • RANCID - 监控网络设备配置和维护历史变更

  • rConfig - 另一个网络配置管理工具

时事通讯

时事通讯软件

  • DadaMail -Perl 编写的邮件列表管理器

  • phpList -PHP 编写的时事通讯管理器

NOSQL

NOSQL 数据库

  • 列族

    • Apache HBase – Hadoop 数据库,一个分布式的大数据存储

    • Cassandra - 分布式数据库管理系统,设计用于处理大量数据跨多个服务器。

    • Hypertable - 基于 c++ 的 bigtable DBMS, 节省通信,可独立或在 Hadoop 类似的分布式 FS 上运行。

  • 文档存储

    • CouchDB - 易于使用, 多主机复制的面向文档的数据库系统。

    • ElasticSearch – 基于 Java 的数据库, 受欢迎的日志聚合, 和电子邮件归档项目。

    • MongoDB – 另一个面向文档的数据库系统

    • RavenDB – 具有 ACID / 事物功能的基于文档的数据库

    • RethinkDB - 开源分布式文档存储数据库,关注 JSON

    • FlockDB -Twitter 分布式,容错图数据库

    • Neo4j – 开源图数据库

  • 键值

    • LevelDB -Google 高性能键值数据库

    • Redis – 支持网络,基于内存,键值,亦可持久化数据库

    • Riak - 另一个容错的键值 NoSQL 数据库

NoSQL 服务器比较: http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

打包

  • fpm – 万能的多格式包创建器

  • omnibus-ruby – 全栈,跨发行版的包管理软件(Ruby)

  • packman - 全栈,跨发行版的包管理软件(Python)

  • tito – 为 git 项目构建 RPM

队列

  • BeanstalkD – A simple, fast work queue.

  • BeanstalkD – 一个简单快速的工作队列

  • Gearman - 快速的多语言队列或任务处理平台

  • NSQ – 实时分发的消息平台

  • RabbitMQ - 健壮的,全功能,跨发行版的队列系统

  • ZeroMQ - 轻量级队列系统

RDBMS

关系数据库管理系统

  • Firebird – 真正的全球开源数据库

  • Galera -Galera MySQL 集群是一个易于使用的高可用性解决方案,具有很高的系统正常运行时间, 没有数据丢失, 为未来的增长提供可伸缩性。

  • MariaDB -MySQL 的社区开发分支

  • MySQL – 非常流行的 RDBMS 服务器

  • Percona Server - 增强的,可替换 MySQL

  • PostgreSQL – 对象关系数据库管理系统(ORDBMS)

  • PostgreSQL-XL – 基于 PostgreSQL 的可伸缩开源数据库集群

  • SQLite - 自包容,弱服务器,零配置,支持事务的 SQL DBS 实现库

安全

安全工具

  • Denyhosts - 阻止 SSH 字典攻击和暴力攻击

  • Fail2Ban – 扫描日志文件,并对具有恶意行为显示的 IP 采取措施

  • SpamAssassin - 一个强大的和受欢迎的垃圾邮件过滤器,它采用多种检测技术。

服务发现

  • Consul – Consule 是伊戈尔服务发现,监控和配置的工具

  • Doozerd – Doozer 是一个高可用,完全一致的存储,用于少量非常重要的数据

  • ZooKeeper – ZooKeeper 是一个集中的服务,用于维护配置信息,命名,提供分布式同步和组服务

SMTP

SMTP 服务器

  • Exim - 由剑桥大学开发的消息传输代理(MTA)

  • Haraka – 用 JavaScirpt 编写的高性能,可插入的 SMTP 服务器

  • MailCatcher -Ruby gem 部署一个简单的 SMTP MTA 网关,接收所有邮件并在 web 接口显示。对调试和开发有用。

  • Maildrop - 开源的一次性邮件服务器,对开发也很有用

  • OpenSMTPD - 从 OpenBSD 项目实现的安全的 SMTP 服务器

  • Postfix – 快速,易于管理和安全的 Sendmail 替代品

  • Qmail – 安全的 Sendmail 替代品

  • Sendmail - 消息传输代理(MTA)

软件容器

操作系统级别的虚拟化

  • Bitnami - 为 web 应用,开发栈和虚拟设备生产开源软件安装器或软件包

  • Docker – 给开发者和系统管理员构建,发布和运行分布式应用程序的开放平台

  • OpenVZ -Linux 平台基于容器的虚拟化

SSH

SSH 工具

  • autossh - 网络中断后自动复位 ssh 会话。

  • Cluster SSH - 通过一个图形化控制台控制多个 xterm 窗口。

  • DSH -Dancer 的 shell / 分布式 shell - 从一个命令行包装执行多个远程 shell 命令。

  • Mosh – 移动 shell

  • parallel-ssh - 提供并行的 OpenSSH 版本和相关工具

  • SSH Power Tool - 不使用 pre-shared 钥匙的情况下对多个服务器同时执行命令和上传文件

统计

分析软件

  • Analog – 世界上最流行的日志分析工具

  • GoAccess - 在终端运行的开源的实时 web 日志分析和交互视图

  • Piwik - 免费和开源的 web 分析应用

  • Webalizer – F 快速免费的 web 服务器日志文件分析程序

工单系统

基于 web 的工单系统

  • Bugzilla - 由 Mozilla 项目开发和使用过的通用缺陷跟踪和测试工具

  • Cerb – 基于商业开源许可的基于组的邮件管理项目

  • Flyspray – 使用 PHP 编写的缺陷跟踪系统

  • MantisBT - 另一个基于 web 的缺陷跟踪系统

  • osTicket - 开源的技术支持工单系统

  • Otrs - 免费和开源故障通知单系统软件包, 公司, 组织, 或其他实体可以使用它来基于询问分配工单并跟踪进一步的沟通。

  • Request Tracker - 使用 Perl 编写的工单跟踪系统

  • TheBugGenie - 开源的工单系统,具有非常完备的用户权限分配

故障排除

故障排除工具

  • mitmproxy -ython 工具,用于拦截, 查看和修改网络流量。在排除某些问题是非常重要的。

  • Sysdig - 从一个运行的 linux 实例上捕获系统状态和活动,之后保存,过滤和分析

  • Wireshark - 世界上著名的网络协议分析工具

项目管理

基于 web 的项目管理和缺陷跟踪系统

  • ChiliProject – Redmine 分支

  • GitBucket 用 Scala 编写的 GitHub 的克隆,单独 jar 安装

  • GitLab - 用 Rbuy 编写的 GitHub 的克隆

  • Gogs - 用 Go 编写

  • OpenProject - 开源的项目协作项目

  • Phabricator PHP 编写

  • Redmine – 基于 rails 在 rbuy 编写

  • The Bug Genie -PHP 编写

  • Trac -python 编写

版本控制

软件版本和版本控制

  • Fossil - 分布式版本控制,内建 wiki 和缺陷跟踪

  • Git - 速度很快的分布式版本控制和源代码管理

  • GNU Bazaar - 由 Cannoicalzi 赞助的分布式版本控制系统

  • Mercurial - 另一个版本控制

  • Subversion - 客户端 - 服务器版本控制系统

虚拟化

虚拟化软件

  • Ganeti - 在 KVM 和 Xen 上构建的集群虚拟服务器管理软件

  • KVM -Linux 内核虚拟化架构

  • oVirt - 管理虚拟机,存储和虚拟网络

  • Packer – 从单个源配置为多个平台创建相同的机器镜像

  • Vagrant – 创建完整开发环境的工具

  • VirtualBox - 来自 Oracle 公司的虚拟化产品

  • Xen - 用于 32/64 位 Intel/AMD(IA 64)和 PowerPC 970 架构的虚拟机监控器

VPN

VPN 软件

  • OpenVPN - 使用一个定制的安全密钥交换协议, 利用 SSL / TLS。

  • Pritunl - 基于 OpenVPN 的方案,易于设置

  • SoftEther – 具有高级特性的多协议 VPN 软件

  • sshuttle - 穷人的 VPN

  • strongSwan – Linux 下完整的 IPsec 实现

  • tinc - 分布式点对点 VPN

XMPP

XMPP 服务器

  • ejabberd - 用 Erlang/OTP 编写的 XMPP 短信服务器

  • Metronome IM -Prosody IM 分支

  • MongooseIM -ejabberd 分支

  • Openfire - 实时协作(RTC)服务器

  • Prosody IM -Lua 编写的 XMPP 服务器

  • Tigase -java 实现的 XMPP 服务器

Webmails

Webmail 应用

  • Mailpile – A modern, fast web-mail client with user-friendly encryption and privacy features.

  • Mailpile – 一个先进,快速的 web-mail 客户端,具有用户友好的加密的私有个性

  • Roundcube – Browser-based IMAP client with an application-like user interface.

  • Roundcube – 基于浏览器的 IMAP 客户端,具有应用类似的用户界面

Web

Web 服务器

  • Apache - 最流行的 web 服务器

  • Cherokee - 轻量级,高性能的 web 服务器 / 反向代理

  • Lighttpd – speed-critical 环境下更优化的 web 服务器

  • Nginx - 反向代理,负载均衡器,HTTP 缓存和 web 服务器

  • uWSGI -uWSGI 项目,目标在开发一个构建主机服务的全栈

Web 性能

  • HAProxy – 负载均衡,SSL 卸载和性能优化,压缩和通用 web 路由

  • Varnish - 基于 HTTP 的 web 应用加速器,关注内存优化和压缩

Wikis

Wiki 软件

  • DokuWiki - 使用简单和高度通用的 wiki, 这并不需要一个数据库。

  • Gollum – 一个简单, Git-powered wiki,具有不错的 API 和本地前端。

  • ikiwiki - 一个 wiki 编译器

  • Mediawiki - 加强 Wikipedia

  • MoinMoin - 一个高级的易用的扩展性强的 Wiki 引擎,具有大量的社区用户 TiddlyWiki – JavaScript 的完整交互 wiki

    • Ōlelo Wiki – 在 Git 存储上保存页面的 wiki

资源

各种资源,比如书籍,网站和文章,用于提升技能和知识

博客

  • Code as Craft – Etsy 的运维博客,大量的技术博客

  • DevOpsGuys – Devops 顾问,运维博客

  • Rackspace Developers - 具有大量 Devops 主题的博客

书籍

Sysadmin 相关书籍

  • The Linux Command Line – William Shotts 的书,关于 Linux 命令行

  • The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win -DevOps 技术如何修复发生在 IT 组织的问题

  • The Practice of System and Network Administration – 第一和第二版本描述系统和网络管理的最佳实践, 独立于特定平台或技术。

  • The Visible Ops Handbook: Implementing ITIL in 4 Practical and Auditable Steps - 一个方法论, 旨在启动实施控制和过程改进。

  • UNIX and Linux System Administration Handbook – 从使用的角度走进系统管理

编辑器

开源的代码编辑器

  • Atom - 来自 Github 的文本编辑器

  • Brackets – 用于 web 设计和前端开发的开源代码编辑器

  • Eclipse – 用 Java 编写的 IDE,具有可扩展的插件系统

  • Geany -GTK2 文本编辑器

  • GNU Emacs - 一个可扩展,自定义的文本编辑器

  • Haroopad -Markdown 编辑器,具有实时预览

  • ICEcoder - 非常棒的代码编辑器,内建常见的 web 语言

  • jotgit -Git 支持的实时协作代码编辑

  • Light Table – 下一代代码编辑器

  • Lime - 旨在提供一个 Sublime Text 的开源替代方案

  • TextMate -OS X 下的图形文本编辑器

  • Vim - 一个高可配置的文本编辑器,用于高效编辑

时事通讯

  • Servers for Hackers – 程序员的时事通讯,发现他们需要知道的服务器相关内容。

存储

软件包存储

  • Dotdeb – Debian 下 LAMP 更新包的存储

  • Remi – RHEL/Centos/Fedora 下 LAMP 更新包的存储

网站

有用的系统管理员相关的网站

  • Ops School – 全面的计划, 将帮助你成为一名运维工程师。

  • Digital Ocean Tutorials – 一个非常庞大资源,获得基本的应用程序,工具, 甚至是系统管理主题。

你可能感兴趣的:(hadoop,Centos)