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)

memcached1

配置Prometheus接入Memcached

配置Prometheus

配置Grafana

尋找memcached模板

memcached2

grafana導入模板

memcached3

查看memcached儀表盤

memcached3


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM