简单介绍

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监听的port

-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”button。导入完后,会在Graph Templates看到memcache的6项监控服务,例如以下图所看到的:

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

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

6.5。给memcache主机加入监控图

选择“Devices”,点击主机名称连接“xx.xx_memcache”,在新的界面中,点击右上角的“Create Graphs for this Host”,然后在新的页面中选择6个Memcache监控选项,点击右下角的“Create”button,就创建好了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)

以上设置仅仅是针对默认port11211,可是当你的port不是11211,而是其它的port,比方我的是12000,这种话你就要对你的cacti的data source做下小更改了,操作例如以下:

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

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

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

假设你是其它port的,仅仅要将port号更改成其它的值就能够了!

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 

action=query_verbose&id=1&host_id=22" data-ke-src="http://10.254.1.12/cacti/host.php?action=query_verbose&id=1&host_id=22" style="word-wrap: break-word;">run this data query in debug mode to get more information.

 解决方式例如以下:

、查找下面字段:
# 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

简单介绍

Memcachedanga.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监听的port

-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”button。

导入完后,会在Graph Templates看到memcache的6项监控服务,例如以下图所看到的:

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

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

6.5。给memcache主机加入监控图

选择“Devices”,点击主机名称连接“xx.xx_memcache”,在新的界面中,点击右上角的“Create Graphs for this Host”,然后在新的页面中选择6个Memcache监控选项,点击右下角的“Create”button,就创建好了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)

以上设置仅仅是针对默认port11211。可是当你的port不是11211,而是其它的port,比方我的是12000。这种话你就要对你的cacti的data source做下小更改了。操作例如以下:

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

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

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

假设你是其它port的,仅仅要将port号更改成其它的值就能够了!

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 

action=query_verbose&id=1&host_id=22" style="word-wrap: break-word;">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"字段改为你要设置的password.比方"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

[Cacti] memcache安装执行、cacti监控memcache实战的更多相关文章

  1. Windows下的Memcache安装 linux下的Memcache安装

    linux下的Memcache安装: 1. 下载 memcache的linux版本,注意 memcached 用 libevent 来作事件驱动,所以要先安装有 libevent. 官方网址:http ...

  2. cacti系列(一)之cacti的安装及配置监控mysql服务

    简介 Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数.它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构 ...

  3. Windows下的Memcache安装

    Windows下的Memcache安装: 1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached2. 在终端(也即cmd命令界面)下输入 'c:\memca ...

  4. Windows下memcache安装使用

    Windows下Memcache安装 随着时间的推移,网上现在能找到的在 Windows下安装 Memcache 的文档大多已经过时.雪峰这里再简要介绍一下当下最新版的安装和配置方法. Memcach ...

  5. Windows下的Memcache安装与测试教程

    Windows下的Memcache安装 1.下载memcache for windows. 下载地址:http://splinedancer.com/memcached-win32/,推荐下载bina ...

  6. DEDECMS最新5.7版在Windows下的Memcache安装

    一,织梦后台后台设置进入系统后台,在[系统基本参数]下面的"性能选项"卡当中,关于memcache进行如下配置: cfg_memcache_enable : 是否启用memcach ...

  7. Windows下的Memcache安装:

    Windows下的Memcache安装:1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached2. 在终端(也即cmd命令界面)下输入 'c:\memcac ...

  8. windows下memcache安装

    Windows下的Memcache安装:1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:memcached2. 在终端(也即cmd命令界面)下输入 'c:memcache ...

  9. Memcache服务器端+Redis服务器端+PHP Memcache扩展+PHP Memcached扩展+PHP Redis扩展+MemAdmin Memcache管理工具+一些概念(更新中)

    Memcache和Redis因为操作简单,是我们常用的服务器数据缓存系统,以下文字仅作备忘记录,部份转载至网络. 一.定义 1.Memcache Memcache是一个高性能的分布式的内存对象缓存系统 ...

随机推荐

  1. Android项目实战手机安全卫士(01)

    目录 项目结构图 源代码 运行结果 项目结构图 源代码 SplashActivity.java package com.coderdream.mobilesafe.activity; import a ...

  2. (读书笔记).NET大局观-.NET框架类库概观

    .NET框架类库概况 构建在.NET框架上所有的软件,都会用到通用语言进行时,即使基于最简单的CLR程序,也需要用到一部分.NET框架类库,更精致复杂的软件则使用这个类库提供的更多服务. .NET框架 ...

  3. 在大型项目上,Python 是个烂语言吗

    Robert Love, Google Software Engineer and Manager on Web Search. Upvoted by Kah Seng Tay, I was the ...

  4. HDU 4836 The Query on the Tree lca || 欧拉序列 || 动态树

    lca的做法还是非常明显的.简单粗暴, 只是不是正解.假设树是长链就会跪,直接变成O(n).. 最后跑的也挺快,出题人还是挺阳光的.. 动态树的解法也是听别人说能ac的.预计就是放在splay上剖分一 ...

  5. BZOJ 2693: jzptab( 莫比乌斯反演 )

    速度居然#2...目测是因为我没用long long.. 求∑ lcm(i, j) (1 <= i <= n, 1 <= j <= m) 化简之后就只须求f(x) = x∑u( ...

  6. 关于android多点触控

    最近项目需要一个多点触控缩放的功能.然后上网查了下资料 总结一下: 首先android sdk版本很重要,比如你在AndroidManifest.xml中指定android:minSdkVersion ...

  7. Spring MVC 多选框 绑定 Entity 中的 list 属性

    问题描述: 有两个类:Record.java 和 User.java,Record中有个attenders属性,是List<User>类型. 我想绑定Record中的attenders.网 ...

  8. Swift - 常用文件目录路径获取(Home目录,文档目录,缓存目录等)

    当前位置: 首页 > 编程社区 > Swift > Swift - 常用文件目录路径获取(Home目录,文档目录,缓存目录等) Swift - 常用文件目录路径获取(Home目录,文 ...

  9. Android手势识别(单击 双击 抬起 短按 长按 滚动 滑动)

    对于触摸屏,其原生的消息无非按下.抬起.移动这几种,我们只需要简单重载onTouch或者设置触摸侦听器setOnTouchListener即可进行处理.不过,为了提高我们的APP的用户体验,有时候我们 ...

  10. SVM(支持向量机)(一)

    (整理自AndrewNG的课件,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) SVM(Support Vector Machines)系列会循序 ...