1、运维技能武器库Bootstrapping:Kickstart、Cobbler、rpmbuild/xen、kvm、lxc、Openstack、Cloudstack、Opennebula、Eucalyplus、RHEV配备类工具:Capistrano、Chef、puppet、func、salstack、Ansible、rundeck监控类工具:Cacti、Nagios(Icinga)、Zabbix、基于时间监控前端Grafana、Mtop、MRTG(网络流量监控图形工具)、Monit性能监控工具:dstat(多类型资源记录)、atop(htop/top)、nmon(类Unix系统性能监控)、sla
2、btop(内核slab缓存信息)、sar(性能监控和瓶颈检查)、sysdig(系统进程高档视图)、tcpdump(网络抓包)、iftop(类似top网络连接工具)、iperf(网络性能工具)、smem)(高档内存报表工具)、collectl(性能监控工具)免费APM工具:mmtrix(见过最全面分析工具)、alibench进程监控:mmonit、Supervisor日记系统:Logstash、Scribe绘图工具:RRDtool、Gnuplot流控系统:Panabit、在线数据包分析工具Pcap Analyzer安全检查:chrootkit、rkhunterPaaS: Cloudify、Clo
3、udfoundry、Openshift、Deis (Docker、CoreOS、Atomic、ubuntu core/Snappy)Troubleshooting:Sysdig 、Systemtap、Perf持续集成:Go、Jenkins、Gitlab磁盘压测:fio、iozone、IOMeter(win)Memcache Mcrouter(scaling memcached)Redis Dynomite、Twemproxy、codis/SSDB/AerospikeMySQL 监控:mytop、orzdba、Percona-toolkit、Maatkit、innotop、myawr、SQL级监
4、控mysqlpcap、拓扑可视化工具MySQL基准测试:mysqlsla、sql-bench、Super Smack、Perconas TPCC-MYSQL Tool、sysbenchMySQL Proxy:SOHU-DBProxy、Altas、cobar、58同城OceanusMySQL逻辑备份工具:mysqldump、mysqlhotcopy、mydumper、MySQLDumper 、mk-parallel-dump/mk-parallel-restoreMySQL物理备份工具:Xtrabackup、LVM SnapshotMongoDB压测:iibench&sysbench运维管理工作
5、全貌1. 域名从买域名开始,要买各种域名,50个甚至100个。分为主域名和推广域名(给推广链接用)。要从godaddy上买域名,由于这里域名稳定,不会浮现被袭击等事情。同步还要买域名保护,这样互联网顾客ping这个域名就解析不到真实服务器地址。同步域名解析操作不要在godaddy上进行,要把解析操作放在cloudflare上或者dnspod上进行操作,也可以放到zndns上(这个dns可以做到一种域名解析各种IP地址,依照就近原则,把最快IP地址解析给顾客。)也可以自己搭建dns服务器,在godaddy上只想到自己搭建dns服务器就可以了。这样,修改dns指向时候会更快。2. CDN一定要买c
6、dn服务。如果浮现某些顾客访问不了就使用cdn服务。可以从cloudflare上购买cdn服务,这样域名解析到cdn上,然后cdn解析到肉盾击还是那个,然后肉盾击指向核心服务器上。Cdn充当一种缓存和转发作用,大流量袭击时候她可以防御至少200G袭击。Cdn是全球缓存。3. 图片服务器在国内租用几台服务器做图片缓存服务器即可,这样提高访问速度。其实nginx自身就是一种图片缓存服务器。图片服务器和其她服务器要分开,肉盾击可做图片缓存。4. 服务器机房选取机房太重要了,要服务质量好,还要高防好,还要可靠性高,还要相应及时,还要能随时可以查看服务器状态,最重要还要服务态度好了。机房要买香港九河(顾
7、客核心服务器),美国圣安娜机房(用于肉盾击)(虽然慢,但是安全高防做真好,大流量袭击时候,这里机房还是可以访问,因此,鸡蛋不要放在一种篮子里头,要各个级别均有才叫好,国内机房快,但是高防效果差,美国机房慢但是高防效果好)5. 主页一种主页,就是招商或成为打广告网站,可以租用云主机,这样被打死就被打死吧。里面可以有一种链接,指向游戏首页,这个链接可以是带端标语,那就简朴了。也可以是不带端标语,这时候就一定要用cdn服务器,或者使用免备案机房,把肉盾击放在免备案机房,由于国内搭建网站都是要备案,博彩这个行业是被禁止,为了避免域名或者IP地址被和谐了(gwf)因此要用免备案机房。或者就把肉盾击也放到
8、香港或者台湾或者韩国等等机房。这样顾客可以不使用端标语,直接用域名就可以访问咱们网站。6. 监控系统要个网站要有监控系统,实时监控服务器与否有袭击,功过查看日记与否激增,还要把日记放到日记服务器上(syslog服务),使用cacti服务可以把日记放到cacti上。网速是一定要查看,网速激增则证明一定是有袭击。每天要看日记,要用日记分析软件,看看访问源是单一访问源还是各种不同访问源.监控服务器要有报警功能,一旦状况异常就要立即报警,然后起床解决袭击。7. 防袭击袭击普通看状况而定,普通袭击都是直接袭击域名。小量袭击可以通过nginx和iptables自身防御功能就防掉。大量袭击由于直接把网络带宽
9、占用满了,服务器无法正常相应,只能依托机房高防了。因此要买大量高防,建议至少200G。如果袭击源是单一IP或者几种IP,那么就让机房把这几种IP给屏蔽就可以了。遇到cc或者ddos袭击,只能靠机房解决。一台服务器被打死后,需要立即把域名指向另一台服务器,(或者直接把域名指向百度)。大量袭击还要使用cdn,让cdn直接指向核心服务器就可以了,这样能快一点,让顾客还可以玩。总之大流量袭击是不能完全防止。8. 冗余一种网站一定要有冗余,例如当前是1000人同步访问并发量,一定要让网站负载达到人并发量,要否则一搞活动,网站负载不了那么多人就完了。9. 服务器服务器配备,要用三网卡,一种用于顾客连接,对
10、外访问(要好网卡)。一种用于内网服务器之间访问使用。一种用于ssh管理,这样大量袭击时候咱们还可以操作服务器。每个网卡还要各种IP地址,这样防止某个IP被屏蔽了。国内网络和国外网络经常会有IP不好用状况。硬盘至少要镜像(raid 1),cpu要两路,双电源,总之不要有单点故障。至于肉盾击配备可以低某些,甚至台式机配备都可以,但是网络一定要好,特别是和核心服务器之间网络一定要好。10. 数据库数据库要做主从复制,要有异地备份,nginx服务器要做集群,就是upstream。前台(提供顾客访问页面)和后台(员工管理界面)要用两台不同机器,不要互相影响。别的服务可以使用一台虚拟机完毕。这样可以省钱,
11、邮箱直接买googlegmail公司邮箱就好了,非常好用,最佳没人一种。或者公司内部搭建自己聊天软件(最佳还钱买聊天软件)。11.测试环境测试环境要三套,开发人员电脑上自己环境,要局域网一套测试环境,互联网一套测试环境,生产环境。局域网测试环境一定要稳定,可以买一种机柜等等网络设备放在一起,不要用普通电脑。局域网要有svn或git代码管理工具。充分测试后在上传到生产环境。12. 肉盾击和核心服务器肉盾击和核心服务器之间一定要可以使用ping命令,这样可以看看那个IP地址不能使用了,网络连通性都可以看出来。13. 运维人员至少两个,如果有运维经理一种运维人员就够了。这样所有运维工作必要有操作文档
12、,两个人互相协调工作,不需要倒班,但是24小时待命。网管一种就够了。普通运维部门大概就这样,如果是大网络架构,会有自己数据中心机房届时候在安排人手。14. Linux系统优化和安全要有优化和安全配备,例如说nginx基于cpu优化,每个程序基于cpu和内存限制。所有密码要有3个月就修改一次,特别是域名账号和邮箱密码,域名是最重要也是最脆弱环节。15. 局域网局域网一定要稳定,可以买两条网线,至少10M带宽,还要买一种移动wifi,给员工手机上网。16. 机房如果是大型网络架构,那得有自己核心机房,就不是租用机房了,每个岗位都是若干人构成,涉及运维工程师,数据库管理工程师,网络工程师,安全工程师
13、,存储备份系统工程师,运维经历负责协调各个部门间工作。当前就是一种运维就能完毕所有工作。17. 运维工具运维工具要统一,例如连接数据库使用sqlyog工具,连接服务器使用crt工具,密码管理用keepass,上传服务器代码使用winscp工具,等等。这样运维人员之间工作比较好协调。此外运维一定要有大量时间学习,每天都要上网找新技术,好资料,最佳要懂英文,由于好技术文档都是英文写。这样对运维工作很有协助,并且运维技术实力会有很大进步,为迎接更大需求做准备。18. 灾备预案最后一定要有预案,就是服务器一旦浮现重大问题,就是解决不了了,这个时候就不要去解决这台服务器,使用预案,把启用备用方案,尽快让
14、网站可用。平时多做预案演习,还要多做备份还原操作,由于有备份不可用,这是常用现象。别到核心时刻备份不能用,整个网站就完了。19. 服务器安全要有一整套安全配备,涉及顾客安全,应用安全,系统安全,文献安全等。这样防止服务器被黑客侵入。20. 高并发测试一定要做高并发测试,模仿同步在线顾客人,看服务器负载状况,要有服务器高并发配备,网络方面是机房事情,但是得选取最适当IP地址,最适合机房,及出口带宽。高并发是服务器架构事情,不是单单一台服务器事情。该花钱地方一定要花,可以省钱地方要懂得怎么省钱。21. 运维信息运维所有信息两个人共享,涉及密码和服务器配备环节,由运维经理带领团队,打导致一种互相学习
15、,技术实力雄厚,目的一致和谐团队。让每个人在团队中都得到自己想要。运维经理为人就很重要,要否则留不住人,人们心不往一起使劲。运维工作技术不是最重要,由于这个职位现学现用也来得及,因此工作态度/为人和经验是最重要。22. 服务器日记对服务器建立日记,所有服务器所有操作都要有记录,并且写清时间操作内容。对生产服务器操作之前一定要做风险评估及解决方案。23. 运维工作应用上线后,运维工作才刚开始,详细工作也许涉及:升级版本上线工作、服务监控、应用状态记录、寻常服务状态巡检、突发故障解决、服务寻常变更调节、集群管理、服务性能评估优化、数据库管理优化、随着应用PV增减进行应用架构伸缩、安全、运维开发工作
16、。核心运维管理工具箱重点简介运维流程管理、运维发布变更、运维监控告警三个方面详细工具,可作为工作日记使用。第一类:运维流程管理工具1.发布变更流程管理工具做为系统接口与其她角色工作衔接。并提供审批环节控制发布变更风险。流程管理工具并不负责详细业务操作执行,只是作为单据系统跟踪流程和保证闭环。2.告警和突发管理工具体现业务受损告警自动建单管理。人工确认之后升级为突发单。通过建单管理告警和突发保证流程闭环,以及每次故障都可以总结出经验,并未度量业务可用性提供KPI。第二类:运维发布变更工具1.版本管理工具(数据库)所有发布应当以版本管理为起点。研发给版本包先入版本管理工具,再从版本管理工具分发到现
17、网发布。杜绝 rsync 一台服务器发布此外一台做法。2.配备管理工具(数据库)版本加配备等于现网每台机器状态。最粗粒度配备管理是到 IP 级别,相称于对机器做资产管理,分组到不同业务,模块和大区等业务概念上。细粒度一点会管理到进程以及进程有关配备。3.配备和版本下发工具把指定版本,结合配备好配备下发到现网机器上。不同版本和配备方式需要完全不同下发方式。以 ssh/fabric 为代表下发方式是以脚本为中心。以 puppet/chef 为代表下发方式是以配备为中心。4.现网状态同步工具为了规避现网状态漂移,与管理工具内记录不一致。需要有一种工具定期上报现网实际状况。5.服务调度工具发布变更经常
18、需要一种串行流程,先做A模块,再做B模块。诸多机器时候,需要把能并发操作并发执行,不能并发操作保证串行执行。同步诸多发布变更流程需要操作管理范畴外服务,例如云端DNS服务器记录等。这就需要有一种服务调度工具统一调度配备和版本下发工具,流程单据工具,以及其她系统API接口共同组装成一种流程。6.资源管理和隔离工具以xen/kvm为代表工具让运维可以更灵活切割资源。例如虚拟机迅速起停,ip在idc内漂移等。以 lxc/docker 为代表工具让运维可以进一步切割资源到进程级别。资源隔离代理细粒度资源控制可以获得更好资源运用率,以及更容易进行可伸缩资源配备。7.发布变更统一界面包装所有下层工具,提供
19、简朴界面完毕原则化发布变更操作。第三类:运维监控告警工具1.采集工具普通是采集日记文献,也可以是定期轮询 DB 或者其她系统接口。流行开源方案是 logstash。2.收集工具采集工具上报给收集工具。或者由开发直接修改代码上报指标给收集工具。流程开源方案还是 logstash。3.记录入库工具上报也许是每次调用就上报一次,记录工具负责记录出一分钟内次数。上报也也许是每5秒上报一次数值,记录工具负责记录出一分钟内最大值。记录工具存在是为了上报以便。流行开源方案是 statsd,也有大公司基于 storm 来做二次开发。4.时间序列数据库所有定期指标会落地到数据库里。监控告警所需要数据库需要可以支
20、撑非常大数据量,但是并没有很严格 ACID 规定。5.运维事件数据库记录所有告警。涉及从其她系统获得告警,以及对现网所有变更操作记录。这些数据用于支撑告警因素定位。6.指标异常检测工具基于数学模型发现指标与否与过去稳定模式背离,而推测浮现网状态变化。7.拨测工具定期 PING 或者 HTTP GET,模仿实际顾客发现服务与否中断,产生告警。同步也产生指标上报给收集系统。拨测又分为本地拨测,和远程拨测。本地拨测可以用于发现磁盘只读等本机告警。远程拨测可以模仿顾客地理分布,把网络链路状况也包括在拨测覆盖范畴内。8.告警收敛工具综合所有来源告警,进行频率收敛,根源分析。统一汇总成报告催促人工修复。9
21、.告警自动修复工具接受告警进行自动化解决。帮运维完毕固定故障机下架退库等操作。或者在业务自身没有做高可用状况下,做故障机替代,ip漂移等现网修复操作,一定限度地提高业务可用性。10.告警告知工具重要告警需要升级为电话。需要有高可用电话,短信,微信等告知接口。11.监控告警统一界面屏蔽下层各种工具,提供统一agent安装,指标采集设立,指标曲线展示,告警查询界面。一种地方懂得现网所有问题。先进运维经理能力1、系统架构设计和规划能力。做为一种技术工程师,你关注更多是详细技术和问题分析、故障解决等细节,而做为一名运维经理,则需要你站在全局高度,把控各环节应用来规划和设计系统架构,以实现高效稳定IT系
22、统。2、量化和问题管理能力。熟悉ITIL以及有关运维工具,通过运维管理工具,跟踪事件流程,实现整个IT系统统一与协调;通过运维管理工具,协助运维人员监控和定位问题根源;通过知识库积累可以有效解决人员变更后管理问题。可以说,IT系统不但仅需要人运维,为了发挥IT系统最大作用,运用工具来量化、原则化管理更是有必要。咱们可以运用自动化某些工具来采集输出更为全面监控预警信息,化被动运维为积极运维;通过自动化运维工具把多点管理集中减少到一点都能更好简化运维工作量和提高运维效率。原则流程清晰明确了,这样当问题浮现时,就不会浮现A部门找B部门反馈,B部门又找C部门解决,C也许说是D部门问题,这样导致很简朴问
23、题无法得到及时有效解决,影响不但仅是业务自身,部门之间也会怨声载道。3、管理团队和协调能力。大多数时候,运维人员都在进行着简朴重复工作,且很难得到最后顾客必定。曾有一种词“穷忙族”形容运维工程师,工位上不见人影,一坐下电话不断,是不是你该解决问题均有人来找你。这样场景,人们应当均有体会。原则化流程制定非常重要,不但以便问题梳理并且能让相应问题找到相应人,这对运维是很重要,同步有助于团队协作。作为运维经理还要关怀团队中每一种成员,协调每名工程师工作时间和CASE,合理安排工作任务。此外必定每个工程师付出,对她们先进完毕工作予以积极必定和表扬,这些均有助于凝聚人心和培养团队荣誉感。4、资产管理与审
24、计能力。精确理解公司既有IT资产和设备,对设备进行清查,明确每一种设备损耗和维保信息。当公司需要购买新机时,都会有明确数据来支撑你采购申请。当设备出故障或发生变更时,通过前期数据都可以做到实时掌握第一手精确数据。并且随着公司业务发展,分支机构和员工增多,资产管理与审计都会变得更重要,对IT运维支持意义就更大了。5、组建运维梯队,合理搭配运维资源能力。人员管理问题,在运维当中是比较重要。诸多时候由于运维工作分派不合理,业绩无法精确考核。若将运维人员提成一、二、三线支持,不同运维人员各司其职,就能使有限运维力量得到合理运用,整体工作效率将明显提高;同步也以便对各自工作业绩进行评估。再据此制定相应奖
25、惩办法,或针对不同岗位提供不同服务技能培训,亦能提高员工工作积极性。例如:将所有IT问题统一汇总到技术服务台,对于绝大多数(80%以上)问题,服务台可直接解决;服务台解决不了,再按照问题解决优先级,统一分派不同级运维力量,来保证不同问题解决,同步运维人员也不会错过需要及时解决重大问题。6、技术创新与积累能力。运维经理自身需要有过硬技术能力,需要熟悉各种设备、不同操作系统、各环节应用、数据库、存储、备份与劫难恢复、调优、安全等。但是在详细问题和重大问题解决上,需要听取团队意见,这样方案会因人们补充和建议更加完善。多数时候在详细细节解决上还会有技术创新,同步对人们都是一种学习和积累。对每个解决过重
26、大问题和典型问题编写技术文档,日积月累形成知识库,不但以便自己总结学习也以便技术传承和积累。7、开会与分享能力。开会有时是个较好沟通方式,也许诸多时候你也许比较反感开会。那也许是由于它 形式化、一言堂或跑题、不能解决实际问题。其实开会作用在于:归一化:让人们在项目、任务、工作理解、反馈、描述、执行等层面达到一致性。减少内部沟通成本,提高团队效率。可视化:追求项目可视化是项目管理最高境界。逐级分解下来,就规定各级管理者对项目、任务进度、风险、问题做到一目了然管理。项目管理:通过对团队各维度进行管理、项目管控,人员工作安排,团队学习提高,工作方向调节等等。理念贯彻和方向:贯彻公司文化和团队文化,统一人们思路和模式。传达上面领导批示和布置,同步明确下一步工作重点和方向。详细问题解决:针对疑难点,进行指引或头脑风暴,集思广益群策群力。最后,说一点如何成为先进运维经理。什么是先进运维经理,是不是具备了以上七大能力就是先进呢,诸多人心中或许有不同定义,我以为先进管理者所需要具备一大品质,就是带领自己团队不断进取和拥有永不止步精神。