[Cacti] memcache安装运行、cacti监控memcache实战

标签: cacti memcache cacti | 发表时间:2014-09-30 06:51 | 作者:mchdba
出处:http://blog.csdn.net


简介

Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。Memcache官方网站:http://memcached.org/

 1,安装

下载地址:  http://www.memcached.org/downloads,我们线上使用的比较稳定的版本是1.4.15,如果官网找不到以前的版本了,可以去我的csdn资源里面下载此版本,下载地址:

memcache1.4.15 : http://download.csdn.net/detail/mchdba/7562193

libevent2: http://download.csdn.net/detail/mchdba/7562201

或者去官网下载最新的:

wget   http://memcached.org/latest

[root@localhost ~]#tar -xvf memcached-1.4.15.tar.gz

[root@localhost ~]# cd memcached-1.4.15

[root@localhost memcached-1.4.15]# ./configure && make && make test && sudo make install

……

checking for library containing clock_gettime... -lrt

checking for library containing socket... none required

checking for library containing gethostbyname... none required

checking for libevent directory... configure: error: libevent is required.  You can get it from http://www.monkey.org/~provos/libevent/

      If it's already installed, specify its path using --with-libevent=/dir/

 

看到提示,需要先安装libevent包,lebevent主要用于socket的处理,

   wget  https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

        tar -xvf libevent-2.0.21-stable.tar.gz

       cd libevent-2.0.21-stable

       ./configure  --prefix=/usr/local/libevent  

       make  

       make install  

 

#删除原来的目录,重新解压缩进行编译安装

[root@localhost ~]#rm -rf /root/memcached-1.4.15/

[root@localhost ~]# tar -xvf memcached-1.4.15.tar.gz

[root@localhost ~]# cd /root/memcached-1.4.15/

[root@localhost memcached-1.4.15]# ./configure --with-libevent=/usr/local/libevent --prefix=/usr/local/memcache

[root@localhost memcached-1.4.15]# make

[root@localhost memcached-1.4.15]# make test

[root@localhost memcached-1.4.15]# make install

 

2,如何运行memcache

/usr/local/bin/memcached -d -m 10  -u root -l 10.xx.xx.xx -p 12000 -c 1024 –P /tmp/memcached.pid

##  相关选项说明

-d   表示启动一个守护进程

-m   是分配给memcached使用的内存

-u   运行memcached的用户

-l     是memcached监听的ip

-p    是memcached监听的端口

-c    memcache运行的最大并发连接数

-P    是设置memcache的pid文件

 

[root@localhost ~]# /usr/local/memcache/bin/memcached -d -u nobody -m 1024 -t 64 -c 2048 -k -I 1M -L -l 127.0.0.1 -p11211 -P /var/memcached/memcached_11211.pid

Cannot enable large pages on this system

(There is no Linux support as of this version)

[root@localhost ~]#

Cannot enable large pages,启动命令不合适,换成如下

/usr/local/memcache/bin/memcached -d -m 1024 -u root -l 10.xx.xx.xx -p 11211 -c 2048 -P /var/memcached/memcached.pid

 

3,实现service启动停止以及查看状态

然后执行如下,加载到启动项:

chkconfig --add memcache  #注册服务

chmod 700 memcache

chkconfig --level 345 memcache on  #指定服务在3、4、5级别运行

 

4,简单测试

[root@localhost ~]# telnet 127.0.0.1 11211

# 存一个简单的key1,值为123456

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

set key1 0 0 6

123456

STORED  #存储成功

quit

Connection closed by foreign host.

[root@localhost ~]# telnet 127.0.0.1 11211

# 去获取这个key1的值

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

get key1

VALUE key1 0 6

123456  #获取成功

END

 

5,memcache的使用

有些是转载的,原文地址: http://blog.csdn.net/heiyeshuwu

 

6,memcache性能监控

6.1,安装python插件

下载地址:http://download.csdn.net/detail/wufongming/1159646

tar -xvf python-memcached-latest.tar.gz

cd python-memcached-1.43

python setup.py install

 

运行上面的命令的时候出现如下错误

Traceback (most recent call last):

File "setup.py", line 3, in ?

from setuptools import setup

ImportError: No module named setuptools

解决办法:yum -y install python-setuptools

安装成功后再次 python setup.py install 安装就可以成功了。


6.2,下载安装插件

[root@squid-2 soft]# wget  http://s1.dlnws.com/dealnews/developers/cacti-memcached-1.0.tar.gz

解压缩:

[root@squid-2 soft]# tar -xvf cacti-memcached-1.0.tar.gz

cacti-memcached-1.0/

cacti-memcached-1.0/cacti_memcached_host_template.xml

cacti-memcached-1.0/INSTALL

cacti-memcached-1.0/memcached.py

cacti-memcached-1.0/README

[root@squid-2 soft]#

 

将监控文件memcached.py复制到cacti的scripts文件目录下

[root@squid-2 cacti-memcached-1.0]# pwd

/root/soft/cacti-memcached-1.0

[root@squid-2 cacti-memcached-1.0]# cp memcached.py /var/www/html/cacti/scripts/

[root@squid-2 cacti-memcached-1.0]#

 

赋予执行用户权限

[root@squid-2 cacti-memcached-1.0]# chown -R apache.apache /var/www/html/cacti/scripts/memcached.py

[root@squid-2 cacti-memcached-1.0]#

 

6.3,在cacti界面导入memcache模板文件

将解压缩的cacti_memcached_host_template.xml文件copy到本地E:\u\memcache,然后进入“console”,再进入“Import Templates”,再进入“选择文件”,选择E:\u\memcache下的cacti_memcached_host_template.xml文件,然后点击右下角的“Import”按钮。导入完后,会在Graph Templates看到memcache的6项监控服务,如下图所示:

 


6.4,在界面添加memcache主机服务

进入“Devices”,点击右上角的“Add”按钮, 填写主机名称和主机ip地址,在“Host Template”下拉框里面选择“Memcached Server”选项,点击右下角的“Save”按钮创建memcache服务主机,如下图所示。


6.5,给memcache主机添加监控图

选择“Devices”,点击主机名称连接“xx.xx_memcache”,在新的界面中,点击右上角的“Create Graphs for this Host”,然后在新的页面中选择6个Memcache监控选项,点击右下角的“Create”按钮,就创建好了memcache监控图,如下图所示:



6.6,查看memcache监控图

       选择“monitor”,再选择右边的“Tree View”,再选择左边的memcache主机名称,就会在右边出现6个监控图,如下所示:

(1) Memcached - Bytes Used



(2)Memcached - Cache Hits and Misses



 
 (3)Memcached - Current Connections


(4)Memcached - Items Cached

 

(5)Memcached - Network Traffic (bits/sec)

 

 (6)Memcached - Requests/sec (get/set)

 

以上设置只是针对默认端口11211,但是当你的端口不是11211,而是其他的端口,比如我的是12000,这样的话你就要对你的cacti的data source做下小更改了,操作如下:

Console---Data Input Methods--Memcached – Statistics

找到Input String的值python /scripts/memcached.py

更改成:python /scripts/memcached.py –p 12000

如果你是其他端口的,只要将端口号更改成其他的值就可以了!

 

6.7,遇到的问题总结

(1)有图出不来数据,显示为nan值,问题出在,没有安装 python-memcached-latest.tar.gz插件导致。安装完插件后,重启cacti服务,图上的数据显示出来了。

 

(2)网卡监控流量选项选择不了,报错: This data query returned 0 rows, perhaps there was a problem executing this data query. You can  run this data query in debug mode to get more information.

 解决方案如下:

a,第一种
打开默认的/etc/snmp/snmpd.conf文件,更改如下配置:
  1、查找以下字段:
      sec.name  source          community
com2sec notConfigUser  default       public
将"comunity"字段改为你要设置的密码.比如"public". 

2、查找以下字段:
# Finally, grant the group read-only access to the systemview view.
#       group          context sec.model sec.level prefix read   write  notif
access  notConfigGroup ""      any       noauth    exact  all none none
将"systemview"字段改为all.

3、查找以下字段:
#           incl/excl subtree                          mask
#view all    included  .1                               80
将该行前面的"#"去掉.

然后重启snmpd服务,就OK了。

 

b,另外还有一种办法如下:

如下:
编辑linux主机下的/etc/snmp/snmpd.conf文件
找到62行:
access  notConfigGroup ""      any       noauth    exact  systemview none none
修改成:(如果有#号,把#号去掉)
access  notConfigGroup ""      any       noauth    exact  mib2 none none

找到89行,把改行的#去掉:
#view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc
修改成:
view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc

重起snmpd服务,service snmpd restart

 


参考文章地址:

http://blog.chinaunix.net/uid-20639775-id-154601.html

https://code.google.com/p/memcached/wiki/NewStart

简介

Memcache danga.com 的一个项目,最早是为  LiveJournal  服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。 Memcache 官方网站: http://memcached.org/

  1 ,安装

下载地址:  http://www.memcached.org/downloads,我们线上使用的比较稳定的版本是1.4.15,如果官网找不到以前的版本了,可以去我的csdn资源里面下载此版本,下载地址:

memcache1.4.15 : http://download.csdn.net/detail/mchdba/7562193

libevent2: http://download.csdn.net/detail/mchdba/7562201

或者去官网下载最新的:

wget   http://memcached.org/latest

[root@localhost ~]#tar -xvf memcached-1.4.15.tar.gz

[root@localhost ~]# cd memcached-1.4.15

[root@localhost memcached-1.4.15]# ./configure && make && make test && sudo make install

……

checking for library containing clock_gettime... -lrt

checking for library containing socket... none required

checking for library containing gethostbyname... none required

checking for libevent directory... configure: error: libevent is required.  You can get it from http://www.monkey.org/~provos/libevent/

      If it's already installed, specify its path using --with-libevent=/dir/

 

看到提示,需要先安装libevent包,lebevent主要用于socket的处理,

   wget  https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

        tar -xvf libevent-2.0.21-stable.tar.gz

       cd libevent-2.0.21-stable

       ./configure  --prefix=/usr/local/libevent  

       make  

       make install  

 

#删除原来的目录,重新解压缩进行编译安装

[root@localhost ~]#rm -rf /root/memcached-1.4.15/

[root@localhost ~]# tar -xvf memcached-1.4.15.tar.gz

[root@localhost ~]# cd /root/memcached-1.4.15/

[root@localhost memcached-1.4.15]# ./configure --with-libevent=/usr/local/libevent --prefix=/usr/local/memcache

[root@localhost memcached-1.4.15]# make

[root@localhost memcached-1.4.15]# make test

[root@localhost memcached-1.4.15]# make install

 

2,如何运行memcache

/usr/local/bin/memcached -d -m 10  -u root -l 10.xx.xx.xx -p 12000 -c 1024 –P /tmp/memcached.pid

##  相关选项说明

-d   表示启动一个守护进程

-m   是分配给memcached使用的内存

-u   运行memcached的用户

-l     是memcached监听的ip

-p    是memcached监听的端口

-c    memcache运行的最大并发连接数

-P    是设置memcache的pid文件

 

[root@localhost ~]# /usr/local/memcache/bin/memcached -d -u nobody -m 1024 -t 64 -c 2048 -k -I 1M -L -l 127.0.0.1 -p11211 -P /var/memcached/memcached_11211.pid

Cannot enable large pages on this system

(There is no Linux support as of this version)

[root@localhost ~]#

Cannot enable large pages,启动命令不合适,换成如下

/usr/local/memcache/bin/memcached -d -m 1024 -u root -l 10.xx.xx.xx -p 11211 -c 2048 -P /var/memcached/memcached.pid

 

3,实现service启动停止以及查看状态

然后执行如下,加载到启动项:

chkconfig --add memcache  #注册服务

chmod 700 memcache

chkconfig --level 345 memcache on  #指定服务在3、4、5级别运行

 

4,简单测试

[root@localhost ~]# telnet 127.0.0.1 11211

# 存一个简单的key1,值为123456

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

set key1 0 0 6

123456

STORED  #存储成功

quit

Connection closed by foreign host.

[root@localhost ~]# telnet 127.0.0.1 11211

# 去获取这个key1的值

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

get key1

VALUE key1 0 6

123456  #获取成功

END

 

5,memcache的使用

有些是转载的,原文地址: http://blog.csdn.net/heiyeshuwu

 

6,memcache性能监控

6.1,安装python插件

下载地址:http://download.csdn.net/detail/wufongming/1159646

tar -xvf python-memcached-latest.tar.gz

cd python-memcached-1.43

python setup.py install

 

运行上面的命令的时候出现如下错误

Traceback (most recent call last):

File "setup.py", line 3, in ?

from setuptools import setup

ImportError: No module named setuptools

解决办法:yum -y install python-setuptools

安装成功后再次 python setup.py install 安装就可以成功了。

6.2,下载安装插件

[root@squid-2 soft]# wget  http://s1.dlnws.com/dealnews/developers/cacti-memcached-1.0.tar.gz

解压缩:

[root@squid-2 soft]# tar -xvf cacti-memcached-1.0.tar.gz

cacti-memcached-1.0/

cacti-memcached-1.0/cacti_memcached_host_template.xml

cacti-memcached-1.0/INSTALL

cacti-memcached-1.0/memcached.py

cacti-memcached-1.0/README

[root@squid-2 soft]#

 

将监控文件memcached.py复制到cacti的scripts文件目录下

[root@squid-2 cacti-memcached-1.0]# pwd

/root/soft/cacti-memcached-1.0

[root@squid-2 cacti-memcached-1.0]# cp memcached.py /var/www/html/cacti/scripts/

[root@squid-2 cacti-memcached-1.0]#

 

赋予执行用户权限

[root@squid-2 cacti-memcached-1.0]# chown -R apache.apache /var/www/html/cacti/scripts/memcached.py

[root@squid-2 cacti-memcached-1.0]#

 

6.3,在cacti界面导入memcache模板文件

将解压缩的cacti_memcached_host_template.xml文件copy到本地E:\u\memcache,然后进入“console”,再进入“Import Templates”,再进入“选择文件”,选择E:\u\memcache下的cacti_memcached_host_template.xml文件,然后点击右下角的“Import”按钮。导入完后,会在Graph Templates看到memcache的6项监控服务,如下图所示:

 

6.4,在界面添加memcache主机服务

进入“Devices”,点击右上角的“Add”按钮, 填写主机名称和主机ip地址,在“Host Template”下拉框里面选择“Memcached Server”选项,点击右下角的“Save”按钮创建memcache服务主机,如下图所示。

6.5,给memcache主机添加监控图

选择“Devices”,点击主机名称连接“xx.xx_memcache”,在新的界面中,点击右上角的“Create Graphs for this Host”,然后在新的页面中选择6个Memcache监控选项,点击右下角的“Create”按钮,就创建好了memcache监控图,如下图所示:


6.6,查看memcache监控图

        选择“ monitor ”,再选择右边的“ Tree View ”,再选择左边的 memcache 主机名称,就会在右边出现 6 个监控图,如下所示:

(1) Memcached - Bytes Used



(2)Memcached - Cache Hits and Misses



 
 (3)Memcached - Current Connections


(4)Memcached - Items Cached

 

(5)Memcached - Network Traffic (bits/sec)

 

 (6)Memcached - Requests/sec (get/set)

 

以上设置只是针对默认端口11211,但是当你的端口不是11211,而是其他的端口,比如我的是12000,这样的话你就要对你的cacti的data source做下小更改了,操作如下:

Console---Data Input Methods--Memcached – Statistics

找到Input String的值python /scripts/memcached.py

更改成:python /scripts/memcached.py –p 12000

如果你是其他端口的,只要将端口号更改成其他的值就可以了!

 

6.7,遇到的问题总结

(1)有图出不来数据,显示为nan值,问题出在,没有安装 python-memcached-latest.tar.gz插件导致。安装完插件后,重启cacti服务,图上的数据显示出来了。

 

(2)网卡监控流量选项选择不了,报错: This data query returned 0 rows, perhaps there was a problem executing this data query. You can  run this data query in debug mode to get more information.

 解决方案如下:

a,第一种
打开默认的/etc/snmp/snmpd.conf文件,更改如下配置:
  1、查找以下字段:
      sec.name  source          community
com2sec notConfigUser  default       public
将"comunity"字段改为你要设置的密码.比如"public". 

2、查找以下字段:
# Finally, grant the group read-only access to the systemview view.
#       group          context sec.model sec.level prefix read   write  notif
access  notConfigGroup ""      any       noauth    exact  all none none
将"systemview"字段改为all.

3、查找以下字段:
#           incl/excl subtree                          mask
#view all    included  .1                               80
将该行前面的"#"去掉.

然后重启snmpd服务,就OK了。

 

b,另外还有一种办法如下:

如下:
编辑linux主机下的/etc/snmp/snmpd.conf文件
找到62行:
access  notConfigGroup ""      any       noauth    exact  systemview none none
修改成:(如果有#号,把#号去掉)
access  notConfigGroup ""      any       noauth    exact  mib2 none none

找到89行,把改行的#去掉:
#view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc
修改成:
view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc

重起snmpd服务,service snmpd restart

 


参考文章地址:

http://blog.chinaunix.net/uid-20639775-id-154601.html

https://code.google.com/p/memcached/wiki/NewStart

作者:mchdba 发表于2014-9-29 22:51:28 原文链接
阅读:115 评论:0 查看评论

相关 [cacti memcache cacti] 推荐:

[Cacti] memcache安装运行、cacti监控memcache实战

- - CSDN博客系统运维推荐文章
Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力. Memcache官方网站:http://memcached.org/. 下载地址:  http://www.memcached.org/downloads,我们线上使用的比较稳定的版本是1.4.15,如果官网找不到以前的版本了,可以去我的csdn资源里面下载此版本,下载地址:.

使用Cacti监控MongoDB和Redis

- Wang Dong - NoSQLFan
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具. 被广泛的用于对服务器的运维监控中,Cacti提供了一种插件式的管理,只要按要求写好特定的模板,那么你就可以对任何服务进行流量监控. 本文就是要为大家介绍两个模板,分别是MongoDB和Redis的Cacti模板,使用它,你可以对你的MongoDB和Redis服务进行流量监控.

Cacti监控的安装与配置

- - 寒江孤影
Cacti是一个非常好的网络监控工具,利用php语言实现其功能,Cacti通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数. 它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善.

[Cacti] mongodb性能监控实战

- - CSDN博客数据库推荐文章
          为了更好的使用mongodb,需要监控出mongodb的一些基础使用情况,比如Flush数、连接数、内存使用率、Index操作,Slave延迟等等,这些可以通过配置cacti监控mongodb的模板来完成. 1,在cacti界面导入模板 在计算机本地,下载此tgz包:http://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz.

Cacti监控Redis实现过程

- - BlogJava-qileilove
 Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具. 被广泛的用于对服务器的运维监控中,Cacti提供了一种插件式的管理,只要按要求写好特定的模板,那么你就可以对任何服务进行流量监控. 本文就是要为大家介绍两个模板,分别是MongoDB和Redis的Cacti模板,使用它,你可以对你的MongoDB和Redis服务进行流量监控.

配置 CACTI 监控 MySQL 数据库状态

- - CSDN博客数据库推荐文章
   MySQL 自身在性能监测方面很不给力、这是令许多 MySQL DBA 夜夜辗转难眠、.    幸运的是、通过 Cacti 监测(注意是监测而非监控)MySQL 数据库状态.    借助 cacti+rrdtool 强大的绘图功能、加上专用的 mysql 模板、能够灵活快速的创建对多个 MySQL 实例的监测.

Cacti监控Tomcat服务器实现过程

- - CSDN博客系统运维推荐文章
1 首先去官网上面下载通用的监控模板. 一般使用TomcatStats-0.1.zip 模板居多,下载地址:. 在linux服务器上面使用wget下载,wget  http://forums.cacti.net/download/file.php?id=12310,报如下错误:. 正在连接 forums.cacti.net|173.225.179.10|:80... 已连接.

Cacti监控MySQL实现过程中碰到的问题解汇总

- - CSDN博客系统运维推荐文章
前言:cacti监控mysql服务器的大概50张graphs都弄出来了,也出图了,其中遇到一些问题,印象比较深刻的记录如下:. 点击Create Graphs for this Host 进去创建IO的图,结果报错. 进入 *Turn On Graph Debug Mode模式,报错如下:. ERROR: invalid rpn expression in: a,8,*,如下图所示.

Nosql Redis ttserver Flare memcache比较

- - 小彰
随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速. 而传统的关系数据库在应付 web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如:. 1、High performance - 对数据库高并发读写的需求.

Memcache架构新思考

- - ITeye博客
2011年初Marc Kwiatkowski通过Memecache@Facebook介绍了Facebook的Memcache架构,现在重新审视这个架构,仍有很多方面在业界保持先进性. 作为weibo内部数据处理量最大,对数据延迟最敏感的部门,基于本厂2年多来对mc的使用心得,我在本文总结对MC架构的一些新思考.