今天在github上看到看到作者domdanrtsey的两款巡检脚本完成OS系统和MySQL数据库巡检,脚本是平时使用的命令的堆积,但是比较特别是作者将脚本输出成html格式,这样就可以通过浏览器完成系统os或者mysql数据库状态巡检。在运用中可以将脚本加入定时任务crontab中,定时完成巡检工作,然后运维人员通过浏览器完成一系列检查。有这个模板后,检查统计项可根据实际需要自行添加,然后再html界面可以使用前端bootstrap等等来美化显示,也可以增加告警功能。

相比于zabbix专业的开源项目,笔者觉得这个简单简洁,可以完成自定义的监控。

作者domdanrtsey的github项目请参考: ,在此也表示感谢。

下载下来的脚本是没有执行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读取脚本写到文件中的内容。

Dom查看数据库mysql_Linux中OS系统和MySQL数据库巡检生成html相关推荐

  1. centos6.5和centos7.5统一字符集为zh_CN.UTF-8解决系统和MySQL数据库乱码问题

    linux的服务器需要做的操作 centos6.5下: 修改默认字符集为 zh_CN.UTF-8,如果没有中文语言包可能需要安装中文语言包支持 [root@meinv01 ~]# yum groupi ...

  2. jdbc读取mysql数据库_Ecplise 中利用 JDBC 连接 Mysql 数据库读取数据

    准备工作 将压缩包解压得到文件 mysql-connector-java-5.1.41-bin.jar 备用 打开 Mysql 控制台创建数据库及数据表,并插入测试数据.代码如下: CREATE DA ...

  3. mysql修改系统日期_修改系统和MySQL时区

    修改时间时区比想象中要简单: 各版本系统通用的方法 # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # cp /usr/share/zone ...

  4. 从csv文件中导入数据到MySQL数据库

    从csv文件中导入数据到MySQL数据库 转: 一.Workbench客户端导入(8.0.11基本导不全且速度奇慢) 1.点击如下图标创建数据库(非必要) 2.在表类上右键导入 二.SQL语句导入(可 ...

  5. php 读取excel中的内容到mysql 数据库

    .................................................................................................... ...

  6. MySQL数据库应用形考_2020国开中优教育《MySQL数据库应用》形考任务题库

    2020国开中优教育<MySQL数据库应用>形考任务题库 1.以下哪个不属于"汽车用品网上商城"的实体( ) 用户 用户类别 汽车配件 用户编号 正确答案 2.URT ...

  7. cpp导入excel到mysql_将EXCEL表格中的数据导入mysql数据库表中

    本文转载自http://blog.sina.com.cn/s/blog_5d972ae00100gjij.html 今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命 ...

  8. DATABASE_ROUTERS在Django中使用多个MySQL数据库进行配置

    在Django中,默认使用的MySQL数据库为default, 如果不进行配置的话,迁移建表就会创建到default数据库 准备: 先创建两个数据库 在创建一个管理员管理这两个库 create use ...

  9. 在java中使用JDBC连接mysql数据库时的服务器时区值无法识别或表示多个时区的问题解决方案

    项目场景: 在java中使用JDBC连接mysql数据库时,报以下的错:Exception in thread "main" java.sql.SQLException: The ...

最新文章

  1. android studio大坑 executing external native build for cmake
  2. Windows保护模式学习笔记(六)—— 10-10-12分页
  3. VTK:相互作用之TrackballCamera
  4. Mysql 取用逗号分隔的字串的子串的方法:SUBSTRING_INDEX
  5. 代挂系统去授权, 支持燃鹅代抽,安全无后门
  6. 初学者一些常用的SQL语句(二)
  7. 条件变量的陷阱,惊群效应(转载)
  8. php与mysql事物处理
  9. 【XSY2731】Div 数论 杜教筛 莫比乌斯反演
  10. 人大金仓数据库的安装的使用
  11. 有人把李白杜甫一生的旅行足迹做了地图,发现了大事!
  12. Python collections.Counter()用法
  13. NOIP 2016 滚粗记
  14. 零基础学大数据现实吗?
  15. gis城市模型建立之地形模型的建立
  16. 2015年到2017年 国家自然基金有关深度学习和计算机视觉的部分项目
  17. 神盾加密php文件夹,[宜配屋]听图阁
  18. Android Studio 报错提示:Skipped due to earlier error
  19. Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection brok
  20. 聊聊提问的艺术(日本版)

热门文章

  1. pytroch 中Variable实现线性回归
  2. keras从入门到放弃(九) 处理过拟合
  3. 今晚被两个bug 困扰---第一个,小程序数组传递到PHP后台变成了字符串,导致解析失败
  4. “悟道”公开课第四讲丨悟道开发案例:​悟空策论——议论文写作平台
  5. 今日arXiv精选 | 13篇EMNLP 2021最新论文
  6. CVPR 2021 | 双图层实例分割,大幅提升遮挡处理性能
  7. AAAI 2021 | 利用标签之间的混淆关系,提升文本分类效果
  8. 如何理解 Graph Convolutional Network (GCN)?
  9. OpenNRE 2.0:可一键运行的开源关系抽取工具包
  10. 飞桨PaddlePaddle送算力 | 每日登录即送12小时,连续5天还有加送!