1、监控TCP 连接数
UserParameter=linux_status[*],/usr/local/zabbix/etc/zabbix_agentd.conf.d/tcp_conn_plugin.sh “$1” “$2”
263 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
99 zabbix ALL =(ALL) NOPASSWD: ALL
[root@zabbix-server src]
11
2、监控memcache
memcached_status(){
M_PORT=$1
M_COMMAND=$2
echo -e "stats\nquit" | nc 127.0.0.1 "$M_PORT" | grep "STAT $M_COMMAND " | awk '{print $3}'
}
main(){
case $1 in
memcached_status)
memcached_status $2 $3
;;
esac
}
main $1 $2 $3
[root@zabbix-web2 zabbix_agentd.conf.d]
UserParameter=linux_status[*],/usr/local/zabbix/etc/zabbix_agentd.conf.d/tcp_conn_plugin.sh "$1" "$2" "$3"
UserParameter=memcache_status[*],/usr/local/zabbix/etc/zabbix_agentd.conf.d/memcache.sh "$1" "$2" "$3“
3、监控redis:监控连接数和内存使用
redis_status(){
R_PORT=$1
R_COMMAND=$2
(echo -en "INFO \r\n";sleep 1;) | nc 127.0.0.1 "$R_PORT" > /usr/local/zabbix/redis_"$R_PORT".tmp REDIS_STAT_VALUE=$(grep ""$R_COMMAND":" /usr/local/zabbix/redis_"$R_PORT".tmp | cut -d ':' -f2)
echo $REDIS_STAT_VALUE
}
help(){
echo "${0} + redis_status + PORT + COMMAND"
}
main(){
case $1 in
redis_status)
redis_status $2 $3
;;
*)
help
;;
esac
}
main $1 $2 $3
4、监控Nginx:SNMP 服务配置
[root@s6 ~]
[root@s6 ~]
com2sec notConfigUser default 123456
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
access notConfigGroup “” any noauth exact systemview none none
[root@s6 ~]
[root@s1 ~]
UCD-SNMP-MIB::laLoad.1 = STRING: 0.00
[root@s1 ~]
5、监控MySQL
[root@zabbix-web1 apps]
[mysqld]
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
datadir=/data/mysql
innodb_file_per_table=1
server-id=10
log-bin=/data/mysql/master-log
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/tmp/mysql.sock
/etc/init.d/mysqld restart
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'rsync-user'@'192.168.15.%' IDENTIFIED BY '123456';
[root@zabbix-serversrc]
[mysqld]
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
datadir=/data/mysql
innodb_file_per_table=1
relay-log = /data/mysql
server-id=20
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/tmp/mysql.sock
/usr/local/mysql/bin/mysqldump --all-databases --single_transaction --flush-logs --master-data=2 --lock
tables > /opt/backup.sql
mysql> CHANGE MASTER TO
mysql> CHANGE MASTER TO MASTER_HOST='192.168.15.203',MASTER_USER='rsync
user',MASTER_PASSWORD='123456',MASTER_LOG_FILE='bin-log.000003',MASTER_LOG_POS=120;
start slave;
stop slave;
reset slave;
– <?php
– $mysql_user = 'root';
– $mysql_pass = '';
263 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
UserParameter=mysql_monitor[*],/usr/local/zabbix/etc/zabbix_agentd.conf.d/mysql_m
onitor.sh "$1"
6、自定义脚本监控端口和进程
check_process(){
NUM=`ps -ef | grep -v grep | grep -v bash | grep ${NAME} | wc -l`
if [ $NUM -eq 0 ];then
echo 100
else
echo 50
fi
}
check_port(){
ss -tnl | grep ${PORT} &> /dev/null
if [ $? -eq 0 ];then
echo 50
else
echo 100
fi
}
main(){
case $1 in
process)
NAME=$2
check_process;
;;
port)
PORT=$2
check_port;
;;
esac
}