1.安装nginx 服务
[root@server2 ~]# rpm -ivh nginx-1.8.0-1.el6.ngx.x86_64.rpm
warning: nginx-1.8.0-1.el6.ngx.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEY
Preparing... ########################################### [100%]
1:nginx ########################################### [100%]
----------------------------------------------------------------------
Thanks for using nginx!
Please find the official documentation for nginx here:
* http://nginx.org/en/docs/
Commercial subscriptions for nginx are available on:
* http://nginx.com/products/
----------------------------------------------------------------------
2.编辑nginx的配置文件
[root@server2 ~]# cd /etc/nginx/conf.d/
[root@server2 conf.d]# ls
default.conf example_ssl.conf
[root@server2 conf.d]# vim default.conf
location /status {
stub_status on; # Nginx中的stub_status模块主要用于查看Nginx的一些状态信息. 本模块默认是不编译进Nginx,如果需要使用该模块,则要在编译安装Nginx时指定:./configure –with-http_stub_status_module
access_log off; # 关闭日志记录
}
[root@server2 conf.d]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@server2 conf.d]# nginx
[root@server2 conf.d]# /etc/init.d/nginx restart
[root@server2 conf.d]# ps ax
2094 ? Ss 0:00 nginx: master process /usr/sbin/nginx -c /etc
2096 ? S 0:00 nginx: worker process
网页测试:
active 并发连接数
server 连接的服务器数
accepts 获取接受请求数
handled 建立三次握手的次数
requests 请求次数
[root@server2 conf.d]# vim default.conf
allow 127.0.0.1; # 只允许本机访问
deny all;
[root@server2 conf.d]# nginx -s reload
3.测试:
[root@server2 conf.d]# curl http://127.0.0.1/status
Active connections: 1
server accepts handled requests
2 2 4
Reading: 0 Writing: 1 Waiting: 0
[root@server2 conf.d]# curl http://172.25.8.2/status
<html>
<head><title>403 Forbiddentitle>head>
<body bgcolor="white">
<center><h1>403 Forbiddenh1>center>
<hr><center>nginx/1.8.0center>
body>
html>
4.过滤监控参数
[root@server2 conf.d]# curl -s http://127.0.0.1/status | grep Active
Active connections: 1
[root@server2 conf.d]# curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
1
[root@server2 conf.d]# cd /etc/zabbix/zabbix_agentd.d
[root@server2 zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@server2 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf
[root@server2 zabbix_agentd.d]# vim userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}' # 获取并发连接数
UserParameter=nginx.active1,curl -s http://127.0.0.1/status | awk '/^\ /' | awk '{print $1}' # 获取接受请求数
UserParameter=nginx.active2,curl -s http://127.0.0.1/status | awk '/^\ /' | awk '{print $2}' # 获取建立三次握手的次数
UserParameter=nginx.active3,curl -s http://127.0.0.1/status | awk '/^\ /' | awk '{print $3}' # 获取请求次数
[root@server2 zabbix_agentd.d]# /etc/init.d/zabbix-agent start
Starting Zabbix agent: [ OK ]
5.打开zabbix-agent ,可以在监控主机中监控
[root@server2 zabbix_agentd.d]# /etc/init.d/zabbix-agent start
Starting Zabbix agent: [ OK ]
[root@server2 zabbix_agentd.d]# chkconfig zabbix-agent on #开机自启
6.在监控主机中(server1)中安装rpm -ivh zabbix-get-3.4.6-1.el7.x86_64.rpm
zabbix_get 是 zabbix 服务端的一个命令,用于检测 agent 端的配置是否正确,可以很方便地知道 key是否能正常获取到数据,在测试自定义监控的时候特别有用
[root@server1 ~]# rpm -ivh zabbix-get-3.4.6-1.el7.x86_64.rpm
warning: zabbix-get-3.4.6-1.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing... ################################# [100%] Updating / installing... 1:zabbix-get-3.4.6-1.el7 ################################# [100%]
获取agent端的键值:
[root@server1 ~]# zabbix_get -s 172.25.8.2 -p 10050 -k 'nginx.active'
1
7.在zabbix网页中加入监控项和图形,开始检测
(1)选择监控主机
(2)添加监控项
以同样方式添加accepts,handled,requets
在server1(zabbix监控端)中:
1.安装percona-zabbix模版
[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
warning: percona-zabbix-templates-1.1.8-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ################################# [100%] Updating / installing... 1:percona-zabbix-templates-1.1.8-1 ################################# [100%]
Scripts are installed to /var/lib/zabbix/percona/scripts #脚本所在目录
Templates are installed to /var/lib/zabbix/percona/templates #模本所在目录
2.拷贝userparameter_percona_mysql.conf
文件到被监控的mysql服务器
[root@server1 ~]# cd /var/lib/zabbix/percona/templates/
[root@server1 templates]# ls
userparameter_percona_mysql.conf
zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
[root@server1 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d
3.测试percona的脚本,过滤监控项有190个
[root@server1 templates]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
[root@server1 templates]# cd /etc/zabbix/zabbix_agentd.d/
[root@server1 zabbix_agentd.d]# cat userparameter_percona_mysql.conf
4.由于percona的监控脚本是使用php写的,所以需要准备好php运行环境,这里直接用yum安装.安装完成后将zabbix的数据库和密码写入php脚本中…
[root@server1 zabbix_agentd.d]# yum install php php_fpm -y
[root@server1 zabbix_agentd.d]# vim ~zabbix/.my.cnf
[client]
user = root
password = westos
[root@server1 zabbix_agentd.d]# systemctl restart zabbix-agent
1.在server2(agent的客户端)上安装tomcat和jdk,并打开tomcat