隆重推荐:甲骨碎

隆重推荐:百年诅咒

Redis安装和使用示例
隆重推荐:唐德纲 - 晚清七十年
配置CACTI监控MySQL数据库状态(5)增加MySQL监控模板
4、增加MySQL监控模板
下载模板:
#wget http://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz
# tar xvfz better-cacti-templates-1.1.8.tar.gz
# cd better-cacti-templates-1.1.8
# cp scripts/ss_get_mysql_stats.php /data/www/cacti/scripts/
导入模板,在cacti管理界面(Import Templates)导入templates/cacti_host_template_x_mysql_server_ht_0.8.6i-sver1.1.8.xml文件。如无异常应显示[success]。
修改脚本文件:
- # vi /data/www/cacti/scripts/ss_get_mysql_stats.php
修改
$mysql_user = ¨cacti¨;
$mysql_pass = ¨cacti¨;
$mysql_port = 3306;
$cache_dir = ¨/data/www/cacti/cache¨;
创建缓存目录并授予所有用户读写权限:
# mkdir /data/www/cacti/cache
# chown cacti:cacti /data/www/cacti/cache
# chmod 777 /data/www/cacti/cache
客户端的配置
以MySQL服务器172.16.1.110为例,创建监控mysql的用户并授予所需要的权限:
- mysql> grant process,super,replication client on *.* to ¨cacti¨@¨10.0.0.116¨ identified by ¨cacti¨;
安装net-snmp及关联组件,为简化操作直接使用yum安装了:
- # yum -y install net-snmp net-snmp-utils net-snmp-devel net-snmp-libs
配置net-snmp:
- # vi /etc/snmp/snmpd.conf
修改:
access notConfigGroup "" any noauth exact all none none
com2sec local localhost public
com2sec mynetwork 10.0.0.0/24 public
view all included .1 80
启动服务:
- # /etc/init.d/snmpd start
执行下列命令检查:
- # snmpwalk -v 2c -c public localhost sysUpTime
正常情况下应有返回。
返回到cacti浏览器管理界面,创建对刚刚配置好的客户端的监控,按照下列步骤操作:
Devices->Add
Description填写描述,Hostname填写客户端IP地址,这里是172.16.1.110,Host Template选择一个模板,这里选择的是预先定制好的模板MYSQLDB(如果没有,选择Local Linux Machine也可以,模板的优点是方便对监控项管理),其它不变,点击create。
Devices->[刚刚创建的客户端名称]->Create Graphs for this host
根据需要,增加监控项即可。
配置完成后,就可以进入Graph Management中查看具体的监控项了。点击就可以看到图片。默认情况下cacti每5分钟收集一次数据,因此至少需要等待几分钟时间。
至此,配置基本完成。之后就可以根据实际情况,做各种定制化的监控方案。
N、错误处理
Apache日志中提示:
-
[Fri Mar 23 09:30:16 2012] [error] [client 10.0.10.199] PHP Warning: strtotime(): It is not safe to rely on the system¨s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ¨Asia/Chongqing¨ for ¨CST/8.0/no DST¨ instead in /data/www/cacti/include/global_constants.php on line 165
修改/data/www/cacti/include/global_constants.php文件,增加一行:
- date_default_timezone_set (¨Asia/Shanghai¨);
Apache日志中提示:[error] [client 10.0.10.199] File does not exist: /data/www/favicon.ico
手动创建一个该文件即可:
- # cat /dev/null > /data/www/favicon.ico
配置CACTI监控MySQL数据库状态(4)配置cacti
3、配置cacti
创建数据库:
- # mysql -uroot -h localhost -P 3306 -e "create database cactidb"
创建用户:
- # mysql -uroot -h localhost -P 3306 -e "grant all on cactidb.* to cacti@¨localhost¨ identified by ¨cacti¨"
导入数据:
- # mysql -ucacti -pcacti -h localhost -P 3306 -D cactidb < /data/www/cacti/cacti.sql
编辑cacti配置文件:
# vi /data/www/cacti/include/config.php
$database_type = "mysql";
$database_default = "cactidb";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
$database_ssl = false;
安装至此基本完成,接下来就可以在浏览器中操作了。
打开浏览器,访问:http://10.0.0.116/cacti/,按照提示进行第一次安装:



注意如果有提示NOT FOUND的项,要手工修正路径,这里需要修改rrdtool和php两个应用的路径。全部验证完后点击FINISH,然后就可以登录cacti了。第一次登录的默认用户名是admin,密码是cacti。
创建自动任务,让cacti能够定时收集数据:
# crontab -ucacti -e
*/5 * * * * /usr/local/webserver/php/bin/php /data/www/cacti/poller.php > /dev/null 2>&1
然后应该就能够在管理界面下看到图片了。
配置CACTI监控MySQL数据库状态(3)配置apache模块
2、配置apache模块
编译apache配置文件:
- vi /usr/local/webserver/apache2.2.21/conf/httpd.conf
修改用户:
User apache
Group apache
修改服务名称:
- ServerName 10.0.0.116:80
修改站点起始目录:
- DocumentRoot "/data/www"
修改目录:
-
<Directory "/data/www">
增加默认做为首页的文件名:
- DirectoryIndex index.html index.php
增加对php类型的支持:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps然后:wq保存退出!
执行apachectl -t检查配置文件语法,正常情况下应返回Syntax OK:
# /usr/local/webserver/apache2.2.21/bin/apachectl -t
Syntax OK
启动snmp服务:
- # service snmpd start
启动apache服务:
- # /usr/local/webserver/apache2.2.21/bin/apachectl start
配置CACTI监控MySQL数据库状态(2)安装cacti相关软件包
1、安装软件包
1.1 安装APACHE
创建组/用户及安装apache:
# groupadd apache
# useradd -g apache apache
# chown apache:apache /data/www -R
# wget http://mirror.bjtu.edu.cn/apache/httpd/httpd-2.2.21.tar.gz
# tar xvfz httpd-2.2.21.tar.gz
# cd httpd-2.2.21
# ./configure
--prefix=/usr/local/webserver/apache2.2.21
--enable-so
--enable-deflate
--enable-cache
--enable-disk-cache
--enable-mem-cache
--enable-file-cache
--enable-modules=all
--enable-shared=max
--enable-rewrite
--enable-static-support
--enable-static-htpasswd
--enable-static-htdigest
--enable-static-rotatelogs
--enable-static-logresolve
--enable-static-htdbm
--enable-static-ab
--enable-static-checkgid
--enable-vhost-alias
--with-mpm=worker
# make
# make install
1.2 安装MySQL
自MySQL5.5版本之后,编译工具变成了CMake,这里首先安装CMake:
# wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
# tar xvfz cmake-2.8.4.tar.gz
# cd cmake-2.8.4
# ./configure
接下来安装MySQL,先创建用户,而后再执行编译。
# groupadd mysql
# useradd -g mysql mysql
# tar xvfz mysql-5.5.20.tar.gz
# cd mysql-5.5.20
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
> -DDEFAULT_CHARSET=utf8
> -DDEFAULT_COLLATION=utf8_general_ci
> -DENABLED_LOCAL_INFILE=ON
> -DWITH_INNOBASE_STORAGE_ENGINE=1
> -DWITH_FEDERATED_STORAGE_ENGINE=1
> -DWITH_BLACKHOLE_STORAGE_ENGINE=1
> -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
> -DWITH_PARTITION_STORAGE_ENGINE=1
> -DWITH_PERFSCHEMA_STORAGE_ENGINE=1
> -DCOMPILATION_COMMENT=¨JSS for BKmysql¨
> -DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock
> -DSYSCONFDIR=/data/mysqldata/3306
# make
# make install
# chown mysql:mysql /usr/local/mysql -R
创建数据库并启动MySQL服务:
# sudo su - mysql
$ /usr/local/mysql/scripts/mysql_install_db --datadir=/data/mysqldata/3306/data
$ cp /usr/local/mysql/support-files/my-large.cnf /data/mysqldata/3306/my.cnf
$ /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &
这个mysql库是用于保存cacti收集到的数据及其自身配置的,也可以将这部分数据保存在当前已存在的数据库上,那就可以跳过本步了。
1.3 安装关联软件包
查询关联软件包是否已安装:
# rpm -q libxml2 libjpeg-6b freetype zlib libpng fontconfig gd net-snmp
libxml2-2.7.6-1.el6.x86_64
libjpeg-6b-46.el6.x86_64
freetype-2.3.11-5.el6.x86_64
zlib-1.2.3-25.el6.x86_64
libpng-1.2.44-1.el6.x86_64
fontconfig-2.8.0-3.el6.x86_64
package gd is not installed
net-snmp-5.5-37.el6_2.1.x86_64
如果显示not installed,则说明该包未安装。如上所示,这里gb包缺失,对于监控需求的cacti来说gd并非必选组件,它只是用来生成水印,在我们这个环境中实际上是用不到的。不过多数php环境一般都有此需求,就算是为了全面些吧,这里也选择将其补全。
下载gd源码包:https://bitbucket.org/pierrejoye/gd-libgd
# wget https://bitbucket.org/pierrejoye/gd-libgd/get/GD_2_0_33.tar.gz
# tar xvfz GD_2_0_33.tar.gz
# cd pierrejoye-gd-libgd-5551f61978e3/src/
# ./configure
# make
# make install
注意net-snmp非常重要,一定要确保其安装可用,可以通过下列命令检查:
- # snmpwalk -v 2c -c public localhost
正常情况下应返回一系列的系统信息。
1.4 安装PHP
# wget http://cn.php.net/get/php-5.3.8.tar.gz/from/cn2.php.net/mirror
# tar xvfz php-5.3.8.tar.gz
# cd php-5.3.8
# ./configure
--prefix=/usr/local/webserver/php
--with-apxs2=/usr/local/webserver/apache2.2.21/bin/apxs
--with-mysql=/usr/local/mysql55
--with-freetype-dir
--with-gd
--with-zlib
--with-jpeg-dir
--with-png-dir
--with-iconv=/usr/local/webserver/libiconv
--enable-short-tags
--enable-sockets
--enable-zend-multibyte
--enable-soap
--with-openssl
--enable-mbstring
--enable-static
--enable-gd-native-ttf
--with-curl
--with-iconv
--with-xsl
--enable-ftp
--with-libxml-dir
# make
# make install
# cp php.ini-production /usr/local/webserver/php/lib/php.ini
1.5 安装RRDTool
# wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.14.tar.gz
# tar xvfz rrdtool-1.4.4.tar.gz
# ./configure --prefix=/usr/local/rrdtool --disable-python --disable-tcl
# make
# make install
1.6 安装Cacti
# useradd cacti
# tar xvfz cacti-0.8.7i.tar.gz
# mv cacti-0.8.7i /data/www/cacti
# chown cacti:cacti /data/www/cacti -R招聘MySQL DBA,走过路过别错过了~
隆重推荐:小强升职记

===========我是分隔线===============
书中提供了职业价值观的计算表(见PDF版本),由于题目较多,挨个计算不易,附一条SQL,可用于生成计算结果
计算的SQL:
with t1 as
(select rownum id, column_value c
from
table(sys.odcivarchar2list('c','c','b','c','c','c','c','c','c','d','d','b','b','b','b','b','b','d','c','c','d','b','b','b','d','c','b','c','c','c','c','b','c','b','c','c','b','d','c','c','c','c','c','b','b','c','b','c','d','b','c','d'))),
tt
as
(select rownum rn, c, decode(c, 'a', 5, 'b', 4, 'c', 3, 'd', 2, 1)
score
from t1)
select sum(score), '得他主义' from tt where rn in (2, 30,
36, 46) union all
select sum(score), '美感' from tt where rn in (7, 20, 41,
52) union all
select sum(score), '智力刺激' from tt where rn in (1, 23, 38, 45)
union all
select sum(score), '成就感' from tt where rn in (13, 17, 44, 47)
union all
select sum(score), '独立性' from tt where rn in (5, 15, 21, 40) union
all
select sum(score), '社会地位' from tt where rn in (6, 28, 32, 49) union
all
select sum(score), '管理' from tt where rn in (14, 24, 37, 48) union
all
select sum(score), '经济报酬' from tt where rn in (3, 22, 39, 50) union
all
select sum(score), '社会交际' from tt where rn in (11, 18, 26, 34) union
all
select sum(score), '安全感' from tt where rn in (9, 16, 19, 42) union
all
select sum(score), '舒适' from tt where rn in (12, 25, 35, 51) union
all
select sum(score), '人际关系' from tt where rn in (8, 27, 33, 43) union
all
select sum(score), '变异性' from tt where rn in (4, 10, 29, 31) order by
1
配置CACTI监控MySQL数据库状态(1)准备工作
MySQL数据库做为开源数据库软件中的佼佼者,虽然应用领域众多,但其自身在性能监测方面很不给力,尽管MySQL也提供的专用了GUI工作,可是监测只是其中的一个很小的功能点,监测项少且很不灵活,当拥有多个MySQL数据库实例时,如何能够高效快速的查看众多实例的性能状态,想必很多MySQL DBA都在苦苦寻找~~
近日三思经过一凡尝试,在多个流行方式中最终选择通过Cacti监测(注意是监测而非监控)MySQL数据库状态。借助cacti+rrdtool强大的绘图功能,加上专用的mysql模板,能够灵活快速的创建对多个MySQL实例的监测。
下面简要罗列Cacti监测MySQL性能状态的配置。
Cacti是一套拿PHP编写的应用软件,因此需要有PHP+APACHE的运行环境,出图是基于RRDTool,数据存储则保存在MySQL数据库中,因此安装Cacti前需要首先安装下列关联的软件:
- RRDTool:
- MySQL:
- PHP:
- WebServer(Apache/IIS等):
如果是RPM方式安装,需要下列RPM包:
- httpd
- php
- php-mysql
- php-snmp
- mysql
- mysql-server
- net-snmp*
0、准备工作
本次安装Cacti及相关软件均为源码编译方式安装,首先下载相关的软件源码包:
主角:
Cacti:http://www.cacti.net/downloads/
幕后主角:
Apache:http://httpd.apache.org/download.cgi
Php:http://www.php.net/downloads.php
MySQL:http://dev.mysql.com/downloads/mysql/
RRDTool:http://oss.oetiker.ch/rrdtool/download.en.html
NET-SNMP:http://net-snmp.sourceforge.net/
处理MySQL复制环境Slave故障的一个案例
索引优化使MySQL整机负载降低百倍的一个案例~
MySQL数据库mysqldump命令备份异常的一个案例
隆重推荐:男人来自火星,女人来自金星

于是,他们开始了相互之间的冲突……”这就是约翰。格瑞在他的新书□编注:此前言为该书初版时所写□《男人来自火星,女人来自金星》中为说明男人和女人之间关系时所使用的比喻。虽然每个人都知道男人和女人是不同的,但怎样的不同对大多数人来说却并不清楚。这个比喻告诉人们,男人和女人就像是来自不同的星球,说不同的语言,有不同的感情需要,按不同的思维方式思考。如果不了解这些不同,男人和女人在相处时,就会常常误解对方,不知道为什么会出现这么些矛盾,而且不知道去如何解决。





