[root@server2 ~]# tar zxf nginx-1.15.8.tar.gz
[root@server2 ~]# yum install gcc make pcre-devel zlib-devel -y
[root@server2 ~]# cd nginx-1.15.8
[root@server2 nginx-1.15.8]# vim auto/cc/gcc
171 # debug
172 #CFLAGS="$CFLAGS -g" ##关闭debug日志
[root@server2 nginx-1.15.8]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module
[root@server2 nginx-1.15.8]# make && make install
[root@server2 nginx-1.15.8]# vim /usr/local/nginx/conf/nginx.conf
48 location /status {
49 stub_status on; # Nginx中的stub_status模块主要用于查看Nginx的一些状态信息. 本模块默认是不会编译进Nginx的,如果你要使用该模块,则要在编译安装Nginx时指定:./configure –with-http_stub_status_module
50 access_log off; # 关闭日志记录
51 allow 127.0.0.1; # 只允许本机访问
52 deny all;
53 }
[root@server2 nginx-1.15.8]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@server2 nginx-1.15.8]# /usr/local/nginx/sbin/nginx
[root@server2 nginx-1.15.8]# curl http://127.0.0.1/status
Active connections: 1
server accepts handled requests
2 2 1
Reading: 0 Writing: 1 Waiting: 0
过滤监控参数(访问次数,连接次数等等)
将过滤出来的参数以key—value键值对的形式存储:
[root@server2 nginx-1.15.8]# curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
1
[root@server2 ~]# curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'
30
3. 创建nginx监控项(nginx.active和nginx.access)
[root@server2 nginx-1.15.8]# 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 # 利用监控mysql服务的配置文件模版复制一份给nginx服务
[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}' # 获取连接数(nginx.active为key值,获得的连接数为value值)
UserParameter=nginx.access,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}' # 获取接受请求数
UserParameter=nginx.handled,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $2}' # 获取建立三次握手的次数
UserParameter=nginx.requests,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $3}' # 获取请求次数
##配置完重启服务
[root@server2 ~]# systemctl restart zabbix-agent
[root@server1 4.0]# yum install -y zabbix-get-4.0.5-1.el7.x86_64.rpm
##可以拿到
[root@server1 4.0]# zabbix_get -s 172.25.19.2 -p 10050 -k "nginx.active"
1
[root@server1 include]# zabbix_get -s 172.25.19.2 -p 10050 -k "nginx.access"
33
[root@server1 ~ ]# cd /usr/share/zabbix/fonts
[root@server1 fonts# ls
simkai.ttf
[root@server1 include]# pwd
/usr/share/zabbix/include
[root@server1 include]# vim defines.inc.php
:%s/graphfont/simkai/g
但是自带的模板监控项太少了,我们可以继续添加模板增加监控项
[root@[root@server1 zabbix_agentd.d]# mkdir /var/lib/zabbix
[root@server1 zabbix_agentd.d]# cd /var/lib/zabbix/
[root@server1 zabbix]# vim .my.cnf
[mysql]
host = localhost
user = root
password = westos
socket = /var/lib/mysql/mysql.sock
[mysqladmin]
host = localhost
user = root
password = westos
socket = /var/lib/mysql/mysql.sock
[root@server1 zabbix]# systemctl restart zabbix-agent
[root@server1 ~]# ls
percona-zabbix-templates-1.1.8-1.noarch.rpm
[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
[root@server1 ~]# cd /var/lib/zabbix/
[root@server1 zabbix]# ls
percona
[root@server1 zabbix]# cd percona/
[root@server1 percona]# cd 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/
拷贝userparameter_percona_mysql.conf 文件到被监控的mysql服务器上(此时也是server1主机)
[root@server1 templates]# cd ..
[root@server1 percona]# cd scripts/
[root@server1 scripts]# ls
get_mysql_stats_wrapper.sh ss_get_mysql_stats.php
由于percona的监控脚本是使用php写的,所以需要准备好php运行环境, 将zabbix的数据库和密码写入php脚本中
[root@server1 scripts]# vim ss_get_mysql_stats.php.cnf
<?php
$mysql_user = 'root';
$mysql_pass = 'westos';
[root@server1 scripts]# systemctl restart zabbix-agent
[root@server1 scripts]# cd /etc/zabbix/zabbix_agentd.d/
[root@server1 zabbix_agentd.d]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg # 测试脚本
[root@server1 zabbix_agentd.d]# cd /tmp
[root@server1 tmp]# cat localhost-mysql_cacti_stats.txt ##查看监控项
[root@server1 tmp]# rm -f localhost-mysql_cacti_stats.txt