zoukankan      html  css  js  c++  java
  • [Cacti] memcache安装执行、cacti监控memcache实战



    简单介绍

    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

    libevent2http://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    是设置memcachepid文件

     

    [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  #指定服务在345级别执行

     

    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

     

    5memcache的使用

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

     

    6memcache性能监控

    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拷贝到cactiscripts文件文件夹下

    [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:umemcache,然后进入“console”,再进入“Import Templates”。再进入“选择文件”,选择E:umemcache下的cacti_memcached_host_template.xml文件。然后点击右下角的“Import”button。导入完后,会在Graph Templates看到memcache6项监控服务,例如以下图所看到的:

     


    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”,然后在新的页面中选择6Memcache监控选项,点击右下角的“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)

     

     6Memcached - Requests/sec (get/set)

     

    以上设置仅仅是针对默认port11211,可是当你的port不是11211,而是其它的port,比方我的是12000,这种话你就要对你的cactidata 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 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

    简单介绍

    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

    libevent2http://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    是设置memcachepid文件

     

    [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  #指定服务在345级别执行

     

    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

     

    5memcache的使用

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

     

    6memcache性能监控

    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拷贝到cactiscripts文件文件夹下

    [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:umemcache,然后进入“console”。再进入“Import Templates”。再进入“选择文件”,选择E:umemcache下的cacti_memcached_host_template.xml文件。然后点击右下角的“Import”button。

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

     

    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”,然后在新的页面中选择6Memcache监控选项,点击右下角的“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)

     

     6Memcached - Requests/sec (get/set)

     

    以上设置仅仅是针对默认port11211。可是当你的port不是11211,而是其它的port,比方我的是12000。这种话你就要对你的cactidata 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 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

  • 相关阅读:
    正则 不匹配某个单词
    希赛 系统架构设计师教程 勘误
    QQ 快速登录中获取用户信息
    requests 配置tor代理后提示'Failed to establish a new connection: [Errno -2] Name or service not known'
    xadmin choice filter 多选
    kali linux 热点 无法获取IP
    windows10 输入法添加小鹤双拼
    del: recycle for linux
    安装WSL2
    cmake(转载)
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5124943.html
Copyright © 2011-2022 走看看