本文主要研究如何利用 Linux Shell 脚本和飞信 API 来实现 MySQL 数据库的自动监控和短信报警,使 DBA 从繁重和重复的监控工作中解脱出来,一边享受马尔代夫的阳光、沙滩,一边实时监控北京的 MySQL数据库。
随着互联网及信息化的迅猛发展,企业运营所产生的数据量越来越大,所以大多数公司选择将重要商业数据存储在数据库中。如果数据库系统突然停机或发生其它故障,必然会影响公司的收入,声誉甚至导致用户投诉,如何保证数据库系统的正常运转,一直是公司关心的核心问题。这就要求 DBA 对数据库运行的各种状态进行实时监控,在发生故障之前解决它,将隐患消灭在摇篮中。本文给出使用 “MySQL Monitor” Shell 脚本来实现 MySQL 的实时监控,讨论了如何实现 MySQL的短信报警功能模块,同时结合一个真实应用场景来演示 “MySQL Monitor” 是如何工作的。
背景
南风公司遇到的问题
南风公司是一家互联网公司,该公司在北京网通1区机房有 10 台服务器,2 区机房有 10 台服务器,在上海电信 1 区机房也有 10 台服务器......,鉴于公司数据的重要性,DBA 必须实施一系列的监控措施来保证数据库良性运转,设置了包括操作系统磁盘空间检查、数据库表空间检查、数据库表状态检查、双机互备情况检查等 20 个检查点,DBA 有哪些选择去实施如此宠大的监控方案呢?下面是传统的解决方案:

这是一种低效的串行工作方式,DBA 必须每天从早上 10:00 开始逐台检查数据库服务器的 20个检查点,非常耗时,这种传统的方案会让 DBA 每天重复做机械化的工作,当有几百台被监控服务器时,这个传统的方案对 DBA 的来说就是噩梦,那么如何才能更有效的监控数据库成为 DBA 迫切需要解决的问题?
南风公司的解决方案
智慧的 MySQL,需要用智慧的方式去驾驭。南风公司的 DBA 开发了一套 “MySQL Monitor” 解决方案,这套方案充分利用了 “Shell 脚本” + “Linux Cron定时器服务” + “中国移动飞信免费发短信 API 接口” 的优势,只有在数据库检查点出现问题时才会向 DBA 发送短信进行报警,实现了真正意义上无人值守的大量数据库服务器监控框架,下面是全新的解决方案:

这是一种高效的并行工作方式,为了便于管理,我们先将数据库服务器进行了分组,每组服务器对应一个监控线程,并且这些监控线程部署在“监控工作站”上,大家 一定注意到“时间轴”消失了,这是因为这些监控线程是每 1 分钟运行一次,“时间轴”已经没有什么意义了。如果有一切正常,这些监控线程只会写日志,不会有其它的操作;如果当某台数据库服务器有异常情况发生,那么 “监控工作站”会给 DBA 终端发送短信提醒,这样 DBA 就可以在第一时间发现问题解决问题,即使 DBA 身边没有电脑终端也一样可以及时的了解 MySQL 服务器的运行情况

Ce qui est encore populaire, c'est la facilité d'utilisation, la flexibilité et un écosystème fort. 1) La facilité d'utilisation et la syntaxe simple en font le premier choix pour les débutants. 2) étroitement intégré au développement Web, excellente interaction avec les demandes HTTP et la base de données. 3) L'énorme écosystème fournit une multitude d'outils et de bibliothèques. 4) La nature active et la nature open source les adaptent à de nouveaux besoins et tendances technologiques.

PHP et Python sont tous deux des langages de programmation de haut niveau qui sont largement utilisés dans le développement Web, le traitement des données et les tâches d'automatisation. 1.Php est souvent utilisé pour créer des sites Web dynamiques et des systèmes de gestion de contenu, tandis que Python est souvent utilisé pour créer des cadres Web et une science des données. 2.PHP utilise Echo pour sortir du contenu, Python utilise l'impression. 3. Les deux prennent en charge la programmation orientée objet, mais la syntaxe et les mots clés sont différents. 4. PHP prend en charge la conversion de type faible, tandis que Python est plus strict. 5. L'optimisation des performances PHP comprend l'utilisation de la programmation OPCACH et asynchrone, tandis que Python utilise la programmation CPROFILE et asynchrone.

PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

PHP est originaire en 1994 et a été développé par Rasmuslerdorf. Il a été utilisé à l'origine pour suivre les visiteurs du site Web et a progressivement évolué en un langage de script côté serveur et a été largement utilisé dans le développement Web. Python a été développé par Guidovan Rossum à la fin des années 1980 et a été publié pour la première fois en 1991. Il met l'accent sur la lisibilité et la simplicité du code, et convient à l'informatique scientifique, à l'analyse des données et à d'autres domaines.

PHP convient au développement Web et au prototypage rapide, et Python convient à la science des données et à l'apprentissage automatique. 1.Php est utilisé pour le développement Web dynamique, avec une syntaxe simple et adapté pour un développement rapide. 2. Python a une syntaxe concise, convient à plusieurs champs et a un écosystème de bibliothèque solide.

PHP reste important dans le processus de modernisation car il prend en charge un grand nombre de sites Web et d'applications et d'adapter les besoins de développement via des cadres. 1.Php7 améliore les performances et introduit de nouvelles fonctionnalités. 2. Des cadres modernes tels que Laravel, Symfony et Codeigniter simplifient le développement et améliorent la qualité du code. 3. L'optimisation des performances et les meilleures pratiques améliorent encore l'efficacité de l'application.

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

Le type PHP invite à améliorer la qualité et la lisibilité du code. 1) Conseils de type scalaire: Depuis PHP7.0, les types de données de base sont autorisés à être spécifiés dans les paramètres de fonction, tels que INT, Float, etc. 2) Invite de type de retour: Assurez la cohérence du type de valeur de retour de fonction. 3) Invite de type d'union: Depuis PHP8.0, plusieurs types peuvent être spécifiés dans les paramètres de fonction ou les valeurs de retour. 4) Invite de type nullable: permet d'inclure des valeurs nulles et de gérer les fonctions qui peuvent renvoyer les valeurs nulles.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)