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