HELL编程-shell编程实战
监控思路、架构介绍
十载的冷水江网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整冷水江建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“冷水江网站设计”,“冷水江网站推广”以来,每个客户项目都认真落实执行。
需求: 使用shell定制各种个性化告警工具,但需要统一化管理、规范化管理。
思路:指定一个脚本包,包含主程序、子程序、配置文件、邮件引擎、输出日志等。
主程序:作为整个脚本的入口,是整个系统的命脉。
配置文件:是一个控制中心,用它来开关各个子程序,指定各个相关联的日志文件。
子程序:这个才是真正的监控脚本,用来监控各个指标。
邮件引擎:是由一个php程序来实现,它可以定义发邮件的服务器、发邮件人以及收邮件人。
输出日志:整个监控系统要有日志输出。
要求:我们的机器角色多种多样,但是所有机器上都要部署同样的监控系统,也就说所有机器不管什么角色,整个程序框架都是一致的,不同的地方在于根据不同的角色,定制不同的配置文件。
程序架构:
(主目录 mon)
____________________|_______________________________
| | | | |
bin conf shares mail log
| | | | |
[main.sh] [ mon.conf] [load.sh 502.sh] [mail.php mail.sh] [ mon.log err.log ]
bin下是主程序
conf下是配置文件
shares下是各个监控脚本
mail下是邮件引擎
log下是日志。
监控系统主脚本讲解
cd /usr/local/sbin/
mkdir mon
cd mon/
mkdir bin conf mail shares log
ls -l
http://www.apelearn.com/bbs/forum.php?mod=viewthread&tid=8106&highlight=shell%B1%E0%B3%CC
脚本代码论坛
vi main.sh
vi ../conf/mon.conf
监控子脚本load.sh/502.sh讲解
vi ../shares/load.sh
vi ../shares/502.sh
邮件脚本讲解
vi ../mail/mail.php
vi ../mail/mail.php
监控系统整体回顾
crontab -e
cd /usr/local/sbin/mon/bin; /bin/bash main.sh
cat main.sh
1.7 自动登录expect脚本
代码 配置 ··来源论坛
http://www.apelearn.com/bbs/forum.php?mod=viewthread&tid=8113&highlight=shell
yum install -y expect
chmod +x 1.expect
vim 1.expect
./1.expect
自动登陆后执行命令
vim 2.expect
./2.expect
expect脚本传递参数
vim 3.expect
./3.expect
./3.expect root 192.168.1.208 "ls /tmp/12.txe"
./3.expect root 192.168.1.208 "w"
自动同步文件脚本
yum install -y rsync 客户端安装
vim 4.expect
chmod a+x 4.expect
./4.expect
指定ip和指定文件同步脚本
vim 5.expect
chmod a+x 5.expect
./5.expect 192.168.1.208 /tmp/12.txt
2.2 构建简易文件分发系统
. 需求背景
对于大公司而言,肯定时不时会有网站或者配置文件更新,而且使用的机器肯定也是好多台,少则几台,多则几十甚至上百台。所以,自动同步文件是至关重要的。
2. 实现思路
首先要有一台模板机器,把要分发的文件准备好,然后只要使用expect脚本批量把需要同步的文件分发到目标机器即可。
3. 核心命令
rsync -av --files-from=list.txt / root@host:/
vim 6.expect
chmod a+x 6.expect
命令批量执行脚本
vim exe.expect
vim exe.sh
chmod a+x exe.expect
2.4 lanmp脚本思路
http://www.apelearn.com/bbs/forum.php?mod=viewthread&tid=8119&highlight=shell%B1%E0%B3%CC
centos6 ,不区分32位,64位, 要求机器可以上外网。 支持lamp 和 lnmp, MySQL支持5.1和5.6两个版本,php支持5.3和5.6两个版本,apache2.2,nginx1.8.
脚本局部解析-安装mysql
脚本局部解析-安装mysql
脚本局部解析-安装mysql和httpd
脚本局部解析-安装php
脚本局部解析-安装nginx
2.9 脚本局部解析-安装php-fpm
3.0 执行脚本安装lamp
3.1 再次执行脚本安装lnmp
nagios自定义监控系统磁盘脚本
http://www.apelearn.com/bbs/forum.php?mod=viewthread&tid=8128&highlight=shell%B1%E0%B3%CC6
ls /usr/lib/nagios/plugins/
vim /usr/lib/nagios/plugins/check_disk.sh
echo $?
使用nagios自定义脚本
vi /etc/nagios/nrpe.cfg
/etc/init.d/nrpe restart
3.4 zabbix自定义脚本
3.5 使用zabbix自定义脚本
网页题目:HELL编程-shell编程实战
当前地址:http://scyanting.com/article/jojhce.html