友情連結
Zabbix拓撲圖繪制,快速定位故障主機
Mycat部署mysql讀寫分離
一/mysql主從
1/修改agentd
[root@192_168_5_8 zabbix_agentd.d]# ll
總用量 8
-rwxr-xr-x 1 root root 202 8月 10 2020 slave.sh
-rw-r--r-- 1 root root 2484 8月 10 2020 userparameter_mysql.conf
[root@192_168_5_88 zabbix_agentd.d]# cat slave.sh
#!/bin/bash
case $1 in
mysql_slave)
/usr/local/mysql/bin/mysql -uzabbix -e 'show slave status\G' |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}' |grep -c Yes
;;
esac
[root@192_168_5_8 zabbix_agentd.d]# cat userparameter_mysql.conf
UserParameter=mysql.slave[*],sudo /etc/zabbix/zabbix_agentd.d/slave.sh $1
[root@192_168_5_8 zabbix_agentd.d]#service zabbix-agent restart
2/zabbix服務端測試
[root@localhost ~]# zabbix_get -s 192.168.5.8 -k mysql.slave[mysql_slave]
2
3/zabbix監控平台檢視資料
mysql主從監控模闆
連結:https://pan.baidu.com/s/1_BwXIAJd3BS3JqXHk1FX6w
提取碼:as0s
二/nginx監控
1、修改Nginx配置檔案
以便通路nginx status頁面(nginx編譯時需加參數--with-http_stub_status_module)
[root@HK_192_168_5_5 sbin]#vi /data/nginx/conf/nginx.conf
http {
include /data/nginx/conf/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /data/nginx/log/access.log main;
sendfile on;
keepalive_timeout 65;
server {
listen 11180;
server_name localhost;
location /nginx_status{
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
}
2/測試nginx資料擷取
[root@HK_192_168_5_5 sbin]# ./nginx -t -c /data/nginx/conf/nginx.conf
nginx: the configuration file /data/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /data/nginx/conf/nginx.conf test is successful
[root@HK_192_168_5_5 sbin]# sh reload.sh
[root@HK_192_168_5_5 sbin]# curl http://127.0.0.1:11180/nginx_status
Active connections: 2
server accepts handled requests
38452793 38452793 1
Reading: 0 Writing: 1 Waiting: 0
[root@HK_192_168_5_5 sbin]#
3/建立腳本
[root@HK_192_168_5_5 zabbix_agentd.d]# chmod +x nginx-status.sh
[root@HK_192_168_5_5 zabbix_agentd.d]# cat nginx-status.sh
#!/bin/bash
result="/usr/bin/curl -s http://127.0.0.1:11180/nginx_status"
case $1 in
active)
$result |awk '/Active/ {print $NF}'
;;
accepts)
$result |awk 'NR==3 {print $1}'
;;
handled)
$result |awk 'NR==3 {print $2}'
;;
requests)
$result |awk 'NR==3 {print $3}'
;;
reading)
$result |awk '/Reading/ {print $2}'
;;
writing)
$result |awk '/Writing/ {print $4}'
;;
waiting)
$result |awk '/Waiting/ {print $6}'
;;
*)
echo "USAGE:$0 {active|reading|writing|waiting|accepts|handled|requests}"
esac
4/配置zabbix
[root@HK_192_168_5_5 zabbix_agentd.d]# vi userparameter_mysql.conf
UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx-status.sh "$1"
[root@HK_192_168_5_5 zabbix]#service zabbix-agent restart
5/zabbix服務端
[root@localhost ~]# zabbix_get -s 192.168.5.5 -k nginx.status[active]
13
6/zabbix監控平台及模闆
nginx模闆
連結:https://pan.baidu.com/s/1muS_Zghz_G6E4HtXjrdFgA
提取碼:9xga
三/redis監控
1/配置zabbix
[root@192_168_5_8 zabbix_agentd.d]#cat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
UserParameter=Redis.Info[*],/etc/zabbix/zabbix_agentd.d/redis_status.sh $1 $2
UserParameter=Redus.Status,/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 53379 ping | grep -c PONG
2/建立腳本
[root@192_168_5_8 zabbix_agentd.d]# cat redis_status.sh
#!/bin/bash
REDISCLI="/usr/local/redis/bin/redis-cli"
HOST="127.0.0.1"
#PORT=($(sudo netstat -tpln | awk -F "[ :]+" '/redis/ && /0.0.0.0/ {print $5}'))
PORT=6379
PASS=""
if [[ $# == 1 ]];then
case $1 in
version)
result=`/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info server | grep -w "redis_version" | awk -F':' '{print $2}'`
echo $result
;;
uptime)
result=`/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info server | grep -w "uptime_in_seconds" | awk -F':' '{print $2}'`
echo $result
;;
connected_clients)
result=`/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info clients | grep -w "connected_clients" | awk -F':' '{print $2}'`
echo $result
;;
blocked_clients)
result=`/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info clients | grep -w "blocked_clients" | awk -F':' '{print $2}'`
echo $result
;;
used_memory)
result=`/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info memory | grep -w "used_memory" | awk -F':' '{print $2}'`
echo $result
;;
used_memory_rss)
result=`/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info memory | grep -w "used_memory_rss" | awk -F':' '{print $2}'`
echo $result
;;
used_memory_peak)
result=`/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info memory | grep -w "used_memory_peak" | awk -F':' '{print $2}'`
echo $result
;;
used_memory_lua)
result=`/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info memory | grep -w "used_memory_lua" | awk -F':' '{print $2}'`
echo $result
;;
used_cpu_sys)
result=`/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info cpu | grep -w "used_cpu_sys" | awk -F':' '{print $2}'`
echo $result
;;
used_cpu_user)
result=`/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info cpu | grep -w "used_cpu_user" | awk -F':' '{print $2}'`
echo $result
;;
used_cpu_sys_children)
result=`/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info cpu | grep -w "used_cpu_sys_children" | awk -F':' '{print $2}'`
echo $result
;;
used_cpu_user_children)
result=`/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info cpu | grep -w "used_cpu_user_children" | awk -F':' '{print $2}'`
echo $result
;;
rdb_last_bgsave_status)
result=`/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info Persistence | grep -w "rdb_last_bgsave_status" | awk -F':' '{print $2}' | grep -c ok`
echo $result
;;
aof_last_bgrewrite_status)
result=`/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info Persistence | grep -w "aof_last_bgrewrite_status" | awk -F':' '{print $2}' | grep -c ok`
echo $result
;;
aof_last_write_status)
result=`/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info Persistence | grep -w "aof_last_write_status" | awk -F':' '{print $2}' | grep -c ok`
echo $result
;;
*)
echo -e "\033[33mUsage: $0 {connected_clients|blocked_clients|used_memory|used_memory_rss|used_memory_peak|used_memory_lua|used_cpu_sys|used_cpu_user|used_cpu_sys_children|used_cpu_user_children|rdb_last_bgsave_status|aof_last_bgrewrite_status|aof_last_write_status}\033[0m"
;;
esac
elif [[ $# == 2 ]];then
case $2 in
keys)
result=`/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info | grep -w "$1" | grep -w "keys" | awk -F'=|,' '{print $2}'`
echo $result
;;
expires)
result=`/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info | grep -w "$1" | grep -w "keys" | awk -F'=|,' '{print $4}'`
echo $result
;;
avg_ttl)
result=`/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info | grep -w "$1" | grep -w "avg_ttl" | awk -F'=|,' '{print $6}'`
echo $result
;;
*)
echo -e "\033[33mUsage: $0 {db0 keys|db0 expires|db0 avg_ttl}\033[0m"
;;
esac
fi
[root@192_168_5_8 zabbix_agentd.d]#
3/添權重限和重新開機agent
[root@HK_192_168_5_5 zabbix]#chmod +x *.sh
[root@HK_192_168_5_5 zabbix]#service zabbix-agent restart
4/zabbix服務測試
[root@localhost ~]# zabbix_get -s 192.168.5.35 -k nginx.status[used_cpu_user_children]
13
5/zabbix平台及模拟
redis模闆
連結:https://pan.baidu.com/s/1Ghx-WxaO7y3khtCMqgfXUg
提取碼:30li
友情連結
zabbix郵箱告警,設定觸發器,中文告警
Mycat2版部署mysql讀寫分離