powertiandi
作者powertiandi2017-04-17 11:07
系统架构师, 李宁(中国)体育用品有限公司

运维自动化之运维十大分享

字数 15402阅读 7146评论 2赞 4

在今天,IT工作者可谓是时代的弄潮儿,走在前沿,引领科技,广大的IT 人,在时代前进的步伐中是绝对的中坚力量,都是企业当中难得的人才。在当今IT快速发展的今天,智能化已不可阻挡之势袭来,自动化已在全方位的展开,广大的IT的专家们在过往的道路上披荆斩棘,勇往直前,在多年的工作当中,在自动化运维方面积累了很多经验,人人都是绝技在身,今天我们就来聊一聊在日常运维工作当中,有哪些好的技能,经验,工具可以值得学习和掌握d在今天,IT工作者可谓是时代的弄潮儿,走在前沿,引领科技,广大的IT 人,在时代前进的步伐中是绝对的中坚力量,都是企业当中难得的人才。在当今IT快速发展的今天,智能化已不可阻挡之势袭来,自动化已在全方位的展开,广大的IT的专家们在过往的道路上披荆斩棘,勇往直前,在多年的工作当中,在自动化运维方面积累了很多经验,人人都是绝技在身,今天我们就来聊一聊在日常运维工作当中,有哪些好的技能,经验,工具可以值得学习和掌握的。

上周社区组织了一场有关自动化运维日常运维工具的活动,广大社区会员积极参与,广泛交流,分享经验。能够让我们在运维方面增长见识和经验。下面我将结合本次活动进行梳理,把这些散落在运维工作当中的珍珠串联起来,希望能给您带来一定帮助。具体内容见下面章节。

分享一: 资产管理

经验分享1:

我们的企业的设备资产由采购部门采购,财路入账,然后由我们维护部门使用,但是在几次大的固定资产盘点中都存在的问题就是财务账和固定资产对不上,原因是设备采购比如三台服务器,我们得到的设备是三台服务器,但是涉及到避税或者一些其他的问题。供应商往往开发票写成5台服务器或者1台服务器,或者抹去了硬盘,内存这些扩展配件的信息。财务上只要金额总数上没错。他们便不会在过问。几次之后。财务账便和固定资产形成了比较大的出入。我们现在也开始根据固定资产的情况开始梳理,分享一些我想到的经验吧

  1. 财务发票尽量要和资产明细完全对应。
  2. 设计,形成一个详细的固定资产报表,每一次设备采购便第一时间进行固定资产报表的更新,核验,
  3. 对设备进行标识,采用不宜脱落的标牌或者标签来标识,如果有条件的。,可以建立固定资产查询库,通过设备标识可以准确查询到固定资产信息,采购时间,折旧年限等信息。
  4. 固定资产一定尽早着手统计,不要等因为机房初建,任务繁重而忽略了这点,否则等所有设备全部上线后,在来统计固定资产就相当繁琐和痛苦了。

经验分享2:

有的公司设备采购后需要财务和运维部门制定资产编号和用途的时候,由于当时设备采购需求不一样,随着后期的使用,设备的用途一再变更,但是财务系统里设备的用途没有变更,久而久之,经过几任管理员以后,设备判断的时候就找不着或者对不上。
还有,比如设备是扩容,但是呢申请的新购,那么新购就会有另一个资产编号,时间长了也会冲突,或者不好找。
这些东西只靠管理员记录不是特别现实,需要定期的更新,往往会花费管理员很多精力,因为更新不是好多是财务方面的事情,所以要有一个完善的机制去指定,但是很多企业不愿意为这点需求去专门开发一个系统或者接口,很多情况下还是维持现状。

经验分享3:

资产管理在运维中,我觉得并不需要高效,而需要准确、明细。现在大部分企业都有自己的OA系统,在OA系统中,应当设计有专门的资产管理流程,这个流程的核心当然是财务部,任何资产的转移、废弃、新增等都应有相应的流程,流程走不完没有关系,年底的时候有详细的记录,财务上先把拖欠的流程结算完再盘点就好了。

经验分享4:

可以将CMDB中的资产设备信息整合到企业ITIL流程管理中去。在日常运维过程中,如有新增设备或者发生变更,可以通过该流程直接与CMDB中的设备配置信息关联。但是,关于CMDB中设备资产的粒度大小,值得进行反复实践和探讨。粒度如果太细,如网线、电缆等信息都记录在CMDB中,可能会导致整个CMDB的设备资产过于庞大,会做很多无用功。但粒度如果太粗,可能无法在资产设备与各个应用系统之间形成有效的关联。

总结:

资产管理在日常运维工作当中是一项比较繁琐的工作,且重复度较高的工作,很多企业在资产管理方面做的还不是很好,有这样或那样的问题。比如,流程制度问题,资产管理产品系统问题,人为的操作更新等问题。面对诸多问题,不是说有一种大一统的方法可以把所有问题都可以解决的,更为实际的是我们需要在其中某个具体比较薄弱的方面或者管理员管理自我方面多付出一些精力,情况就会好转很多。

我们可以借鉴的经验:

  1. 在管理流程制度上,资产盘点方面,财务部门和运维部门的沟通协作方面可以针对情况改善,完善
  2. 摒弃部分低效的资产管理方法,开发或购买一套资产管理产品来提高工作效率
  3. 提高自我责任心,首先把自我一方先做好,也可以在工作当中比较顺手。

分享二: 操作系统部署管理工具

经验分享1:

AIX和Linux 操作系统安装部署:

由于没有实施云环境,下面场景大多还是基于传统基础平台进行的。

AIX 操作系统的安装大多是通过NIM来进行,NIM作为AIX上自带的一个软件,功能强大。在企业有5台以上小机的情况看下就应该考虑搭建一个NIM环境进行统一的网络安装部署设施。

NIM 本身资源不大,配合操作系统镜像和安装初始化需要的设施,如NFS 环境用于存放常用的镜像和初始化软件,有个30G 基本收就可以,当然多多益善,本地盘足矣。做一个mirror或者使用存储的lun均可。
有关nim资源定义使用可以参考我以前的一个帖子:
http://www.aixchina.net/club/thread-115907-1-1.html

搭建nim server 建议使用大于等于企业当中主流版本的稳定版本,不要经常升级,兼容性也会比较好,可以支持个几年没有问题。 一般企业主流操作系统版本的升级大多都需要3年以上。常用的软件可以添加到Nim 安装的初始化资源当中,也可以先简单安装操作系统,使用同一的初始化脚本进行设置。

参考脚本:
http://www.aixchina.net/club/thread-116571-1-1.html

经验分享2:

Linux的安装部署:

由于我们企业大多选择的红帽系列的操作系统,那么我选择了cobbler自动安装操作系统工具,兼容红帽系列比较好,也支持ubuntu等操作系统。
主要关注点:
cobbler 工具简单易用,使用比较方便。

因为个操作系统的环境不一样,可以多做几个模板,磁盘大小和参数设置均可单独设置。
大家可以配合运维管理平台CMDB进行支持管理和操作系统的部署。可以使用python进行再次开发等等。考虑日常运维来说,平时采购硬件和主流版本的操作系统时不要太多版本,给管理带来更多复杂性。很多互联网公司大都都是清一色设备和清一色OS版本,管理相当方便。后续做一个同一管理平台均方便很多。

经验分享3:

针对System系列服务器,我们使用了Lenovo XClarity管理工具。能够实现设备发现、系统安装、硬件监控等功能。同时也支持Vmware、Hyper-V等虚拟化设备的虚拟机安装和管理。

总结:

操作系统的安装部署是运维工作当中必不可少的一项内容,在自动化运维的今天我们有很多好的工具可以借鉴和使用。主要有以下几种产品:

Windows:WDS,SCCM,PXE+kickstart

Linux:cobbler,PXE+kickstart,UNetbootin,AutoYaST

AIX:nim,powervc

除了光盘安装系统,U盘安装主流操作系统都是可以支持的。

分享三: 运维工程中的难点

1.png

1.png

经验分享:

无论是做什么方面运维,DB运维,OS运维,中间件运维也好,责任心是首要,其次是谨慎,第三才是专业与经验。做事没责任心,不够谨慎,那怕技术再好,也潜在隐患,因为,责任心不到位,就不会主动去监控,巡查,修补系统。就不能防患于未然。技术与经验是技术问题,责任心和谨慎是人品问题。如果要选,先重人品,再重技术。

分享四: SSH 登录缓慢

登录很慢,登录上去后速度正常,这种情况主要有三种可能的原因:

1. DNS反向解析的问题

OpenSSH在用户登录的时候会验证IP,它根据用户的IP使用反向DNS找到主机名,

再使用DNS找到IP地址,最后匹配一下登录的IP是否合法。如果客户机的IP没有

域名,或者DNS服务器很慢或不通,那么登录就会很花时间。

解决办法:

只需修改

/etc/ssh/sshd_config,

设置UseDNS为no即可:

sed -i "s/#UseDNS yes/UseDNS no/"  /etc/ssh/sshd_config

2. gssapi的问题

用ssh -v user@server 可以看到登录时有如下信息:

debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information

解决办法:

可以使用ssh

-o GSSAPIAuthentication=no user@server

登录

也可以修改

/etc/ssh/ssh_config,

设置GSSAPIAuthentication no

3. DNS访问设置

查询IBM 官方文档,关于DNS解析的详细说明。 /etc/netsvc.conf 做如下更改:

hosts=local,bind -> hosts=local4,bind4

最后

/init.d/sshd restart

分享五: OS设备识别扫描

AIX

扫描方式:cfgmgr
查看结果:lsdev

Windows

扫描方式:设备管理器的扫描功能

查看结果:设备管理器

Linux

扫描方式:

1、重新扫描LUN设备(脚本)

rescan-scsi-bus.sh 网上有现成脚本

  1. 通过HBA卡扫描底层物理设备
echo 1 > /sys/class/fc_host/host1/issue_lip

echo 1 > /sys/class/fc_host/host2/issue_lip
  1. 通过SCSI扫描SCSI设备
echo "- - -" > /sys/class/scsi_host/host1/scan

echo "- - -" > /sys/class/scsi_host/host2/scan

查看结果:

lsscsi 或fdisk

HP-UNIX:

扫描方式#ioscan

查看结果:

ioscan -fNnkC disk

ioscan -m lun

Solaris:

扫描方式#devfsadm

查看结果:

# format

如果这些方法都不好使用,那么终极大法:重启

分享六: 操作系统常用监控小工具

常用UNIX和Linux 性能监控命:

netstat,vmstat,iostat,ps,sar,nfsstat,lsof

每个操作系统平台独有的性能监控命令或小工具

AIX:

topas,nmon,svmon,entstat,procmon,lsps,filemon,truss,lvmstat,netpmon

Linux:

nmon,top,dstat,ss,iftop,iperf,slabtop,atop,sysdiag,Smem,ethtool

hp-ux:

Glance,Measureware,PerfView,NNM和ITO

solaris:

sysperfstat,prtdevs,mpstat,swapinfo,iotop,iosnoop,nicstat,checkcable,prtdiag,snoop,sarmons

分享七: Linux 安装Oracle RAC Udev 设备绑定

环境:

redhat5.6+multipath

cat /etc/redhat-release

Red Hat Enterprise Linux Server release 5.6 (Tikanga)

cat /etc/udev/rules.d/99-asm.rules

KERNEL=="/dev/mapper/asm_vnx5200_data0[1-5]", OWNER="grid", GROUP="oinstall", MODE="660"

redhat6.5+multipath

cat /etc/redhat-release

CentOS release 6.5 (Final)

cat /etc/udev/rules.d/99-asm.rules

KERNEL=="dm-[2-8]", OWNER="grid", GROUP="oinstall", MODE="660"

由于操作系统版本不同,那么在操作系统上设备识别出来的文件类型也不一样。所以绑定的规则也不一样。

以上设置在生产系统运行一直很稳定。

下面的内容是网上收集而来,可以参考使用:

安装RAC需要绑定磁盘映射,需要获取磁盘WWID来使用UDEV绑定。

scsi_id命令发出一个SCSI INQUIRY指令给设备,访问vital product data (VPD)页0x83的数据,那里包含

设备的WWID和其他的信息,或者页0x80的数据,那里包含单元序列号(unit serial number)。 scsi_id

命令的执行结果(一长串字符)是设备的WWID,当前映射到/dev/sdc(/sys/block/sdc)。每一条到设备的

路径和设备上的每一个分区的WWID都是相同的。设备的WWID不会改变,即使将其他的设备添加到系统或者从

系统中删除。但是,映射到/dev/sdc的设备可能会改变。这就是为什么需要创建一个静态的设备名。可以根

据WWID创建设备名。

一、 如何获取设备WWID

(1) Redhat 5 Enterprise Linux 如下:

/sbin/scsi_id -g -u -s /dev/sdb

   Or

/sbin/scsi_id -g -u -s /block/sdb

Shell脚本

#for i in `cat /proc/partitions | awk {'print $4'} |grep sd`; do echo "### $i: `scsi_id -g -u -s /block/$i`"; done

(2) Redhat 6 Enterprise Linux 如下:

/sbin/scsi_id -g -u /dev/sdb

   Or

/sbin/scsi_id -g -u /block/sdb

   Or

/sbin/scsi_id --whitelist [--replace-whitespace] [ --device=] /dev/sdb

Shell脚本

# for i in `cat /proc/partitions | awk {'print $4'} |grep sd`; do echo "### $i: `scsi_id --whitelist  --replace-whitespace /dev/$i`"; done

二、 写入udev .rules

(1) 对于整个盘的绑定写入 99-oracle-asmdevices.rules (文件名,测试可以随便命令)

RHEL5

for i in b c d e f ;

do

echo "KERNEL==\\"sd*\\", BUS==\\"scsi\\", PROGRAM==\\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\\$name\\", RESULT==\\"`/sbin/scsi_id -g -u -s /dev/sd$i`\\", NAME=\\"asm-disk$i\\", OWNER=\\"grid\\", GROUP=\\"asmadmin\\", MODE=\\"0660\\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules

done

RHEL6

for i in b c d e f ;

do

echo "KERNEL==\\"sd*\\", BUS==\\"scsi\\", PROGRAM==\\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\\$name\\", RESULT==\\"`/sbin/scsi_id  --whitelisted --replace-whitespace --device=/dev/sd$i`\\", NAME=\\"asm-disk$i\\", OWNER=\\"grid\\", GROUP=\\"asmadmin\\", MODE=\\"0660\\""      >>  /etc/udev/rules.d/99-oracle-asmdevices.rules

done

(2) 对于磁盘子分区的绑定

Redhat Enterprise Linux 5 用如下参数

KERNEL=="sd?[1-2]", BUS=="scsi", PROGRAM=="/sbin/scsi_id  -g  -u  -s %p", RESULT=="1ATA_VBOX_HARDDISK_VBaef9fa71-c32978c8", NAME="asm-ocr%n", OWNER="grid", GROUP="asmdba", MODE="0660"

Redhat Enterprise Linux 6 用如下参数

KERNEL=="sd?[1-2]", BUS=="scsi", PROGRAM=="/sbin/scsi_id  -g  -u /dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VBaef9fa71-c32978c8", NAME="asm-ocr%n", OWNER="grid", GROUP="asmdba", MODE="0660"

Or

KERNEL=="sdb1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent" RESULT=="1ATA_VBOX_HARDDISK_VB8383313d-441fd502", NAME="asm-crs1",  OWNER="grid", GROUP="asmadmin", MODE="0660"

(3) 只改权限

[root@rac01 oracle]# cat /etc/udev/rules.d/99-asm-multipath.rules

PROGRAM="/bin/chown oracle:oinstall /dev/mapper/back_mpath1p1"

PROGRAM="/bin/chown oracle:oinstall /dev/mapper/back_mpath2p1"

PROGRAM="/bin/chown oracle:oinstall /dev/mapper/data_mpath1p1"

PROGRAM="/bin/chown oracle:oinstall /dev/mapper/data_mpath2p1"

分享八: Linux多路径软件Multipath的使用

随着X86 环境的普及化,Linux 的市场占有率也越来越高,为了方便后续的设备管理我们和Linux 自带多路径软件的成熟化,我们在日常的设备多路径软件选择方面经常会首先考虑使用DM 软件。下面内容主要结合multipath在日常使用过程所用到的方方面面。

linux一个lsscsi的软件,对于日常设备的查看比较方便,推荐大家使用。

multipath 安装配置:

[root@power yum.repos.d]# rpm -qa|grep device-mapper

device-mapper-persistent-data-0.2.8-2.el6.x86_64

device-mapper-libs-1.02.79-8.el6.x86_64

device-mapper-event-libs-1.02.79-8.el6.x86_64

device-mapper-event-1.02.79-8.el6.x86_64

device-mapper-1.02.79-8.el6.x86_64

[root@power yum.repos.d]# yum install device-mapper-multipath.x86_64

[root@power yum.repos.d]# modprobe dm-multipath

[root@power yum.repos.d]# modprobe dm-round-robin

[root@power yum.repos.d]# service multipathd start

Starting multipathd daemon:                                [  OK  ]

[root@power etc]# multipath -ll

Jan 13 15:22:46 | /etc/multipath.conf does not exist, blacklisting all devices.

Jan 13 15:22:46 | A sample multipath.conf file is located at

Jan 13 15:22:46 | /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf

Jan 13 15:22:46 | You can run /sbin/mpathconf to create or modify /etc/multipath.conf

[root@power etc]# cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/multipath.conf

[root@power etc]# cat /etc/multipath.conf

blacklist {

        devnode "^sda"

        }

defaults {

        user_friendly_names yes

        path_grouping_policy multibus

        failback immediate

        no_path_retry fail

        }

multipaths {

     multipath {

     wwid 36005076307ffc0da0000000000001704

     alias ibm_ds8100_1704

     }

     multipath {

     wwid 3600601600e003e001b30c4d2f8a9e511

     alias ibm_ds8100_1705

     }

}

常用multipath 命令:

     multipath

     modprobe dm-multipath

     service multipathd reload (start,stop,restart)

     multipath -v2

     multipath -v3      格式化路径 -v3 更详细

     multipath -F      

     multipath -ll

     multipathd -k  (help)

注意事项:由于配置multipath 后,在新添加的本地磁盘或存储阵列的lun时,需要考虑blacklist的和LVM配置文件对

磁盘的过滤问题,不正确的参数可能导致主机无非正常识别和使用新添加的磁盘,需要视情况修改。

两个选项:

file:/etc/lvm/lvm.conf

filter = [ "a/.*/" ]

file:/etc/multipath.conf

blacklist {

        devnode "^sda"

        }

1、通过apache ANT工具,实现一台服务器(类似堡垒机)控制多台服务器应用的启停操作;

2、集群服务器之间相互配置互信;

3、使用rsync命令同步集群内的程序包;

4、统一管理应用的启停操作。

当然也可以搭建jenkins实现自动化部署

分享九: Power HA 日常管理

PowerHA 5和6 日常管理监控

1.编辑/etc/profile 添加如下环境变量

  export PATH=/usr/es/sbin/cluster/utilities:/usr/es/sbin/cluster

2.查看集群进程状态

clshowsrv -v

3.查看资源组clshowres

clshowres

4.查看集群节点信息

cllsnode

5.使用clstat 查看机器状态(需要编辑/etc/snmpdv3.conf)

VACM_GROUP group1 SNMPv1  public  -

VACM_VIEW defaultView       internet                   - included -

VACM_VIEW defaultView        1.3.6.1.4.1.2.2.1.1.1.0    - included -

VACM_VIEW defaultView        1.3.6.1.4.1.2.6.191.1.6    - included -  

exclude snmpv3 related MIBs from the default view

VACM_VIEW defaultView        snmpModules                - excluded -

VACM_VIEW defaultView        1.3.6.1.6.3.1.1.4          - included -

VACM_VIEW defaultView        1.3.6.1.6.3.1.1.5          - included -

VACM_VIEW defaultView        1.3.6.1.4.1.2.3.1.2.1.5    - included -         添加此行  

exclude aixmibd managed MIBs from the default view

VACM_VIEW defaultView        1.3.6.1.4.1.2.6.191        - excluded -

VACM_ACCESS  group1 - - noAuthNoPriv SNMPv1  defaultView - defaultView -

NOTIFY notify1 traptag trap -

TARGET_ADDRESS Target1 UDP 127.0.0.1       traptag trapparms1 - - -

TARGET_PARAMETERS trapparms1 SNMPv1  SNMPv1  public  noAuthNoPriv -

COMMUNITY public    public     noAuthNoPriv 0.0.0.0     0.0.0.0         -

DEFAULT_SECURITY no-access - -

logging         file=/usr/tmp/snmpdv3.log       enabled

logging         size=100000                     level=0

smux            1.3.6.1.4.1.2.3.1.2.1.2         gated_password  # gated

smux     1.3.6.1.4.1.2.3.1.2.1.5      clsmuxpd_password                        在此删除注释部分# HACMP/ES for AIX clsmuxpd

VACM_GROUP director_group SNMPv2c public -

VACM_ACCESS director_group - - noAuthNoPriv SNMPv2c defaultView - defaultView -

编辑完成后

stopsrc -s snmpd;startsrc -s snmpd

重新启动snmpd服务

6 心跳盘配置测试

/usr/sbin/rsct/bin/dhb_read

node1:# /usr/sbin/rsct/bin/dhb_read -p hdisk8 -r

DHB CLASSIC MODE

First node byte offset: 61440

Second node byte offset: 62976

Handshaking byte offset: 65024

       Test byte offset: 64512

Receive Mode:

Waiting for response . . .

Magic number = 0x87654321

Magic number = 0x87654321

Magic number = 0x87654321

Magic number = 0x87654321

Magic number = 0x87654321

Magic number = 0x87654321

Magic number = 0x87654321

Magic number = 0x87654321

Link operating normally

node2:# /usr/sbin/rsct/bin/dhb_read -p hdisk8 -t

DHB CLASSIC MODE

First node byte offset: 61440

Second node byte offset: 62976

Handshaking byte offset: 65024

       Test byte offset: 64512

Transmit Mode:

Magic number = 0x87654321

Detected remote utility in receive mode.  Waiting for response . . .

Magic number = 0x87654321

Magic number = 0x87654321

Link operating normally

PowerHA7 日常管理监控:

查看进程命令:

clshowsrv -a

clcheck_server cthags;echo $?  返回值为1 代表集群是up

lssrc -g cluster

lssrc -ls clstrmgrES|grep state

lssrc -a|egrep "Sub|psv|gsc|cth"

lssrc -g rsct

lssrc -ls gsclvmd

lssrc -g rsct_rm

clshowsrv -v

常用命令:

clRGinfo

cltopinfo

lscluster

clstat (clinfoES 服务要启动和snmpdv3.conf)

cldump

cldisp

通过命令直接查的系统内的repository disk

/usr/lib/cluster/clras lsrepos

并且查看repository disk所对应的存储UUID

/usr/lib/cluster/clras sfwinfo -d hdisk2

我们看看,repository disk中所谓的包含存储着所有集群拓扑相关的信息,到底是什么信息

/usr/lib/cluster/clras dumprepos

HACMP的脚本启停以及切换

停ha,不迁移资源组

/usr/es/sbin/cluster/cspoc/fix_args nop cl_clstop '-N' -cspoc-n 'ylqzjk1'  '-g'

起ha

/usr/es/sbin/cluster/cspoc/fix_args nop cl_rc.cluster '-N' -cspoc-n 'ylqzjk1' '-A' '-b' '-i'  '-C interactive'

迁移资源组

/usr/es/sbin/cluster/utilities/clRGmove -s 'false'  -m -i -g 'ylqzjk_rg' -n 'ylqzjk1'

停并且迁移资源组

/usr/es/sbin/cluster/cspoc/fix_args nop cl_clstop '-N' -cspoc-n 'ylqzjk1'  ‘-gr'

分享十 运维工具箱

经验1 ---Python fabric的使用

!/usr/bin/python
from fabric.api import *
from fabric.colors import *
env.shell="/bin/sh -c"  
env.roledefs={
'was100':['10.1.9.169','10.1.9.170'],
}
env.user='username'
env.password='password'
errinfo='err.info'
get_info=open( errinfo, 'w')
get_info.truncate()
get_info.close()
get_info=open( errinfo, 'a')
def exec_file(shell_file):
    shell=""
    try:
        fd=open(shell_file,"r")
        shell=fd.read()
    except:
        print "can't open file"
        exit()
    fs=run(shell)
    if fs.strip()!='':
        get_info.write(env.host+' the system error report : \\\\n ' + fs + '\\\\n' )
        get_info.flush()
    else:
        pass
cmd_fd='script/exe_cmd.sh'
@roles('was100')
def deploy():
    exec_file(cmd_fd)
[root@monitor script]# cat exe_cmd.sh

errpt -dH

经验2---日志管理工具

日志管理工具有 Splunk、Sumo Logic、LogStash、GrayLog、Loggly 和 PaperTrails ,
传统的使用scp 或 rsync命名推送到日志服务器,
可以考虑使用ELK架构模式进行代码采集

经验3 ---Oracle 监控工具

Oracle 监控 首推 em,gridcontrol,zabbix

经验4---自主研究监控工具参考:

可以参考:TriAquae,ZABBIX

有几个比较好的思路:
中小规模的监控,基本上靠一台服务器硬件和规模均可搞定
大中等规模的监控,就要考虑一下监控拓扑,硬件配备,是否需要使用代理,推荐使用节点定时发送信息push模式进行数据收集,监控数据库应该多多考虑数据存放和数据增长。
具体的场景,尤其是比如说ping或者telnet如何定时的去触发,使用什么方式,等等都需要去好好考虑一下。

经验5 ---PowerVM和VMWARE 日常运维工具

vmware 日常管理工具,除了vcenter外,还可以ESXTOP 命令行工具,对日常的性能监控和定位有很大帮助。

还可以结合powercli 进行虚拟机的批量创建等工作。

vmware的备份可以考虑vdp,nbu,tsm等

PowerVM 日常管理工具:

PowerVC是个不错的东东。以前使用director 进行结合vmcontrol 等模块,director 这个产品就是个鸡肋,做了这么多年,也没做好。

经验6---业务系统监控工具

OneApm,监控宝,原先CA 产品系列Wily 这些产品大多都可以做到应用或者java 类方面的监控。

经验7---FTP上传和下载脚本

下载脚本

ftp -v -n *.*.*.*</soft/xt/tar.log
ftp -v -n *。*。*。* << EOF
user pys 12345678
binary
hash
cd /10.10.8.71
lcd /soft/xt/
prompt
mput *ftp.tar
bye
EOF >/soft/xt/ftp.l

经验8 --- db2数据库跟踪死锁事件

创建死锁事件监控
1、java文件存放位置

/usr/IBM/db2/V9.7/samples/java/jdbc

2、java执行程序路径

/home/db2inst/sqllib/java/jdk64/bin

3、将下面两个文件拷贝到/home/db2inst/shell/db2check目录下

cp db2evmonfmt.java  /home/db2inst/shell/db2check
cp DB2EvmonLocking.xsl  /home/db2inst/shell/db2check

4、配置path变量

export PATH=/home/db2inst/sqllib/java/jdk64/bin:$PATH

5、编译java文件
javac db2evmonfmt.java
6、配置db cfg

db2 "CREATE EVENT MONITOR LOCKEVMON FOR LOCKING WRITE TO UNFORMATTED EVENT TABLE (TABLE LOCKEVMON)"

/修改配置参数

db2 update db cfg for sample using MON_LOCKWAIT hist_and_values MON_DEADLOCK hist_and_values MON_LOCKTIMEOUT hist_and_values 

7、启动监控

db2 set eventmonitor LOCKEVMON state=1

停止监控

db2 set eventmonitor LOCKEVMON state=0

8、执行查看结果

java db2evmonfmt -d 数据库名-ue 用户.LOCKEVMON -ftext-u 用户名-p 密码 > deadlock.txt

9、查看结果

More  deadlock.txt

总结:

面对运维,你掌握的技能越多,工作起来就会越得心应手,让我们多多交流,相互学习,这里总有一款适合你。

再次感谢各位积极参与!!!

活动地址:运维自动化之运维工具与技能交流

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

4

添加新评论2 条评论

powertiandipowertiandi系统架构师, 李宁(中国)体育用品有限公司
2017-04-17 22:28
BCH是IBM的刀片,可以考虑一下IBM的ITM的配合监控,兼容性比较好。

@powertiandi 欢迎大家测试,直接百度搜索下载即可使用,有其他需求,或者问题的可联系在线客服! 简单易用,直接下一步就安装完成。 TopMaaS(顶云运维)平台主要专注于对X86服务器、存储、磁带库、网络设备、UPS、精密空调、打印机、复印机、投影仪、大屏幕显示屏等硬件设备的物理状态实时监测管理。如:监测X86服务器的处理器、内存、RAID卡、硬盘、网卡、风扇、电源等每个部件的工作状态;监测存储设备的端口、硬盘、Cache模块、电池、电源等部件工作状态;监测打印机、复印件是否缺墨、缺纸;监测投影仪灯泡剩余使用时间等。

2018-03-23 15:29
gzlgzl系统工程师, 迈内多
2017-04-17 16:09
您好,目前我们试了LIM和Xclarity还有一个其他厂商提供的监控软件,均不能对BCH刀片监控提供很好的支持。客户场景对BCH的监控需求较大,另外对微码的版本管理非常重视,请问有什么推荐吗?
Ctrl+Enter 发表

本文隶属于专栏

活动总结
活动总结是社区交流活动内容的总结及延伸,为大家提供了社区专家们丰富且高水平的理论知识、实践经验以及常见问题的最佳解决方法,非常值得大家收藏学习。

作者其他文章

相关文章

相关问题

相关资料

X社区推广