1. 什么是运维?
运维(Operation and maintenance)一般是指对大型组织已经建立好的网络软硬件的维护,其中传统的运维是指信息技术运维(IT运维)。
2. 工作范畴
IT运维是IT管理的核心和重点部分,也是内容最多、最繁杂的部分,该过程主要用于IT部门内部日常运营管理,其涉及的对象分成两大部分,即IT业务系统和运维人员;
业务运维:是业务需求和用户体验的核心和重点部分,更是需要对内容繁杂、持续变化、支持不同的业务需求,加以描述、加载和维护的过程,其涉及的对象包括2类人员,一类是提供业务支持的技术人员,另一类是整个组织的管理层和业务骨干,随着业务运维环境和工具的能力提升,功能完善、体验优化,技术人员将逐步退出这个领域;
日常管理运维:则是对IT运维和业务运维需求、过程、结果的管控,以及对整个管理信息系统运行状态的管控,从而实现针对应用变化的记录和跟踪、针对地域不同的变更和跟踪、预测环境和应用的风险和防范管理等等,其涉及的对象主要是运维管理部门的管理人员和参与人员。
3、工作分类:
1)IT运维
IT运维是IT管理的核心和重点部分,也是内容最多、最繁杂的部分,常见的IT运维:硬件化的蚁巡运维平台,软件形态的的HP Operations Orchestration、IBM tivoli等还有开源的软件Nagios等。相对来说蚁巡运维平台最为简单易用,功能强大还要看Hp和IBM的。该阶段主要用于IT部门内部日常运营管理,涉及的对象分成两大部分,即IT业务系统和运维人员,该阶段的管理内容又可细分为六个子系统:
设备管理:对网络设备、服务器设备、操作系统运行状况进行监控。
应用/服务管理:对各种应用支持软件如数据库、中间件、群件以及各种通用或特定服务的监控管理,如邮件系统、DNS、Web等的监控与管理。
数据/存储/容灾管理:对系统和业务数据进行统一存储、备份和恢复。
目录/内容管理:该部分主要对于企业需要统一发布或因人定制的内容管理和对公共信息的管理。
资源资产管理:管理企业中各IT系统的资源资产情况,这些资源资产可以是物理存在的,也可以是逻辑存在的,并能够与企业的财务部门进行数据交互。
信息安全管理:该部分包含了许多方面的内容,目前信息安全管理主要依据的国际标准是ISO17799,该标准涵盖了信息安全管理的十大控制方面,36个控制目标和127种控制方式,如企业安全组织方式、资产分类与控制、人员安全、物理与环境安全、通信与运营安全、访问控制、业务连续性管理等。
4. 运维工具
(1)zabbix 平台(地址:http://mon.eunke.com/zabbix/)
zabbix总体架构图如下:
重要组件说明:
1)zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行;
2)database storage:专用于存储所有配置信息,以及由zabbix收集的数据;
3)web interface:zabbix的GUI接口;
4)proxy:可选组件,常用于监控节点很多的分布式环境中,代理server收集部分数据转发到server,可以减轻server的压力;
5)agent:部署在被监控的主机上,负责收集主机本地数据如磁盘空间、cpu、内存、数据库等数据发往server端或proxy端;
另外,zabbix server、proxy、agent都有自己的配置文件以及log文件,重要的参数需要在这里配置。
一个监控系统运行的大概的流程是这样的:
agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。
这里agentd收集数据分为主动和被动两种模式:
主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
被动:server向agent请求获取监控项的数据,agent返回数据。
监控画面截图:
(2)可以配置告警信息发送邮件、短信、微信等, 如下配置:
微信告警的配置参考地址: https://blog.csdn.net/qq_31613055/article/details/78831607
微信收到的告警信息如下:
5. Nginx 配置讲解
5.1 Nginx用途
(1)HTTP静态服务器: 存储图片,文件等静态资源。
(2)负载均衡: 当一台web服务器不够用时,需要添置一台web服务器,这时候就需要nginx来做负载均衡,把浏览器的访问量以特定的规则分发到两台web服务器上。
(3)虚拟主机: 当一台部署单个应用的web服务器资源过剩时,可以在该服务器上部署多个应用, 用nginx来做反向代理,把访问服务器的http请求正确的给到其中的某一个应用。 (一台服务器上有多个带域名的应用,多个域名解析同一个IP地址,但是端口号 不同)
(4)反向代理: 正常套路->客户端直接访问服务器。反向代理是客户端请求nginx,nginx 请求服务器,然后返回数据给客户端。
5.2 负载均衡策略:
(1)轮询(默认):方式进行负载,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。虽然这种方式简便、成本低廉。但缺点是:可靠性低和负载分配不均衡。适用于图片服务器集群和纯静态页面服务器集群。
(2)weight(权重) :指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。如下所示,10.0.0.88的访问比率要比10.0.0.77的访问比率高一倍。
upstream linuxidc{ server 10.0.0.77 weight=5; server 10.0.0.88 weight=10; }
(3)ip_hash(访问ip) 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
upstream favresin{ ip_hash; server 10.0.0.10:8080; server 10.0.0.11:8080; }
(4)fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。与weight分配策略类似。
upstream favresin{ server 10.0.0.10:8080; server 10.0.0.11:8080; fair; }
(5)url_hash(第三方) 按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
注意:在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法。
upstream resinserver{ server 10.0.0.10:7777; server 10.0.0.11:8888; hash $request_uri; hash_method crc32; }
upstream还可以为每个设备设置状态值,这些状态值的含义分别如下:
down 表示单前的server暂时不参与负载.
weight 默认为1.weight越大,负载的权重就越大。
max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误.
fail_timeout : max_fails次失败后,暂停的时间。
backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
upstream bakend{ ip_hash; server 10.0.0.11:9090 down; server 10.0.0.11:8080 weight=2; server 10.0.0.11:6060; server 10.0.0.11:7070 backup; }
5. 常用的运维脚本
#测试一个URL是否可用 curl -i http://www.yourURL.com #磁盘空间使用情况查询 df -h #查找磁盘空间中文件大小大于800M的文件 find . -type f -size +800M #查看根目录下每个文件夹的大小 du -sh * #根据文件内容查询文件名 find -type f -name '*.php'|xargs grep 'GroupRecord' #在当前路径下搜索含有hello字符串的文件: grep -nr "hello" #查看所有的用户 cat /etc/passwd #修改用户密码 passwd username
#SCP远程拷贝 scp local_file remote_username@remote_ip:remote_folder #创建新用户 -- 创建用户zengyi useradd -d /data/zengyi -u 4119 -g ops -m zengyi -- 修改密码 passwd zengyi -- 设置密码过期时间为90天 chage -d 0 -m 0 -M 90 -W 15 zengyi -- 增加ssh权限 vim /etc/ssh/sshd_config 在AllowUsers后增加zengyi -- 重新启动sshd服务 service sshd restart
#打印匹配行的前后100行
grep -100 'operation while connected to 10.142.11.126:11211' catalina.out