专栏首页devops_k8s07 . Prometheus监控Memcached并配置Grafana

07 . Prometheus监控Memcached并配置Grafana

List

  CentOS7.3
  prometheus-2.2.1.linux-amd64.tar.gz
  redis_exporter-v0.30.0.linux-amd64.tar.gz

`

节点名

IP

软件版本

硬件

网络

说明

Prometheus

192.168.43.144

list 里面都有

2C4G

Nat,内网

测试环境

Memcached

192.168.43.134

list 里面都有

2C4G

Nat,内网

测试环境

部署Prometheus

部署Promehteus请看我前面写的文章

https://www.cnblogs.com/you-men/p/12839535.html

部署Memcached

结构规划
# 用户名 memcached
# 用户组 memcached
# 端口 11211

# 源码包
/root/memcached-1.5.9.tar.gz

# 解压后源码
/root/memcached-1.5.9

# 编译目录
/root/

# 安装目录
/usr/local/memcached

# 工作目录
/var/sites/memcached
初始化系统环境
[root@memcached-1 ~]# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 
[root@memcached-1 ~]# uname -r
3.10.0-514.el7.x86_64
下载Memcached依赖
# 安装libevent依赖和gcc编译工具
yum -y install libevent libevent-devel gcc
添加用户和组
groupadd memcached;
useradd -s /sbin/nologin -d /dev/null -M -g memcached memcached;
下载Memcached包并编译安装
wget -O ./memcached-1.5.9.tar.gz http://www.memcached.org/files/memcached-1.5.9.tar.gz
tar xvf memcached-1.5.9.tar.gz
cd memcached-1.5.9
./configure --prefix=/usr/local/memcached --prefix=/usr/local/memcahced/
make && make install 
修改配置文件
mkdir -p /var/sites/memcached-1.5.9/etc/
cp /root/memcached-1.5.9/scripts/memcached.sysconfig /var/sites/memcached-1.5.9/memcached

cat /var/sites/memcached-1.5.9/memcached |sed -e "s/#.*/ /g" |uniq |awk '{if (length !=0) print $0}'
 
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="127.0.0.1"
PORT="11211"
启动Memcached
/usr/local/memcahced/bin/memcached -m 16m -p 11211 -d -u memcached -c 8192

# 验证启动结果
ps -ef |grep memcahced
memcach+  14967      1  0 15:27 ?        00:00:00 /usr/local/memcahced/bin/memcached -m 16m -p 11211 -d -u memcached -c 8192
            
# 启动多实例Memcached
/usr/local/memcahced/bin/memcached -m 16m -p 11212 -d -u memcached -c 8192

# 启动多实例Memcached指定PID文件
memcached -m 16m -p 11211 -d -u root -c 8192 -P /var/run/11211.pid
# 此时我们可以通过kill 命令指定pid文件关闭Memcached
kill `cat /var/run/11211.pid`
加入开机自启动

把上述两个实例的启动命令放入/etc/rc.local,以便下次开机可以自启动。

tail -2 /etc/rc.local
memcached -m 16m -p 11211 -d -u root -c 8192
memcached -m 16m -p 11212 -d -u root -c 8192

# 关闭可以用killall ,pkill
Memcached启动参数说明
#进程与连接设置:
-d	以守护进程(daemon)方式运行服务
-u	指定运行Memcached的用户,如果当前用户为root,需要使用此参数指定用户
-l	指定Memcached进程监听的服务器IP地址,可以不设置此参数, 如果服务器有多块网卡,可用-l指定监听的某个网卡上.

-p(小写)指定Memcached服务监听TCP端口号。默认为11211
-P(大写)设置保存Memcached的pid文件($$),保存PID到指定文件

#内存相关设置:
-m	# 指定Memcached服务可以缓存数据的最大内存,默认为64MB
-M	# Memcached服务内存不够时禁止LRU,如果内存满了会报错
-n	# 为key+value——flags分配的最小内存空间,默认为48字节
-f	# chunk size增长因子,默认为1.25
-L	# 启用大内存页,可以降低内存浪费,改进性能,视图使用最多的内存空间

#并发连接设置:
-c	# 最大的并发连接数,默认是1024
-t	
# 线程数,默认4.由于Memcached采用的是NIO,所以太多线程作用不大,
# 一般用于处理入站请求的最大线程数,仅在memcached编译时开启了支持线程才有效,
# 而linux对线程支持是非常有限的,所以不用关心了

-s # 如果只在本地通信那么可以将其监听在某个套接字上,比如mysql.scok 能够利用共享内存方式进行通信的
-S # 启用SSL认证功能

-r  # 设定最大内核大小限制
-R	# 每个event最大请求数,默认是20
-C	# 禁用CAS(可以禁止版本计数,减少开销)

#测试参数:
-v		打印较少的errors/warnings
-vv	打印非常多调试信息和错误输出到控制台
-vvv	打印极多的调试信息和错误输出,也打印内部状态转变

#其他选项可通过在命令行输入“memcached -h”命令来显示

部署Memcached_exporter

下载启动memcached
wget https://github.com/prometheus/memcached_exporter/releases/download/v0.6.0/memcached_exporter-0.6.0.linux-amd64.tar.gz

tar xvf memcached_exporter-0.6.0.linux-amd64.tar.gz 

# 启动memcached
./memcached_exporter 
验证服务可用性
# 验证启动端口
lsof -i:9150
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
memcached 2825 root    3u  IPv6  21747      0t0  TCP *:9150 (LISTEN)
memcached 2825 root    4u  IPv6  21968      0t0  TCP master:9150->192.168.43.84:60193 (ESTABLISHED)
memcached 2825 root    6u  IPv6  21969      0t0  TCP master:9150->192.168.43.84:60194 (ESTABLISHED)

配置Prometheus接入Memcached

配置Prometheus

配置Grafana

寻找memcached模板
grafana导入模板
查看memcached仪表盘

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 01 . Memcached原理,主从复制,代理,管理后台

    使用目的: 通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度,提高可扩展性

    常见_youmen
  • Rsync服务简介部署使用及原理详解

    常见_youmen
  • 02 . DockerFile构建镜像和Docker仓库

    注意: Dockerfile的指令是每执行一次都会在docker上新建一层,所以过多无意义的层,会造成镜像膨胀过大,上面提到过,可以用&&符号链接命令,这样执行...

    常见_youmen
  • nginx+memcached构建页面缓存应用

    nginx的memcached_module模块可以直接从memcached服务器中读取内容后输出,后续的请求不再经过应用程序处理,如php-fpm、djang...

    后端技术探索
  • nginx+memcached构建页面缓存应用

    nginx的memcached_module模块可以直接从memcached服务器中读取内容后输出,后续的请求不再经过应用程序处理,如php-fpm、djang...

    后端技术探索
  • Mac OS使用brew安装memcached

    代码改变世界-coding
  • memcached全面剖析

    如今,越来越多的Web应用程序开始使用memcached这个高速的缓存服务器软件。然而,memcached的基础知识远远未能像其他Web技术那样普及,memca...

    张善友
  • memcached的最新状态

    memcached 是由 Danga Interactive 开发并使用 BSD 许可的一种通用的分布式内存缓存系统。最新的稳定版本是memcached 1.4...

    张善友
  • Linux 安装Memcached

    剑行者
  • PHP 开发学习[2] —— wamp memcache 的安装与扩展(Windows 64)

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

    泥豆芽儿 MT

扫码关注云+社区

领取腾讯云代金券