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