Linux运维管理的必备工具
一、统一账号管理
1.LDAP
统一管理各种平台帐号和密码,包括但不限于各种操作系统(Windows、Linux),Linux系统sudo集成,系统用户分组,主机登入限制等;可与Apache,HTTP,FTP,SAMBA,ZABBIX,Jenkins等集成;支持密码策略(密码强度、密码过期时间、强制修改、超过验证错误次数锁定帐号)等;支持插件式鉴别模块PAM;不同平台权限的设定、划分;
2.JumpServer
一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能。基于ssh协议来管理,客户端无需安装agent,目前本版本处于beta阶段,线上环境慎用。试用了一下demo,感觉在统一帐号管理方面并不成熟。
3.NIS
类似于LDAP。
二、自动化部署
1. Fabric
优点:小巧,无需装agent,可以做一些简单的服务器部署操作,使用简单,容易上手,但功能比较有限,用了两天就切到ansible了;
缺点:部署机与服务器交互不太友好。
2. Ansible
优点:无需agent,基于ssh实现,对新申请的机器做初始化扩展不错;特性较多,日常部署需要的功能基本上都覆盖了,比如git、打包解压、copy文件、yum安装等等都已经集成到了核心模块里面,alternatives、xattr等模块也有所集成,当然,理论上所有操作都能用命令模块来完成。
缺点:比较依赖网络的健壮性,网络不好的话会比较坑;
此外还有SaltStack、Pupet、Chef等。
三、DNS
1. dnsmasq
提供 DNS 缓存,DNS重定向、记录转发,DNS反向解析, DHCP 服务功能,配置简单;
可以配置对上层DNS轮询请求记录,配置支持通配符,不用批量修改hosts。
2. pdnsd
提供DNS缓存服务;
设置向上级DNS请求方式(TCP、UDP,Both),设置多个上级DNS并设置请求规则,配置缓存保留时间。
3. namebench
Google自行研发的一款DNS测速工具。
四、压力测试
1. ApacheBench
创建多并发线程模拟多用户对URL访问进行压力测试
Apache中有个自带的,名为ab的程序,ab可以创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问。
2. TCPcopy、UDPcopy
直接对某一机器流量copy到另一机器进行压力测试;
提到压力测试,可能大多数人首先想到的就是ApacheBench,但ab是模拟访问,模拟毕竟是模拟,然而线上会遇到的错误可能往往无法预知,其实国内已经有人开发了一款线上流量copy的工具,就是TCPcopy、UDPcopy,能够之间copy线上流量到测试环境,大大减少了上线前的风险。支持设置copy流量倍数放大、缩小,修改流量的客户端IP源地址。
3. TCPburn
类似ApacheBench
tcpburn是由网易自主研发的能够模拟千万级别并发用户的一个软件,目的是能够用较少的资源来模拟出大量并发用户,并且能够更加真实地进行压力测试, 以解决网络消息推送服务方面的压力测试的问题和传统压力测试的问题。
五、安全
1. PortSentry
对端口扫描的机器做防御策略;
特点:给出虚假的路由信息,把所有的信息流都重定向到一个不存在的主机;
自动将对服务器进行端口扫描的主机加到TCP-Wrappers的/etc/hosts.deny文件中,利用Netfilter机制、包过滤程序,比如iptables和ipchain等,把所有非法数据包(来自对服务器进行端口扫描的主机)都过滤掉;
通过syslog()函数给出一个目志消息,甚至可以返回给扫描者一段警告信息。
2.fail2ban
对SSH密码暴力破解的机器做防御策略;
防御 SSH 服务器的暴力破解攻击,对安全性要求过高的服务器还是建议禁止密码登入,使用密钥或者密钥+密码验证。
3. Google Authenticator
可以将第二部验证设置为通过短信或语音电话接收验证码,同时也支持 Android、iPhone 或 BlackBerry 设备来生成验证码;
一款开源的,可基于开放规则(如 HMAP/基于时间)生成一次性密码的软件。Google公司同时也支持插件式鉴别模块PAM,使其能和其他也适用PAM进行验证的工具(如OpenSSH)协同工作。
4. knockd
害怕服务器被入侵,但是奈何经常在不同的地方登入或者登入的IP经常变动?knock一下吧。在服务器端设置只有你知道的“暗语”来让服务器给你芝麻开门。
knockd可以让server监听特定的端口,如果client按指定的顺序及协议(TCP/UDP)访问server指定端口,则运行指定命令,于是我们就可以用它来做一些有趣的事,比如利用IPTABLES动态增加防火墙等等。
另外,knock client也可以用来模拟发包探测网络连通性。比如不确定本机到对端的某个端口是否可通,可以在远程用tcpdump监听对应端口,然后用knock客户端模拟发包。
六、虚拟化
1.vagrant
每次用想要新建一个虚拟机是不是都得设置虚拟机名称?设置虚拟机类型、版本、选择镜像、内存大小、虚拟机CPU核心数量、设备等一堆东西,然后还要装系统。。。
然而我只需要在终端下面输入一条vagrant up machine 就能新建一个预配置好的虚拟机哦,实为自己测试和给开发人员创建统一编程环境的一个好选择。
支持快速新建虚拟机
支持快速设置端口转发
支持自定义镜像打包(原始镜像方式、增量补丁方式)
基本上日常能用到的基础配置都能快速设置
支持开机启动自动运行命令
可以自己写扩展
2.docker
每次搭建一套新环境是不是很麻烦?有两个不同程序依赖于同一环境的不同版本怎么办?在程序里指定绝对路径?做软链接?
docker帮你解决了这个烦恼,镜像打包好之后推送到register之后再到对应机器上pull下来,放上代码,done..
七、日志采集
1. ELK
平常我们可能需要对一些日志进行分析、报警,比如nginx日志,我们想要统计http请求响应码的数量、统计请求IP的地域分布,对请求体的关键字及时报警等等。使用ELK能够很容易地做到上述事情,还能结合zabbix等工具进行报警。
八、监控
1. smokeping
IDC选址很头疼吧,不知道某一节点网络质量怎样,不相信供应商给的数据?试试smokeping吧,能够测试某地、多地到某一节点的质量情况(包括丢包率,速率)
Linux运维管理的必备工具的更多相关文章
- django 实现linux运维管理平台
概述 使用django实现一个linux运维管理平台,可以实现注册登录,机器管理 ,服务器批量操作,服务器性能监控. 详细 代码下载:http://www.demodashi.com/demo/112 ...
- 快收藏!高手Linux运维管理必备工具大全,你会吗?
一.统一账号管理 1.LDAP 统一管理各种平台帐号和密码,包括但不限于各种操作系统(Windows.Linux),Linux系统sudo集成,系统用户分组,主机登入限制等:可与Apache,HTTP ...
- Linux运维之Ansible自动化运维管理工具
Ansible简介:Ansible是一个简单高效的自动化运维管理工具,用Python开发,能大批量管理N多台机器,可以并发的在多台机器上部署应用.安装软件.执行命令.配置和编排任务.后面会提到批量安装 ...
- Ansible 自动化运维管理工具
Ansible 自动化运维管理工具 1.Ansible概述 2.Ansible部署 3.Ansible模块 1.Ansible概述: Ansible是一个基于Python开发的配置管理和应用部署工具, ...
- 日常运维管理技巧一(查看负载 W)
日常运维管理技巧一(查看负载 W) 今天针对Linux系统管理做一个专题的记录,以后会用的几率也是很大的,只要掌握必备的基础知识,做初级系统管理员是不成问题的. 作为一个运维工程师.系统管理员,如果对 ...
- 详解linux运维工程师入门级必备技能
详解linux运维工程师入门级必备技能 | 浏览:659 | 更新:2013-12-24 23:23 | 标签:linux it自动化运维就是要很方便的运用各种工具进行管理维护,有效的实施服务器保护 ...
- 解决连锁零售行业IT运维管理四大困境
解决连锁零售行业IT运维管理四大困境 中国近年来,连锁零售行业进入了行业的发展高潮,迅速崛起一批大型连锁业态.而随着IT技术的不断进步,连锁零售企业已经步入IT信息化快速发展的重要阶段:在面对激烈 ...
- 国产安全自主可控IT智能运维管理解决方案
新一轮科技革命和产业变革席卷全球,大数据.云计算.物联网.人工智能.区块链等新技术不断涌现,数字经济正深刻地改变着人类的生产和生活方式,作为经济增长新动能的作用日益凸显.伴随增长的,还有网络中不断涌现 ...
- 【Python】神器:Streamlit,仅使用Python开发一个运维管理后台(不需要编写html,js,css)
背景 作为SRE,我们有很多很多自动化的工具,大部分都是自动运行的,还有一部分是CLI,我们一直苦于没有一个自己的管理后台网站,受限于前端能力薄弱,开发出来的网页只能说凑活能用,但是不好用. 现在我们 ...
随机推荐
- codeforces248(div1) B Nanami's Digital Board
q次询问,每次询问能够对矩阵某一个值改变(0变1.1变0) 或者是查询子矩阵的最大面积,要求这个这个点在所求子矩阵的边界上,且子矩阵各店中全为1 用up[i][j]表示(i,j)这个点向上能走到的最长 ...
- 基于IBM Bluemix的数据缓存应用实例
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:IBM® Data Cache for Bluemix 是快速缓存服务.支持 Web 和 ...
- 设置Webdriver启动chrome为默认用户的配置信息
Webdriver 启动Chrome浏览器时,默认是打开一个新用户,而非默认用户.即新用户没有我们安装扩展程序.但在实际应用中,我们会须要 默认用户安装的一些扩展程序,比方对于某些js或者css样式. ...
- Java 深拷贝和浅拷贝 利用序列化实现深拷贝
Java 深拷贝和浅拷贝 转自:http://www.cnblogs.com/mengdd/archive/2013/02/20/2917971.html 深拷贝(deep clone)与浅拷贝(sh ...
- 英语影视台词---六、Saving Private Ryan Quotes
英语影视台词---六.Saving Private Ryan Quotes 一.总结 一句话总结: Saving Private Ryan is a 1998 American epic war fi ...
- 5.QT制作编译器,可以简单支持中文编程
学习了文件操作,那么先做一个自制的IDE吧,就是简单的读取,修改,保存文件,使用QT语言,附上github的代码:QT基本文件操作实现中文编程 截图: 运行效果
- 《转载》编程入门指南 v1.4
编程入门指南 v1.4 Badger · 8 个月前 作者:@萧井陌, @Badger 自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0 CoCode ...
- Python 上下文(Context)学习笔记
前言 最早接触到with语句的时候,是初学python,对文件进行读写的时候,当时文件读写一般都是用open()函数来对文件进行读写,为了防止读写的过程中出现错误,也为了让代码更加的pythonic, ...
- caioj 1083 动态规划入门(非常规DP7:零件分组)(LIS)
这道题题目给的顺序不是固定的 所以一开始要自己排序,按照w来排序 后来只要看l就可以了 然后求最长下降子序列即可(根据那个神奇的定理,LIS模板里有提到) #include<cstdio> ...
- USART
串口通信是一种设备间非常常用的串行通行方式,其简单便捷,大部分电子设备都支持. 一.物理层 常用RS-232标准,主要规定了信号的用途.通信接口以及信号的电平标准. “DB9接口”之间通过串口信号线 ...