Zabbix监控Mysql、Apache、Nginx应用实战

  

Zabbix对第三方应用软件的监控,主要有两个工作难点:一个是编写自定义监控脚本;另一个是在编写模板并导入Zabbix web中,编写脚本这个要根据监控需求定制即可,而编写模板文件则相对来说有点难度,不过网上已经有很多已经写好的模板,可以直接拿来使用,所以,Zabbix对应用软件的监控其实并不难。

  

一、zabbix监控mysql应用实战

  

本次博文首先介绍的是Zabbix对Mysql的监控,这个是最简单的,因为Zabbix已经自带了Mysql监控的模板,我们只需编写一个监控Mysql的脚本即可。以下操作均在Zabbix代理端实现,具体步骤如下:

  

1) zabbix代理端安装mysql

  

由于mysql安装太浪费时间,本人提供一键安装mysql脚本,如下:

  
 <代码> root@agent ~ # ls mysql *
  mysql-5.7.22-linux-glibc2.12-x86_64.tar。广州mysql.sh
  # sh mysql.sh root@agent ~
  启动MySQL。成功!
  mysql(警告):使用一个密码#指定连接使用的工具
  如果[$ # - ne " 1 ");
  回声“参数错误!”
  fi
  #获取数据
  案例1美元
  正常运行时间)
  结果=' $ {MYSQL_CONN} |状态切- f2 - d”:“|削减f1 - d“T”
  echo $结果
  ;;
  Com_update)
  结果=' $ {MYSQL_CONN} extended-status | grep - w“Com_update”| - d“|”f3的
  echo $结果
  ;;
  Slow_queries)
  结果=' $ {MYSQL_CONN}状态|削减f5 - d”:“|削减f1 - d“O”的
  echo $结果
  ;;
  Com_select)
  结果=' $ {MYSQL_CONN} extended-status | grep - w“Com_select”| - d“|”f3的
  echo $结果
  ;;
  Com_rollback)
  结果=' $ {MYSQL_CONN} extended-status | grep - w“Com_rollback”| - d“|”f3的
  echo $结果
  ;;
  问题)
  结果=' $ {MYSQL_CONN}状态|削减f4 - d”:“|削减f1 - d“S”的
  echo $结果
  ;;
  Com_insert)
  结果=' $ {MYSQL_CONN} extended-status | grep - w“Com_insert”| - d“|”f3的
  echo $结果
  ;;
  Com_delete)
  结果=' $ {MYSQL_CONN} extended-status | grep - w“Com_delete”| - d“|”f3的
  echo $结果
  ;;
  Com_commit)
  结果=' $ {MYSQL_CONN} extended-status | grep - w“Com_commit”| - d“|”f3的
  echo $结果
  ;;
  Bytes_sent)
  结果=' $ {MYSQL_CONN} extended-status | grep - w“Bytes_sent”| - d“|”f3的
  echo $结果
  ;;
  Bytes_received)
  结果=' $ {MYSQL_CONN} extended-status | grep - w“Bytes_received”| - d“|”f3的
  echo $结果
  ;;
  Com_begin)
  结果=' $ {MYSQL_CONN} extended-status | grep - w“Com_begin”| - d“|”f3的
  echo $结果
  ;;
  *)
  回声”用法:$ 0(正常运行时间| Com_update | Slow_queries | Com_select | Com_rollback |问题| Com_insert | Com_delete | Com_commit | Bytes_sent | Bytes_received | Com_begin)”
  ;;
  esac
  由于将用户名:密码信息写到脚本中不安全,所以将用户名:密码信息写文到/etc/my . cnf中所做件中
  # vim/etc/my.cnf root@agent ~
  (mysqladmin)
  用户=zabbix
  密码=zabbix
  # chmod + x/etc/zabbix/shell/check_mysql.sh root@agent ~
  (root@agent ~) #乔恩zabbix。zabbix/etc/zabbix/shell/check_mysql.sh
  # sh/etc/zabbix/shell/check_mysql root@agent ~。sh正常运行时间
  5260//代理端测试脚本能否使用 
  

3) zabbix代理端修改配置

  
 <代码> root@agent ~ # vim/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf//将原本的UserParameter全部注释,添加以下内容
  UserParameter=mysql.status [*],/etc/zabbix/壳/check_mysql。sh 1美元
  UserParameter=mysql。萍,回家=/etc/usr/local/bin/mysqladmin萍| grep - c活着
  UserParameter=mysql。版本,/usr/地方/bin/mysql - v
  (root@agent ~) # systemctl zabbix-agent重启
  (root@zabbix ~) # zabbix_get - s 192.168.1.8 - p 10050 - k”mysql.status正常运行时间”
  5372//zabbix服务器端测试能否获取到数据 
  

4) zabbix web界面引入模板

  

zabbix自带了mysql监控的模板,因此只需将模板链接到对应的主机即可!如下:
 zabbix监控mysql、Apache, Nginx应用实战”> <br/> <img src=Zabbix监控Mysql、Apache、Nginx应用实战