有赞读后感

一个成熟的运维团队,流程化、平台化是必不可少的。需要根据相应的流程去准备相应的平台,才能让一个团队的工作效率大大的提升。

对于运维来说,我们更多关注的是线上服务器的运行状态,线上服务的运行状态,发布上线的快速化、简单化,能够更高效率的解决开发或者测试在环境问题中遇到的瓶颈。

对于现在的我们需要做的,监控的完善,自动化平台的完善,虚拟化(docker)的完善,自动化平台对接监控+虚拟化。

现在的我们,流程化的东西正在逐渐的完善,平台化的东西我们也已经开始在做,尤其是我们第一版的自动化发布平台已经正式上线,这也就意味着我们已经成功了一多半,我们离一个成熟的团队也越来越近。

tomcat重启脚本

#!/bin/bash
RED=’\E[1;31m’
GRN=’\E[1;32m’
RES=’\E[0m’
tomcat_name=”tomcat-guanli”
tomcat_log=”/project/opt/${tomcat_name}/logs/catalina.out”
tomcat_start=”/project/opt/${tomcat_name}/bin/startup.sh”
tomcat_pid=`ps aux | grep ${tomcat_name} | grep -v grep | awk ‘{print $2}’`
if [ ! ${tomcat_pid} ];then
echo -e “${RED}tomcat not start…${RES}”
echo -e “${RED}please start tomcat…${RES}”
echo -e “${GRN}start ${tomcat_name}now…${RES}”
sleep 1
sh $tomcat_start ; tail -f $tomcat_log
else
echo -e “${GRN}tomcat pid is ${tomcat_pid} ${RES}”
echo -e “${RED}kill ${tomcat_name}…${RES}”
kill -9 $tomcat_pid
sleep 1
echo -e “${GRN}start ${tomcat_name}…${RES}”
sh $tomcat_start ;tail -f $tomcat_log
fi

mysql5.6自动化安装脚本

大家在使用的时候需要根据实际情况来调整路径变量

#!/bin/bash

#制作人:张阳
#时间:2016/2/25 14:25

#定义颜色变量
RED_COLOR=’\E[1;31m’ #红
GREEN_COLOR=’\E[1;32m’ #绿
YELOW_COLOR=’\E[1;33m’ #黄
BLUE_COLOR=’\E[1;34m’ #蓝
PINK=’\E[1;35m’ #粉红
RES=’\E[0m’

#定义脚本内部变量
SOFT_DIR=/soft
MYSQL_NAME=”mysql-5.6.29.tar.gz”
USER=`cat /etc/passwd | grep ^mysql | wc -l`
MYSQL_INSTALL_DIR=/usr/local/mysql
MY_CNF=`ls /etc/my.cnf |wc -l`
SRC=”/usr/src”

check_environment(){
yum install make gcc-c++ cmake bison-devel ncurses-devel -y

}

check_install(){
if [ -d $SOFT_DIR ];then
cd $SOFT_DIR
if [ -f $MYSQL_NAME ];then
tar xf $MYSQL_NAME -C $SRC
cd $SRC/mysql-5.6.29
cmake \
-DCMAKE_INSTALL_PREFIX=$MYSQL_INSTALL_DIR \
-DMYSQL_DATADIR=$MYSQL_INSTALL_DIR/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
if [ $? -eq 0 ];then
make
if [ $? -eq 0 ];then
make install
if [ $? -eq 0 ];then
echo -e “$GREEN_COLOR 软件已安装完成 $RES”

else
echo -e “$RED_COLOR make install error $RES”
exit 1
fi
else
echo -e “$RED_COLOR make error $RES”
exit 1
fi
else
echo -e “$RED_COLOR configure error $RES”
exit 1
fi
else
echo -e “$RED_COLOR 没有文件,请检查文件或文件名是否正确 $RES”
exit 1
fi
else
echo -e “$RED_COLOR 没有目录 $RES”
exit 1
fi
}

check_user(){
if [ $USER -eq 1 ];then
useradd -g mysql -s /sbin/nologin mysql
else
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
fi
}

check_perm(){
chown -R mysql.mysql $MYSQL_INSTALL_DIR
}

mysql_configure(){
cd $MYSQL_INSTALL_DIR
scripts/mysql_install_db –basedir=$MYSQL_INSTALL_DIR –datadir=$MYSQL_INSTALL_DIR/data –user=mysql
}

mysql_init(){
cp $MYSQL_INSTALL_DIR/support-files/mysql.server /etc/init.d/mysql
if [ $MY_CNF -eq 0 ];then
cp $MYSQL_INSTALL_DIR/my.cnf /etc/my.cnf
else
rm -rf /etc/my.cnf
cp $MYSQL_INSTALL_DIR/my.cnf /etc/my.cnf
fi
chkconfig mysql on
/etc/init.d/mysql start
if [ $? -eq 0 ];then
echo -e “$GREEN_COLOR mysql安装完成 $RES”
else
echo -e “$RED_COLOR mysql 安装失败,请检查原因 $RES”
fi
}

check_path(){
cat >>/etc/profile <<EOF
export PATH=/usr/local/mysql/bin:$PATH
export PATH=/usr/local/mysql/sbin:$PATH
EOF
sleep 1
source /etc/profile
}

main(){
check_environment
check_install
check_user
check_perm
mysql_configure
mysql_init
check_path
}

echo -ne “$GREEN_COLOR 在安装之前确认是否有${SOFT_DIR}这个目录,是否开始安装:Y/N $RES”

read A

case $A in
Y)
main;;
N)
echo -e “$RED_COLOR 退出安装 $RES”
break;;
*)
echo -e “$RED_COLOR 非法输入,请输入大写的Y/N $RES”
break
esac

读<京东PE谈如何颠覆应用运维认知>读后感

看完此文章的第一感觉首先是感觉眼界得到了开阔,了解到的作为一个运维现在以及以后的一个发展方向,以及运维这个职业的成长史(传统运维,自动化运维,智能运维),还让我明白了,运维不只是把技术做好了就行,我们需要做的东西还很多,我们需要学习的东西也很多。

再来回想,首先是我刚入职公司的时候,那会儿就是一个典型的人肉运维,手动的发布代码,被动的解决问题,每次上线都伴随的很大的风险,没有一些流程化的规则,监控没有一套合理的环境,监控规则没有标准化,而且没有app的监控,只有机器的硬件信息监控…

再说现在,我们现在正处于一种高速发展的阶段,而我们的运维小组也在尽快的成长,而且我们现在也有了目标,第一就是我们的自动化平台(ansible),虽然说我们现在的自动化还很薄弱,但是我们会坚定不移的一步步的把我们的自动化做好。第二就是我们的监控,我们现在有了cat,我们的zabbix也在熟悉了解中,而且还有阿里的监控,能做到及时的报警。对于我来说,这是一个机遇,也是一个挑战自我的机会。

最后说一下看了这边文章的自我检讨:

  • 我们的自动化还处于很薄弱的状态,现在我们只是以快速上线为目的进行部署
  • 我们的监控也很薄弱,我们需要监控的东西也是很多的,而我们现在基础的监控都不全
    1. 基础的监控
    2. 应用性能监控
  • 我们是接受故障了,但是没有好好的总结过故障,以及更深入的研究。
  • 我们的风险控制意识不足。