如何监控MySQL

如何监控MySQL,第1张

首先介绍下 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,表示连续观察到五次满足触发条件时,才触发收集;

连接参数:host、password、port、socket。

其他一些重要参数:

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-tcpdump:收集 tcpdump 数据,需要 tcpdump 工具。

由于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"

找到“ #LoadModule usertrack_module modules/mod_usertrack.so” 字段,LoadModule php4_module 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-module=src/modules/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


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/8530457.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存