MySQLののttlsaチュートリアルシリーズ--- mysqlのデータベース監視

$ USER9 $ -p $ USER10 $ -H $ HOSTADDRESS $ -P $ ARG1 $ -x $ ARG2 $ -o $ ARG3 $ -y $ ARG4 $ -C '$引数5 $' -w $ ARG6 $ -c $ ARG7 $ }説明:$ uSER9 $は、ユーザー名、$ uSER10 $パスワードを監視することです。Resource.cfgは、ファイルに定義されています。3.認証データベースのMySQLは> 'nagiosuser'@'10.1.1.1' が 'nagiospassword BY' IDENTIFIED TO * * ONスーパー、porcess、複製CLIENTを付与;. 4.ホストを追加した項目は、MySQL host_nameのxxx.xxx.xxxを使用{サービスを定義し、監視しました.XXX SERVICE_DESCRIPTIONチェックのMySQL - PROCESSLIST-3306 normal_check_interval 2 contact_groups admin_4 check_commandチェックのMySQL - PROCESSLISTを!3306!16!32は} {MySQLのHOST_NAME xxx.xxx.xxx.xxx SERVICE_DESCRIPTIONチェックMySQLを-PROCESSLIST-3308 normal_check_interval 2を使用するサービスを定義しますcontact_groupsチェックインのMySQL - PROCESSLISTをcheck_command admin_4!3308!16!32}サービス{使用MySQLのHOST_NAMEのxxx.xxx.xxxを定義します。XXX SERVICE_DESCRIPTIONチェックインのMySQL-full_table_scan-3306 normal_check_interval 2 contact_groups admin_4 check_commandチェックMySQLを-STATUS-比較!3306!Handler_read_rnd_next!/!Handler_read_rnd!>!20!30}のMySQL HOST_NAME xxx.xxx.xxx.xxx SERVICE_DESCRIPTIONを使用{サービスを定義チェック-mysqlの-full_table_scan-3308 normal_check_interval 2 contact_groups admin_4 check_commandチェック-mysqlのステータス・比較!3306!Handler_read_rnd_next!/!Handler_read_rnd!>!20!30} 5.監視項目はすぐにスクリプトを追加表示されます。perlのmysql_jk.pl /usr/local/nagios/etc/conf/ttlsa.com serverlist.txt admin_4 serverlist.txt次の形式::1.1.242.50,10.1.242.50のperlのようなグループ名のファイルサーバのディレクトリリストを監視mysql_jk.pl使用!、3306,3308 [codesyntax LANG = "perlの"]#/ usr / bin / perlが厳格な使用;データ:: Dumperをを使用し、サブコンテンツ{私の($サーバー、$ポート、$管理)= @_;私の$コンテンツ= << "END"; 1}サービス{使用MySQLのHOST_NAME $サーバSERVICE_DESCRIPTIONチェック-mysqlの-full_table_scan- $ポートcontact_groups $管理check_commandチェック-mysqlのステータス・比較!$ポート!Handler_read_rnd_next!/!Handler_read_rnd!>!20!30} ENDリターン$コンテンツを定義; }のopendir(私の$ CONFDIR、$ ARGV [0])|| 死にます; 私@filelist =のreaddir($ CONFDIR)。オープン(私の$のサーバリスト、$ ARGV [1])|| 死にます; 一方、(<$サーバリスト>){CHOMP。俺の @info =スプリット/、/。foreachの(@info){S / \ A \ S + | \ S + \ Z // G。}私の@ports = @info [2 .. $#情報]; もし(grepを(/ $インフォ[0] /、@ファイルリスト)){私の$サーバー= $情報[0]; foreachの私の$ポート(@ports){私の$コンテンツ=コンテンツ($サーバ、$ポート、$ ARGV [2])。#printの$コンテンツ。印刷{私の$ fhは、 ">>"、 "$ ARGV [0] / $のSERVER.CFG"を開きます。$ FHまたはダイ} $の内容; プリント"サーバ$サーバー:$ポート\ nを"; }} ELSIF(grepを(/ $インフォ[1] / @ファイル一覧)){私の$サーバー= $情報[1]。foreachの私の$ポート(@ports){私の$コンテンツ=コンテンツ($サーバ、$ポート、$ ARGV [2])。#printの$コンテンツ。印刷{私の$ fhは、 ">>"、 "$ ARGV [0] / $のSERVER.CFG"を開きます。$ FHまたはダイ} $の内容; プリント"サーバ$サーバー:$ポート\ nを"; }}} [/ codesyntax]  

ます。https://my.oschina.net/766/blog/211474で再現

おすすめ

転載: blog.csdn.net/weixin_34038652/article/details/91546906