打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
运维自动化之使用PHP MYSQL SHELL打造私有监控系统(二
续:运维自动化之使用PHP MYSQL SHELL打造私有监控系统(一)
http://blog.sina.cn/dpool/blog/s/blog_61c07ac50101adda.html?vt=4
现在开始介绍php mysql shell监控系统 1、目的
此监控系统主要是通过php mysql shell的方式,通过shell脚本对各个机器的其各个服务进行监控,达到及时的了解其各个应用服务的状态(如果宕掉与启动),在检测应用服务宕掉时,记录在日志里与mysql数据库服务器里,同时进行服务宕掉的邮件提示,并自动启动宕掉的应用服务;在检测应该服务启动时,同时进行服务启动的邮件提示,所有的监控内容都能在php制作的web里进行浏览,同时能根据mysql里的数据,把资源监控数据视图化,在浏览数据的时候,更方便。
2、实现的机制
监控方式主要是通过shell脚本的实现,针对应用服务运行的端口进行监控,如果其端口开启,则证明此服务运行,反之则此服务没有运行。
3、监控的应用服务
监控的应用服务有:
A、应用服务器的服务监控
web:http、yu_tomcat、tomcat 共3个
交换: pas、ppas、mas、mmas、cas共5个
引擎:memcache、datastorageservice、http、dbstatserver共4个
B:应用服务器的资源监控
硬盘使用率、cpu使用率、硬件启动信息错误、i/o使用率、15分钟内的负载、内存使用率(包括内存与swap)、日志错误信息、当前用户登录数
4、已经监控的省份
目前天津、广西、贵州、海南、河北、河南、湖北、湖南、宁夏、陕西、青海、西藏、新疆、包头、甘肃、江西都已经部署完成,经过3个月的测试,没有发现问题。
5、shell监控脚本内容与解释
(1)web服务器(以甘肃web为例)
#!/bin/bash
#ip web_ip=$(/sbin/ifconfig eth0|grep 'inet addr'|cut -d : -f 2|awk'{print $1}')
##eth0网卡的ip #name web_name=$(hostname)
##web主机名 monitor_name=web ##监控的服务器是什么类型 here='gansu' ##监控的省份 #mysqlinfo mysql_ip='1.1.1.1' ##数据库的ip mysql_username='root' ##数据库的用户mysql_passwd='****' #数据库的密码 mysql_database='monitor' ##选择的数据库memory_table=''$here'_memory' load_table=''$here'_load'io_table=''$here'_io' hardware_table=''$here'_hardware'message_table=''$here'_message' user_table=''$here'_user'disk_table=''$here'_disk' cpu_table=''$here'_cpu'service_table=''$here'_service' ##想数据库里写入的表 #date and logday='$(date %Y%m%d)'worklog='/usr/local/monitor/logs/all_work_log'downlog='/usr/local/monitor/logs/all_down_log' ##日志与实际 now='$(date %Y-%m-%d-%T)' #web service tomcat='$(netstat -antl|grep 8080|wc-l)' web_http='$(ps -ef|grep httpd|grep -v grep|wc -l)'yz_tomcat='$(netstat -antl|grep 8081|wc -l)'##通过端口与服务在后头的运行情况监控其运行状态 #cpu service alert_cpu='80' ##cpu的报警阀值web_cpu_idle='$(top -b -n 1 | grep Cpu | awk '{print $5}' | cut -f1 -d .)' web_cpu='$(echo 100 - $web_cpu_idle|/usr/bin/bc)'##监控cpu的使用率 #memory service alert_mem='100' ##内存的报警阀值web_mem='$(/usr/bin/free -m|grep Mem|awk '{print $4}')'web_swap='$(/usr/bin/free -m|grep Swap|awk '{print $3}')'##memory与swap的使用率 alert_swap='0' ##swap的报警阀值 #memory logmemory_worklog='/usr/local/monitor/logs/mem_work_log'memory_downlog='/usr/local/monitor/logs/mem_down_log' #load servicecpu_count='$(grep -c 'model name' /proc/cpuinfo)'alert_load='$(echo $cpu_count/2|/usr/bin/bc)'web_load='$(uptime|awk '{print $NF}'|cut -f 1 -d .)'web_load_15='$(uptime|awk '{print $NF}')' #监控负载的使用率 #load logload_worklog='/usr/local/monitor/logs/load_work_log'load_downlog='/usr/local/monitor/logs/load_down_log' #io servicealert_io='80' web_io_idle_back='$(/usr/bin/iostat|awk 'NR==4{print$NF}'|cut -f 1 -d .)' web_io_idle='$(echo 100 -$web_io_idle_back|/usr/bin/bc)' ##io的使用值 #io logio_worklog='/usr/local/monitor/logs/io_work_log'io_downlog='/usr/local/monitor/logs/io_down_log' #hardware serviceweb_hardware_error='$(dmesg|grep -i error|wc -l)'web_info_error='$(dmesg|grep -i error)' ##开机启动的错误信息未完待续:运维自动化之使用PHP MYSQL SHELL打造私有监控系统(二-2)
http://blog.sina.cn/dpool/blog/s/blog_61c07ac50101adyj.html?vt=4
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
要做linux运维工程师的朋友,必须要掌握以下几个工具才行
Linux系统运维构架师必知的十个技能点
转 详解Linux运维工程师必备技能
运维工程师必备的10个基本操作,了解一下?
舍本求末的运维自动化技术热潮
不看后悔的Linux生产服务器Shell脚本分享(1)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服