如何运营服务器,第1张

摘要:服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。服务器上线以后,基本是不间断,724小时运行,否则会影响业务及用户体验。那么如何运营服务器呢?下面来了解服务器运营注意事项吧!一、服务器怎么运营?

检查磁盘使用率,当磁盘使用率超过80%,可以清除一些日志文件;

检查内存使用情况,当内存使用过多时,需要检查是哪个进程占用,是否合理;

检查CPU使用情况,负载大小;当CPU使用过多,负载过大时,需要检查是哪个进程占用,是否合理。

检查服务器网卡接口的数据统计和每秒收发包的个数和流量。

还需要结合服务器的业务,当然,这些可用使用监控软件自动检查,故障报警等,实时掌握服务器的运行情况。

二、服务器运营注意事项

1、提前检查

服务器和网站漏洞检测,对Web漏洞、弱口令、潜在的恶意行为、违法信息等进行定期扫描。

代码的定期检查,安全检查,漏洞检查。

服务器安全加固,安全基线设置,安全基线检查。

数据库执行的命令,添加字段、加索引等,必须是经过测试检查的命令,才能在正式环境运行。

2、数据备份

服务器数据备份,包括网站程序文件备份,数据库文件备份、配置文件备份,如有资源最好每小时备份和异地备份。

建立五重备份机制:常规备份、自动同步、LVM快照、Azure备份、S3备份。

定期检查备份文件是否可用,避免出故障后,备份数据不可用。

重要数据多重加密算法加密处理。

程序文件版本控制,测试,发布,故障回滚。

3、安全监控

nagios监控服务器常规状态CPU负载、内存、磁盘、流量,超过阈值告警。

zabbix或cacti监控服务器常规状态CPU负载、内存、磁盘、流量等状态,可以显示历史曲线,方便排查问题。

监控服务器SSH登录记录、iptables状态、进程状态,有异常记录告警。

监控网站WEB日志(包括nginx日志php日志等),可以采用EKL来收集管理,有异常日志告警。

运维人员都要接收告警邮件和短信,至少所负责的业务告警邮件和短信必须接收,运维经理接收重要业务告警邮件和短信。(除非是专职运维开发)

除服务器内部监控外,最好使用第三方监控,从外部监控业务是否正常(监控URL、端口等),比如:监控宝。

4、故障避免预防

网站WEB增加WAF,避免XSS跨站脚本、SQL注入、网页挂马等漏洞威胁。

程序代码连接数据库、memcache、redis等,可以使用域名(域名HOSTS指定IP),当出问题,有备用的服务器,就可以通过修改DNS或者HOSTS,恢复服务。

建立应急预案机制,定期演练事故场景,估算修复时间。

部署蜜罐系统,防范企业和服务器内网APT攻击。

建立双活集群,包括业务服务的高可用,避免业务服务单点。

服务器集群采用跳板机或堡垒机登录,避免服务器集群每台服务器可以远程连接管理。

操作重要业务升级、迁移、扩容之前,列一下操作步骤,越详细越好,实际操作按步骤操作,操作完做好记录。

5、事中操作

网站WEB增加WAF,发现XSS、SQL注入、网页挂马等攻击,会自动拦截,并记录日志。

检查服务器数据备份是否可用。

在处理需求和故障时,执行风险命令(比如rm、restart、reboot等)需再三确认,执行命令前,检查所在服务器,所在服务器路径,再执行!

不要疲劳驾驶,喝酒不上机,上机不喝酒,尤其别动数据库,避免在不清醒的状态下,在服务器上执行了错误命令,导致数据丢失或业务故障。

在处理事故时,一定要考虑处理措施是否会引发连锁故障,重要操作三思而行。

6、事后检查分析

实现网络安全可视化管理,可以看到每天有那些异常IP和异常URL请求,服务器集群开放端口列表等。能对全网进行安全策略集中管理。统一日志收集和分析。

备份及篡改恢复功能,程序文件、、数据文件、配置文件的备份,故障回滚机制。

对攻击日志进行深度分析,展现攻击路径、攻击源,协助管理员溯源。

践行DevOps的无指责文化,尤其是在做事故分析时。事故分析重在定位原因,制定改进措施。

公司国外机房的服务器在用cacti做设备监控,上面挂着几百台设备并详细的分了组,每个组里面也有几十个设备。前几天新增加了几台服务器。领导希望这几台新加入的服务器在 cacti的tree显示位置要在最前端,本来应该是件挺简单的事情,直接去设置里面改就可以了。但是问题出现了,cacti当前版本没有随意修改设备在tree 里显示位置这个功能,一般新加入的设备都会在tree的最下面。如果要把刚加入的设备放在最顶上就得一下下去点 那个上箭头,设备少了还可以如果多了的话,估计要用一段时间了,何况网速也是个问题

ubuntu默认是不开启snmp服务器的,因此使用cacti是无法抓取到ubuntu服务器的相关信息。为了解决这个问题,我们需要在ubuntu上安装snmp服务。

安装snmp配套的软件:

apt-get install snmpd snmp

修改 /etc/snmp/snmpdconf配置文件:

# secname source community

#com2sec paranoid default public

com2sec readonly default public

#com2sec readwrite default private

设置 syslocation 和 syscontact参数:

syslocation 17smtcom

syscontact Leejd@GridOKcom

上述设置好之后,重启snmpd服务,然后使用:

snmpwalk -v2c -c public localhost

执行,如果正常的输出了结果,那就说明服务已经启动了。但是你在别的机器上进行snmpwalk操作的话,会返回一个超时的提示,需要修改SNMP的网络访问设置,修改 /etc/default/snmpd:

# snmpd options (use syslog, close stdin/out/err)

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpdpid'

移除第二行行尾的127001,允许外部机器访问,重启snmp服务即可:

snmpwalk -v2c -c public 172201249

看到屏幕滚动了吗?看到了就说明你成功了,可以在cacti里面抓到ubuntu的snmp信息了。

Linux下常用的系统监控软件有Nagios、Cacti、Zabbix、Monit等,这些开源的软件,可以帮助我们更好的管理机器,在第一时间内发现,并警告系统维护人员。

今天开始研究下Zabbix,使用Zabbix的目的,是为了能够更好的监控mysql数据库服务器,并且能够生成图形报表,虽然Nagios也能够生成图形报表,但没有Zabbix这么强大。

首先,我们先来介绍下Zabblx:

一Zabbix简介

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix由zabbix server与可选组件zabbix agent两部门组成。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。

zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

zabbix的主要特点:

- 安装与配置简单,学习成本低

- 支持多语言(包括中文)

- 免费开源

- 自动发现服务器与网络设备

- 分布式监视以及WEB集中管理功能

- 可以无agent监视

- 用户安全认证和柔软的授权方式

- 通过WEB界面设置或查看监视结果

- email等通知功能

等等

Zabbix主要功能:

- CPU负荷

- 内存使用

- 磁盘使用

- 网络状况

- 端口监视

- 日志监视

官方也提供了安装资料:http://wwwzabbixcom/wiki/howto/monitor

二Zabbix安装

21 zabbix WEB环境搭建

zabbix的安装需要LAMP或者LNMP环境。

需要其它的软件包

yum install mysql-dev gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xm

22 zabbix 数据库设置

zabbix数据库可以和zabbix服务器分离,采用用专门的mysql服务器存储数据,此时要给zabbix数据库受相应的权限。

grant all privileges on zabbix to zabbix_user@'ip' identified by '123456';

注:ip为zabbix服务器的IP地址。

关于数据库的安装,可以查看Mysql安装,我习惯使用二进制包。

启动数据库

/usr/local/mysql/bin/mysqld_safe --user=mysql &

登录数据库,创建帐号和设置权限:

mysql> use mysql;

mysql>create database zabbix character set utf8;

mysql>grant all privileges on zabbix to zabbix_user@'19216810197' identified by '123456';

23安装zabbix服务

增加zabbix用户和组

#groupadd zabbix

#useradd -g zabbix -m zabbix

官网下载解压软件包。

下载地址:

http://wwwzabbixcom/downloadphp

#wget http://fossiesorg/unix/misc/zabbix-203targz

# tar -zxvf zabbix-203targz

#cd zabbix-2203

导入数据库表

#cd zabbix-203/database/mysql

#mysql -uroot -pmysql zabbix < mysqlsql

#mysql -uroot -pmysql zabbix < imagessql

#mysql -uroot -pmysql zabbix < schemasql

编译安装zabbix

/configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy

编译报错checking for main in -lmysqlclient no

yum 安装mysql-devel即可

#make

#make install

添加服务端口

vim /etc/services

zabbix-agent 10050/tcp # Zabbix Agent

zabbix-agent 10050/udp # Zabbix Agent

zabbix-trapper 10051/tcp # Zabbix Trapper

zabbix-trapper 10051/udp # Zabbix Trapper

添加配置文件

# mkdir -p /etc/zabbix

# cp -r zabbix-2203/conf/ /etc/zabbix/

# chown -R zabbix:zabbix /etc/zabbix

修改server配置文件,添加zabbix数据库密码

vim /etc/zabbix/zabbix_serverconf

LogFile=/tmp/zabbix_serverlog

PidFile=/tmp/zabbix_serverpid

DBName=zabbix

DBUser=zabbix_user

DBPassword=123456 #指定zabbix数据库密码

ListenIP=19216810197 #服务器IP地址

修改Agentd配置文件,更改HOSTNAME为本机的hostname

vim /etc/zabbix/zabbix_agentdconf

PidFile=/tmp/zabbix_agentdpid #进程PID

LogFile=/tmp/zabbix_agentdlog #日志保存位置

EnableRemoteCommands=1 #允许执行远程命令

Server=19216810197 #agent端的ip

Hostname=client1 #必须与zabbix创建的host name相同

如图设置hostname

添加web前段php文件

# cd zabbix-2203/frontends/

# cp -rf php /home/httpd/zabbix #虚拟主机目录

# chown -R zabbix:zabbix zabbix

web前端安装配置

修改PHP相关参数

vim phpini

max_execution_time = 300

max_input_time = 300

memory_limit = 128M

post_max_size = 32M

datetimezone = Asia/Shanghai

mbstringfunc_overload=2

PHP还必须支持一下模块,在php源码包直接编译安装。详细模块需要在安装是会提示。

bcmathso、gettextso

在客户端浏览器上面访问zabbix,开始WEB的前端配置,http://ZabbixIP/zabbix,按提示点击下一步

Step1:下一步。

Step2:如果全部OK的话才能进行下一步的安装,如果有错误请返回到server端检查相关的软件包是否安装。

Step3:需要输入mysql数据库帐号密码,如果数据库不在zabbix服务器上面,在Host里面添加数据库服务器的地址,并且要用grant命令给数据库授权。

Step4:输入服务器端 host name or host IP addres;

最后会自动写入配置文件:zabbixconfphp,配置完成后出现登陆界面,默认的用户名为:admin,密码为:zabbix。

三启动zabbix服务

在zabbix安装目录下面可以直接启动

#/usr/local/zabbix/sbin/zabbix_server start

tcp 0 0 0000:10050 0000: LISTEN 7140/zabbix_agentd

四设置开启自动启动

vim /etc/rcd/rclocal 最后添加下面两行

/usr/local/zabbix/sbin/zabbix_server start

/usr/local/zabbix/sbin/zabbix_agentd start

至此,zabbix server端的安装完毕,我们可以通过浏览器来访问。如图:

接下来会介绍关于客户端监控的使用,以及监控模版的新建,自定义监控服务等。

Linux运维是一个融合多学科的综合性技术岗位,完全精通Linux运维之后可以从事多个岗位的工作,可以满足不同人群的需求,具体岗位如下:

1、Linux运维工程师:主要负责产品运维的工作,具有一定的开发能力,需要深入了解业务内容,能够判断系统架构的优缺点对比,对业务的掌握也决定了运维工程师的未来发展前景。

2、数据库工程师:是一个非常重要的岗位,也是公司非常重视的职位,主要包含数据库内核、云数据库等,长远的发展可以从事技术专家、数据库架构师等职位。

3、Linux研究工程师:该职业是专门研究运维相关通用平台和技术,需要具有一定的产品运维经验和需求,对研发能力要求也是比较高的,长远发展可以从事技术专家方面的工作。

4、Linux运维总监:该岗位属于管理岗位,对于人员要求需要具备丰富的运维经验,同时需要具备协调和推进能力,拥有一定的技术基础。

5、云平台开发:现在大的云平台基本都是基于Linux的KVM的,国内国外很多大公司都在使用Linux,门槛要求很高,需要掌握的知识也有很多。

IT运维部经理岗位职责

 在现在社会,岗位职责起到的作用越来越大,任何岗位职责都是一个责任、权力与义务的综合体,有多大的权力就应该承担多大的责任,有多大的权力和责任应该尽多大的义务,任何割裂开来的'做法都会发生问题。那么制定岗位职责真的很难吗?下面是我整理的IT运维部经理岗位职责,仅供参考,希望能够帮助到大家。

 岗位职责:

 1、运维体系建设,制定IT运维流程和规范,做好运维支撑工作,逐步完善运维自动化;

 2、服务器管理,保障服务器724小时可靠、稳定运行,根据业务需求合理进行服务器资源分配及管理;

 3、应用系统管理,负责公司业务系统的部署及性能调优,负责应用系统的数据备份及恢复工作;

 4、网络管理,负责公司网络架构设计与调整,保障公司业务运行稳定性;

 5、安全管理,负责公司信息安全规划、实施及日常运营管理。

 任职要求:

 1、计算机网络工程相关专业,本科以上相关学历,4年以上同岗位相关工作经验;

 2、精通服务器部署、系统资源调度、网络流量及异常监控、防火墙技术,熟悉基本的安全常识,搭建高效安全的运维架构;

 3、至少熟练使用Shell、Perl、Python等脚本编程语言的一种,熟练使用shell/bash,应用shell解决相关问题;

 4、了解java web语言,熟悉java Web系统的运维工作。熟悉防火墙、路由器、交换机的运行机制和配置,了解TCP/IP协议、熟悉路由、交换的基本原理;

 5、熟练Linux系统的命令和各种应用lvs/nginx/tomcat/LAMP/配置和性能优化。常见IT监控运维产品(如:nagios/cacti/zabbix软件等配置与使用);

 6、熟悉虚拟服务器的配置与优化vmware/kvm/Docker等;熟悉Mysql、Redis、Mongodb等常见存储引擎的安装、配置、调优;

 7、担任过IT运维经理或同等职务,有3年以上IT运维管理经验者优先。

;

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何运营服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情