今天在github上看到看到作者domdanrtsey的两款巡检脚本完成OS系统和MySQL数据库巡检,脚本是平时使用的命令的堆积,但是比较特别是作者将脚本输出成html格式,这样就可以通过浏览器完成系统os或者mysql数据库状态巡检。在运用中可以将脚本加入定时任务crontab中,定时完成巡检工作,然后运维人员通过浏览器完成一系列检查。有这个模板后,检查统计项可根据实际需要自行添加,然后再html界面可以使用前端bootstrap等等来美化显示,也可以增加告警功能。 相比于zabbix专业的开源项目,笔者觉得这个简单简洁,可以完成自定义的监控。 作者domdanrtsey的github项目请参考:https://github.com/domdanrtsey ,在此也表示感谢。 下载下来的脚本是没有执行x权限的,需要添加。运行脚本(需要root权限)后得到html文件,然后复制到目录:cp 192.168.31.82os_mysql_simple_summary.html /var/www/html/就可以了。
1、oswatch
举例一个”cpu使用率“检查项目:
create_html_head "cpu使用率" >> $file_output create_table_head1 >> $file_output get_cpuuse create_tr3 "/tmp/tmp_cpuuse_`date +%y%m%d`.txt" create_table_end >> $file_output
脚本oswatch.sh输出都用函数包装好,检查功能在函数get_cpuuse中,其他都是html格式的封装函数。 get_cpuuse将得到的信息写入txt文件中:mpstat -P ALL 10 6 >>/tmp/tmp_cpuuse_`date +%y%m%d`.txt 。 create_tr3函数使用cat $1将文件中的数据打印到hmtl文件中。
2、mywatch
举例一个”cpu使用率“检查项目:
create_html_head "Running Status of Database" >> $file_output create_table_head1 >> $file_output my_stat_info create_tr3 "/tmp/tmpmy_stat_`date +%y%m%d`.txt" create_table_end >> $file_output
和上面的一样。my_stat_info将得到的信息写入txt文件中:${mysql_cmd} -e status >>/tmp/tmpmy_stat_`date +%y%m%d`.txt 。 create_tr3函数使用cat $1将文件中的数据打印到hmtl文件中。 上面的两个脚本都是利用txt文件来作为数据中间缓存。而且脚本执行和客户端访问html是分开的,定时任务执行sh脚本生成html,客户端访问时html。客户端频繁刷新或者恶意攻击的情况下,如果直接调用命令的话会给linux服务器造成很大的压力,分开的话就没有这个顾虑! 触类旁通,笔者一些写过一篇文章:php语言怎么执行shell脚本语言 。 shell_exec函数,通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回,这个函数就将架起php和shell之间的桥梁。如果网页频繁刷新,那么 shell_exec会将所有命令不断执行,那么后果可想而知,cpu、内存、磁盘io等等都会有很大的负担。如果要解决的话,最简单的可以借鉴上面的方法将命令与php分开,然后php读取脚本写到文件中的内容。
编辑推荐:
- Oracle11gRAC更改字符集为ZHS16GBK的过程S16GBK03-01
- Linux中OS系统和MySQL数据库巡检生成html03-01
- mysql分页读取-数据重复问题.md03-01
- MySQL:Innodb如何快速杀掉堵塞会话的思考03-01
- mysql 数据库无法在Navicat新建函数03-01
- MySQL:RR模式下insert也可能导致查询慢03-01
- MySQL:乱码问题处理流程03-01
- MySQL:读取my.cnf的顺序问题03-01
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- MySQL:Innodb如何快速杀掉堵塞会话的思考
MySQL:Innodb如何快速杀掉堵塞会话的思考
26-03-01 - MySQL:乱码问题处理流程
MySQL:乱码问题处理流程
26-03-01 - 我身边的高T,问了Java面试者这样的问题......
我身边的高T,问了Java面试者这样的问题......
26-03-01 - MySQL:MySQL工具以及5.7mysqlbinlog|mysql速度极慢问题
- MySQL:Analyze table导致'waiting for table flush'
- 抖音如何在线快速去除视频水印?
抖音如何在线快速去除视频水印?
26-03-01 - 抖音一键在线去除短视频水印方法
抖音一键在线去除短视频水印方法
26-03-01 - MySQL:MySQL客户端缓存结果导致OOM
MySQL:MySQL客户端缓存结果导致OOM
26-03-01 - 快手一键在线去除短视频水印方法
快手一键在线去除短视频水印方法
26-03-01 - 对于网校系统源码,你了解多少?
对于网校系统源码,你了解多少?
26-03-01
