『壹』 本人畢設做監控伺服器運行方面的,需要監控伺服器哪些方面啊
內存,IO,CPU,網路,這個四個模塊是必須的,然後還要看伺服器跑什麼服務,mysql,web還是其他的什麼,是什麼架構,做了集群高可用,負載均衡等等什麼的,就要看具體情況。小白也是剛接觸這塊....
『貳』 linux 下 apache mysql 報警機制,自動監控mysql健康狀態
由於php是一個zip文件(非install版),安裝較為簡單
解壓就行.把解壓的 php-5.2.1-Win32 重命名為 php5.並復制到C盤目錄下.即安裝路徑為 c:\php
1 找到php目錄下的 php.ini.recommended (或者php.ini-dist)文件,重命名為 php.ini
並復制到系統盤的windows目錄下(以c:\windows為例).
2 再把php目錄下的php5ts.dll,libmysql.dll復制到目錄 c:\windows\system32下.
3 把php\ext目錄下的php_gd2.dll,php_mysql.dll,php_mbstring.dll文件復制到c:\windows\system32下
注意:不要把 php_mysql.dll 和 php_mssql.dll 混淆
如果沒有載入 php_gd2.dll php將不能處理圖像.沒有載入php_mysql.dll php將不支持mysql函數庫
php_mbstring.dll在後面使用phpmyadmin時支持寬字元
配置php並關聯MySQL
1 設置擴展路徑
查找 extension_dir 有這么一行
extension_dir = "./"
將此行改成
extension_dir = "C:\php\ext"
其中C:\php是你安裝php的路徑.路徑不正確將無法載入dll
(注意:有些php版本是 ;extension_dir = "./" 要把前面的分號去掉)
2 分別查找
;extension=php_mbstring.dll
;extension=php_gd2.dll
;extension=php_mysql.dll
把上面3項前面的分號去掉,這樣apache啟動時就可以載入這些dll了
注意不要把 ;extension=php_mysql.dl 和 ;extension=php_mssql.dl 混淆
當然前面我們也把這些dll復制到system32下了.(大家在安裝的過程中都注意到如何把一些dll載入入來了.
以後要載入一些dll,比如說php_mysqli.dll,也就懂得怎麼載入了)
3 設置會話保存路徑
查找session.save_path 有這么一行
; session.save_path = "N;/path"
在此行後加入一行(注意是加入一行,不是加到後面)
session.save_path = "C:\WINDOWS\Temp"
保存到你的臨時目錄下,這里完全可以保存到windows臨時目錄Temp下
4 是否顯示錯誤 display_errors
出於安全性考慮,display_errors 有些版本也默認為 Off.
就是說在調試時,如果php代碼有誤,就只出現一個空白頁.而不會顯示出錯原因和出錯行數.
這樣調試起來將非常不便,建議根據自己需要修改
查找
display_errors = Off (注意不是 ; - display_errors = Off [Security])
改成
display_errors = On
5 php5時差問題
<?php echo date("Y-m-d H:i:s");?>時間相差八小時
為什麼呢?PHP5系列版本新增了時區設置,默認為格林威治時間,與中國所在的東8區正好相差8個小時
查找date.timezone有這么一行
;date.timezone =
將;去掉,改成、
date.timezone = PRC
其中PRC:People's Republic of China 中華人民共和國,
PHP的文件上傳問題
文件上傳成敗關鍵的幾點php.ini配置
文件上傳的程序沒有錯,但php的配置很可能導致文件不能上傳成功.
一般的文件上傳,除非文件很小.就像一個5M的文件,很可能要超過一分鍾才能上傳完.
但在php中,默認的該頁最久執行時間為 30 秒.就是說超過30秒,該腳本就停止執行.
這就導致出現 無法打開網頁的情況.這時我們可以修改 max_execution_time
在php.ini里查找
max_execution_time
默認是30秒.改為
max_execution_time = 0
0表示沒有限制
另一種方法是可以在php程序中加入
set_time_limit();
來設定頁面最久執行時間.
set_time_limit(0);//0表示沒有限制
修改 post_max_size 設定 POST 數據所允許的最大大小。此設定也影響到文件上傳。
php默認的post_max_size 為2M.如果 POST 數據尺寸大於 post_max_size $_POST 和 $_FILES superglobals 便會為空.
查找 post_max_size .改為
post_max_size = 150M
很多人都會改了第二步.但上傳文件時最大仍然為 8M.
為什麼呢.我們還要改一個參數upload_max_filesize 表示所上傳的文件的最大大小。
查找upload_max_filesize,默認為8M改為
upload_max_filesize = 100M
另外要說明的是,post_max_size 大於 upload_max_filesize 為佳.
active perl 需要安裝到c:/perl
ZendOptimizer 安裝時把 apache 伺服器關掉,在過程中要指定 apache 和 php 的安裝路徑
在Win2K環境下安裝Apache PHP
軟體需求:
Windows 2000 Professional ; Apache 1.3.19 (apache_1.3.19-win32-src-r2.msi) ; PHP 4.0.5 (php-4.0.5-Win32.zip) ; MySQL 3.23.38 (mysql-3.23.38-win.zip)
安裝過程
將 Apache 1.3.19 安裝到 C:\Web\apache\ 目錄下。
將 PHP 4.0.5 解壓到 C:\Web\php\ 目錄下。
將 MySQL 3.23.38 安裝到 C:\Web\mysql\ 目錄下。
將 C:\web\php\php4ts.dll 文件拷貝到 C:\WINNT\system32\ 目錄下。
將 C:\web\php\php.exel 文件拷貝到 C:\WINNT\ 目錄下。
將 C:\web\php\php.ini-dist 文件拷貝到 C:\WINNT\ 目錄下,並將php.ini-dist 更名為 php.ini。
運行 C:\Web\apache\Apache\Apache.exe -i –n
運行 C:\Web\mysql\bin\mysqld-nt.exe --install
編輯 C:\WINNT\php.ini
找到 「extension_dir = ./ 」 欄位,將其改為 extension_dir = "C:\myphp\php\extensions"。
運行 C:\Web\apache\Apache\Apache.exe -i –n
編輯 C:\Web\apache\Apache\conf\httpd.conf
找到「 #BindAddress*」 欄位
將其改為 BindAddress 127.0.0.1 。(如果主機有固定IP地址,此處改為主機IP地址。如 BindAddress 211.101.152.106),找到 「ServerName」 欄位,將其改為 ServerName localhost。(如主機有固定主機名,此處改為主機的主機名。如ServerName bn001 )。
找到「 ScriptAlias /cgi-bin/ "C:/Web/apache/Apache/cgi-bin/" 」 欄位,在其下面加入 ScriptAlias /php/ "C:/Web/php/" 。找到 「# And for PHP 4.x, use: 」 欄位,在其後面加入:
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
Action Application/x-httpd-php "c:/Web/php/php.exe"
找到「 #LoadMole usertrack_mole moles/mod_usertrack.so」 欄位,LoadMole php4_mole c:/web/php/sapi/php4apache.dll
UNIX下的PHP環境配置
所需軟體
php-3.0.14-win32.zip;php-3.0.14-win32.zip;mysql-shareware-3.22.32-win.zip
所有軟體均安裝在/export/home/guoj/下,也可在其他目錄。
安裝mysql
gzip -dc mysql-3.22.30.tar.gz | tar xvf-
cd mysql-3.22.30
./configure -prefix= /export/home/guoj/mysql
Make
make install
scripts/mysql_install_db
cd../mysql/bin
bin/safe_mysqld & 安裝php apache
gzip -dc apache_1.3.11.tar.gz | tar xvf-
gzip -dc php-3.0.11.tar.gz | tar xvf-
cd apache_1.3.11
./configure -prefix= /export/home/guoj/www
cd ../php-3.0.11
./configure -with-apache= /export/home/guoj/apache_1.3.11
-with-mysql= /export/home/guoj/mysql -enable-track-vars
Make
make install
cd ../apache_1.3.11
./configure --prefix= /export/home/guoj/www
--activate-mole=src/moles/php3/libphp3.aP
Make
make install
cd ../php-3.0.11
cd ../php3.ini-dist php3.ini
vi php3.ini修改php3.ini
doc_root=/export/home/guoj/www/htdocs/
extension_dir=/export/home/guoj/php-3.0.11/
extension=php3_mysql.dllcp php3.ini/usr/local/lib/php3.inivi ../www/conf/httpd.conf
加上以下幾句:
AddType application/x-httpd-php3 .php3
<Directory "/export/home/guoj/php-3.0.11/">
Options FollowSymLinks
AllowOverride None
</Directory>../www/bin/apachectl start
『叄』 mysql一般用什麼管理工具
1. Inction
Inction是一款用於理解數據關系的開源管理工具,它可用來探索行/列,運行查詢和數據可視化等方面。該工具支持多種資料庫,包括PostgreSQL,MySQL,SQLite,Redis以及MongoDB。此外,Inction還可以通過編寫添加其他新的適配器。
2. Pinba
Pinba 是一種MySQL存儲引擎,用於PHP實時監控和數據伺服器的MySQL只讀介面。它整理並處理通過UDP發送的數據,並以可讀的簡單報告的形式統計顯示多個PHP進程。為了獲取下一代更為復雜的報告和統計數據,Pinba提供了原始數據的只讀介面。
3. DB Ninja
DbNinja是一款先進的基於Web的MySQL資料庫管理與開發應用程序。它是遠程訪問託管伺服器的必然之選。DbNinja支持所有最新的功能,包括觸發器、事件、視圖、存儲過程和外鍵等。此外,它還可以導入和備份數據、MySQL對象結構以及管理用戶等。DbNinj的用戶界面功能完備且清新美觀,可安全地運用於任何瀏覽器及任何操作系統中。
4. DB Tools Manager
DBManager是一款功能強大的數據管理應用程序。作為最先進的應用程序,DBManager內置支持MySQL、PostgreSQL、Interbase/Firebird、 SQLite,DBF表、MSAccess,MSSQL伺服器,Sybase,Oracle和ODBC資料庫引擎等一些新特性。DBManager目前擁有個人和企業兩個版本,用戶可按需選擇使用。
5. Dbeaver
DBeaver是一款免費的資料庫管理應用程序,可運用於多種不同的引擎,包括MySQL,MSSQL,Oracle、SQLite、Sybase和Firebird等等。由Java編寫而成,該應用程序適用於所有主流操作系統(Windows、Mac和Linux)。它能處理包括元數據編輯(表、列、鍵、索引)、自定義SQL執行、用戶管理、多連接等在內的所有主要任務。
6. SqlWave
SQLWave是一種簡單、快速且易用的MySQL客戶端。用戶可通過該工具輕松地連接到遠程主機。SqlWave支持所有MySQL的最新版本,包括它用來管理資料庫結構的所有最新功能,如工作表、視圖、存儲過程、函數、事件、外鍵和觸發器等。
7. MyWebSQL
MyWebSQL主要用於管理基於Web的MySQL資料庫。與桌面應用程序的借口工作流程相似,用戶無需切換網頁即可完成一些簡單的操作。如果您正在操作桌面,只用登資料庫,就可以管理您的資料庫了。
8. Navicat
Navicat是MySQL和MariaDB資料庫管理與開發理想的解決方案。它可同時在一個應用程序上連接MySQL和MariaDB資料庫。這種兼容前端為資料庫提供了一個直觀而強大的圖形界面管理、開發和維護功能,為初級MySQL和MariaDB開發人員和專業開發人員都提供了一組全面的開發工具。
9. SQLyog
SQLyog是一款功能最強大的MySQL管理工具,它綜合了MySQL工作台、php MyAdmin和其他MySQL前端及MySQL GUI工具的特點。該款應用程序可以同時連接任意數量級的MySQL伺服器,用於測試和生產。所有流程僅需登錄MySQL root以收集數據,用戶無需安裝在MySQL伺服器上。
10. Sequel Pro
Sequel Pro是基於MySQL資料庫的一種快速易用的Mac資料庫管理應用程序。用戶可通過Sequel Pro在本地和遠程伺服器上直接訪問MySQL資料庫。不過,Sequel Pro的最新版本開始添加全屏支持內置。
11. HeidiSQL
HeidiSQL是一種專為web開發人員設計的有用且可靠的工具,可用於當前最受歡迎的MySQL伺服器,微軟SQL資料庫和PostgreSQL。該工具可提供瀏覽和編輯數據、創建和編輯表格、視圖、過程、觸發器和日誌安排等事件。此外,您還可以導出結構和數據至SQL文件、剪貼板或其他伺服器。
12. MyDB Studio
MyDB Studio是一款免費的MySQL資料庫管理器應用程序。該工具強大到您幾乎可以獲取到任何想要的功能,並能夠連接到無限量級的資料庫。通過創建、編輯或刪除資料庫、表格和記錄,就可以備份/恢復並導出為多個格式。
13. SQL Lite Manger
SQL Lite Manager是一款基於web的開源應用程序,用於管理無伺服器、零配置SQL Lite資料庫。該程序是用PHP寫成,除了記錄和應用表格格上的每一步操作,還可以控制多個資料庫。SQL Lite Manager可用於查詢數據,將MySQL查詢轉化為兼容SQL Lite資料庫,並能創建和編輯觸發器。SQL Lite Manager有多種皮膚選項,是一個含現成語言文件的多語言資源。
14. Database Master
Database Master是一個現代的、強大的、直觀且易用的資料庫管理程序。它以一個一致而現代的界面適用於MongoDB、MySQL、PostgreSQL、FireBird、 SQL Lite、MS SQL Server、SQL Azure、Oracle、IBM DB2、IBM Informix、Netezza、Ingres以及EffiProz等資料庫。Database Master簡化了管理、查詢、編輯、可視化、設計和報告資料庫系統。用戶可以通過ODBC與OleDB連接任何資料庫系統,也可以訪問MS Access,MS FoxPro Database、Dbase和XML文件。
15. Chive
Chive由PHP搭建而成,是一款基於web的開源MySQL管理應用程序。此款應用程式有一個內置的編輯器,當運行復雜的查詢或易用的界面時,可用於快速瀏覽。
『肆』 如何實現zabbix監控mysql
一、從網上下載相應腳本與XML定義文件。
extensive_mysql_monitoring_including_replication
1. Template_MySQL_Server.xml
2. Template_MySQL_Replication_Master.xml
3. Template_MySQL_Replication_Slave.xml
和執行腳本:mysql.php
二、把mysql.php上傳至配置文件目錄/etc/zabbix/
1. chmod 755 mysql.php
三、修改mysql.php文件
根據本機環境。
第一行加入:#!/usr/bin/php
在最後一行加入:?>
關閉調試:define('DEBUG',true);為define('DEBUG',False);
修改日誌、數據文件路徑:
1. define('LOG',"/tmp/zabbix_".SYSTEM.".log");
2. define('DAT',"/tmp/zabbix_".SYSTEM.".dat");
3. define('UTIME',"/tmp/.zabbix_".SYSTEM.".utime");
4. define('DTIME',"/tmp/.zabbix_".SYSTEM.".dtime");
修改:define('SYSTEM','mysql'.(DEBUG ? "-debug" : ""));為:define('SYSTEM','mysql');
打開系統日誌功能
> ".LOG);為
> ".LOG);
在$cmd = "zabbix_sender -z $server -p 10051 -s $host -k ".SYSTEM.".$var -o $val";
下面增加一行:exec($cmd);
四、在zabbix_agentd.conf配置文件中加入
UserParameter=mysql.daily,php /etc/zabbix/mysql.php daily 用戶名密碼
UserParameter=mysql.live,php /etc/zabbix/mysql.php live 用戶名密碼
daily:每天執行一次。
live:按指定時間執行一次。
php :執行php文件
/etc/zabbix/mysql.php:mysql.php文件所在的文件路徑
用戶名密碼:登錄mysql資料庫的賬戶與密碼
重啟zabbix_agentd
五、在zabbix web管理界面導入xml文件
配置-導入/導出-瀏覽
六、在主機內增加指定模板
配置-主機-具體主機名-Link with Template-新增-剛導入的模板。
模板分為三種:
template MYSQL_server:監控項最全
template MYSQL_Replication_Master:只監控主要參數,監控功能相對最少
template MYSQL_Replication_Slave:主要針對性能方面的監控。
七、測試監控是否成功
刪除定時文件
1. rm /tmp/.zabbix_mysql-debug.dtime;
取的每天的監控數據
1. php /etc/zabbix/mysql.php daily root *****
取即時數據
1. php /etc/zabbix/mysql.php live root *****
查看日誌
1. cat /tmp/zabbix_mysql.log
2. Info from server: "Processed 1 Failed 0 Total 1 Seconds spent 0.006261"
3. sent: 1; skipped: 0; total: 1
4. Info from server: "Processed 1 Failed 0 Total 1 Seconds spent 0.004047"
5. sent: 1; skipped: 0; total: 1
6. Info from server: "Processed 0 Failed 106 Total 106 Seconds spent 0.045790"
7. sent: 106; skipped: 0; total: 106
看到上述為成功
查看DAT的文件。上傳的數據
1. cat /tmp/zabbix_mysql.dat
『伍』 zabbix 如何監控 mysql 主從同步 延遲差多少時間
正值 - 表示主從已經出現延時.
0 - 該值為零,是我們極為渴望看到的情況,也就是該線程的Running狀態是No,這是一個BUG值,該參數是不支持負值的可以通過監控show slave status\G命令輸出的Seconds_Behind_Master參數的值來判斷,表示主從復制良好,可以認為lag不存在,是否有發生主從延時。
其值有這么幾種,數字越大表示從庫落後主庫越多。
負值 - 幾乎很少見:
NULL - 表示io_thread或是sql_thread有任何一個發生故障,而非Yes,只是聽一些資深的DBA說見過,其實
『陸』 shell腳本監控mysql主從同步,同步出錯時並發送郵件到指定郵箱
#!/bin/bash
#check MySQL_Slave Status
#crontab time 00:10
MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $4}'`
MYSQLIP=`ifconfig eth0|grep "inet addr" | awk -F[:" "]+ '{print $4}'`
STATUS=$(/usr/local/webserver/mysql/bin/mysql -u yuhongchun -pyuhongchun101 -S /tmp/mysql.sock -e "show slave status\G" | grep -i "running")
IO_env=`echo $STATUS | grep IO | awk ' {print $2}'`
SQL_env=`echo $STATUS | grep SQL | awk
『柒』 使用navicat for mysql 8.x中的伺服器監控,發現進程中有兩個root在訪問資料庫,是不是被黑
有可能 能改密碼改密碼 或是在防火牆里把那個IP加進黑名單
『捌』 資料庫監控是做些什麼的
深入了解資料庫響應對於單個web事務的效率。跟蹤在應用程序中執行後台事務的資料庫響應時間,這些事務是在後台線程中生成的。資料庫性能監視器可以查明阻礙優化應用程序性能的SQL語句,並允許用戶分析錯誤跟蹤,在資料庫性能問題影響您的業務之前解決它們。獲取詳細的性能指標,識別慢速的資料庫調用、以及通過詳細的圖形和表格表示資料庫的總體性能。
資料庫監控是Applications Manager重要功能之一,它能夠幫助資料庫管理員(DBA)和系統管理員監控包含Oracle、SQL Server、MySQL、Sybase、IBM DB2等多種類異構型的資料庫環境。作為無代理的資料庫監控工具,Applications Manager通過執行資料庫查詢來採集性能數據。當資料庫性能超過閾值時,生成告警通知管理員。通過直觀豐富的資料庫性能報表,DBA可以快速排查故障問題以及規劃容量。網頁鏈接
『玖』 如何監控MySQL
首先介紹下 pt-stalk,它是 Percona-Toolkit 工具包中的一個工具,說起 PT 工具包大家都不陌生,平時常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自於這個工具包,這里就不多介紹了。
pt-stalk 的主要功能是在出現問題時收集 OS 及 MySQL 的診斷信息,這其中包括:
1. OS 層面的 CPU、IO、內存、磁碟、網路等信息;
2. MySQL 層面的行鎖等待、會話連接、主從復制,狀態參數等信息。
而且 pt-stalk 是一個 Shell腳本,對於我這種看不懂 perl 的人來說比較友好,腳本裡面的監控邏輯與監控命令也可以拿來參考,用於構建自己的監控體系。
三、使用
接著我們來看下如何使用這個工具。
pt-stalk 通常以後台服務形式監控 MySQL 並等待觸發條件,當觸發條件時收集相關診斷數據。
觸發條件相關的參數有以下幾個:
function:
∘默認為 status,代表監控 SHOW GLOBAL STATUS 的輸出;
∘也可以設置為 processlist,代表監控 show processlist 的輸出;
variable:
∘默認為 Threads_running,代表 監控參數,根據上述監控輸出指定具體的監控項;
threshold:
∘默認為 25,代表 監控閾值,監控參數超過閾值,則滿足觸發條件;
∘監控參數的值非數字時,需要配合 match 參數一起使用,如 processlist 的 state 列;
cycles:
∘默認為 5,表示連續觀察到五次滿足觸發條件時,才觸發收集;
其他一些重要參數:
iterations:該參數指定 pt-stalk 在觸發收集幾次後退出,默認會一直運行。
run-time:觸發收集後,該參數指定收集多長時間的數據,默認 30 秒。
sleep:該參數指定在觸發收集後,sleep 多久後繼續監控,默認 300 秒。
interval:指定狀態參數的檢查頻率,判斷是否需要觸發收集,默認 1 秒。
dest:監控數據存放路徑,默認為 /var/lib/pt-stalk。
retention-time :監控數據保留時長,默認 30 天。
daemonize:以後台服務運行,默認不開啟。
log:後台運行日誌,默認為 /var/log/pt-stalk.log。
collect:觸發發生時收集診斷數據,默認開啟。
∘collect-gdb:收集 GDB 堆棧跟蹤,需要 gdb 工具。
∘collect-strace:收集跟蹤數據,需要 strace 工具。
∘collect-tcpmp:收集 tcpmp 數據,需要 tcpmp 工具。
連接參數:host、password、port、socket。
『拾』 如何設計一個mysql性能監控的軟體
首先介紹下 pt-stalk,它是 Percona-Toolkit 工具包中的一個工具,說起 PT 工具包大家都不陌生,平時常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自於這個工具包,這里就不多介紹了。
pt-stalk 的主要功能是在出現問題時收集 OS 及 MySQL 的診斷信息,這其中包括:
1. OS 層面的 CPU、IO、內存、磁碟、網路等信息;
2. MySQL 層面的行鎖等待、會話連接、主從復制,狀態參數等信息。
而且 pt-stalk 是一個 Shell腳本,對於我這種看不懂 perl 的人來說比較友好,腳本裡面的監控邏輯與監控命令也可以拿來參考,用於構建自己的監控體系。
三、使用
接著我們來看下如何使用這個工具。
pt-stalk 通常以後台服務形式監控 MySQL 並等待觸發條件,當觸發條件時收集相關診斷數據。
觸發條件相關的參數有以下幾個:
function:
∘默認為 status,代表監控 SHOW GLOBAL STATUS 的輸出;
∘也可以設置為 processlist,代表監控 show processlist 的輸出;
variable:
∘默認為 Threads_running,代表 監控參數,根據上述監控輸出指定具體的監控項;
threshold:
∘默認為 25,代表 監控閾值,監控參數超過閾值,則滿足觸發條件;
∘監控參數的值非數字時,需要配合 match 參數一起使用,如 processlist 的 state 列;
cycles:
∘默認為 5,表示連續觀察到五次滿足觸發條件時,才觸發收集;
其他一些重要參數:
iterations:該參數指定 pt-stalk 在觸發收集幾次後退出,默認會一直運行。
run-time:觸發收集後,該參數指定收集多長時間的數據,默認 30 秒。
sleep:該參數指定在觸發收集後,sleep 多久後繼續監控,默認 300 秒。
interval:指定狀態參數的檢查頻率,判斷是否需要觸發收集,默認 1 秒。
dest:監控數據存放路徑,默認為 /var/lib/pt-stalk。
retention-time :監控數據保留時長,默認 30 天。
daemonize:以後台服務運行,默認不開啟。
log:後台運行日誌,默認為 /var/log/pt-stalk.log。
collect:觸發發生時收集診斷數據,默認開啟。
∘collect-gdb:收集 GDB 堆棧跟蹤,需要 gdb 工具。
∘collect-strace:收集跟蹤數據,需要 strace 工具。
∘collect-tcpmp:收集 tcpmp 數據,需要 tcpmp 工具。
連接參數:host、password、port、socket。