xml地图|网站地图|网站标签 [设为首页] [加入收藏]
网站并发数
分类:操作系统

一、 nginx编译参数

监控nginx,主要讲解监控并发数

--prefix=/usr/local/nginx --with-http_stub_status_module

zabbix编译参数的查看:

/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.8.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) 
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module

一、数据库给只读权限

1.1  grant usage on *.* to 'zabbix'@'127.0.0.1' identified by 'zabbix';
flush privileges;
1.2  mysql -uzabbix -pzabbix -h 127.0.0.1 -e "show global status"
Com_select从mysql启动以来接收的select语句的数量,它是一直往上增的。
Threads_connected获取的是一种当前的状态
1.3  mysql -uzabbix -pzabbix -h 127.0.0.1 -e "show global status"|grep 'Threads_connected'

Linux ls命令

Linux ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。

二、nginx配置新增

location /status {
                allow 127.0.0.1;
                deny all;
                stub_status on;
                access_log off;
        }
重启nginx:
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload

二、zabbix监控mysql脚本(check_mysql.sh)

#!/bin/sh
while getopts "u:p:P:k:" opt
do
        case $opt in
                u ) user=$OPTARG;;
                p ) password=$OPTARG;;
                P ) port=$OPTARG;;
                k ) key=$OPTARG;;
                ? )
                echo 'parameter is wrong!'
                exit 1;;
        esac
done
if [ ! "${user}" ] || [ ! "${password}" ] || [ ! "${port}" ];then
        echo "parameter is null"        
        exit 1
fi

mysql -u ${user} -p${password} -h 127.0.0.1 -P${port} -e "show global status"|grep "${key}[[:space:]]"|awk '{print $2}'

语法

 ls [-alrtAFR] [name...]

参数 :

  • -a    显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
  • -l   除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
  • -r       将文件以相反次序显示(原定依英文字母次序)
  • -t       将文件依建立时间之先后次序列出
  • -A      同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
  • -F      在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
  • -R      若目录下有文件,则以下之文件亦皆依序列出

三、测试下看看能不能获取nginx状态

curl 127.0.0.1/status

三、zabbix自定义监控mysql的agent配置(vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/mysql.conf)

UserParameter=mysql.status[*],sh /usr/local/zabbix/check_mysql.sh -u zabbix -p zabbix -P $1 -k $2 2>/dev/null
配置完需要重启zabbix_agentd(pkill zabbix_agentd; sleep 3; /usr/local/zabbix/sbin/zabbix_agentd)

四、写脚本获取nginx的状态

监控脚本(/usr/local/zabbix/check_nginx.sh):
#!/bin/sh
#nginx status
#Active connections: 1 
#server accepts handled requests

#Reading: 0 Writing: 1 Waiting: 0 
while getopts "o:" opt
do
        case $opt in
                o ) option=$OPTARG;;
                ? )
                echo 'parameter is wrong!'
                exit 1;;
        esac
done
if [ ! "${option}" ];then
        echo "parameter is null"        
        exit 1
fi

if [[ ${option} == "active" ]];then
        curl -s 127.0.0.1/status |grep '^Active connections' |awk '{print $NF}'
elif [[ ${option} == "accepts" ]];then
        curl -s 127.0.0.1/status |awk 'NR==3'|awk '{print $1}'
fi

四、测试下看能否获取到值

zabbix_get -s 172.16.0.3 -k mysql.status[3306,Com_select]

本文由澳门新葡亰手机版发布于操作系统,转载请注明出处:网站并发数

上一篇:zabbix自动发现监控mysql 下一篇:没有了
猜你喜欢
热门排行
精彩图文