实验环境: 106.12.88.74 ---> influxdb 1.7.6 Centos 7.5 106.12.88.228 ---> Grafana 6.2.2.1 Centos 7.5 119.3.92.176 ----> Nginx 1.8.1 Centos 7.5 +++++++++++++++++++++++++++++++++ nginx编译的时候,参数必须要加 --with-http_stub_status_module修改nginx 配置文件,添加如下内容。(在nginx 服务器上操作) location /status { allow 127.0.0.1; deny all; stub_status on; access_log off; }
重启Nginx 测试能否获取状态:(在influxdb[ 106.12.88.74 ]服务器上操作)
连接总数、握手总数、请求总数 监控nginx 的python脚本: vim /data/influxdb/nginx_status.py #在 119.3.92.176 上,编写python 脚本。 from influxdb import InfluxDBClient import urllib2 response=urllib2.urlopen('http://119.3.92.176/status') result = response.read() list_result = result.split('\n') nginx_result = list_result[2].split() client = InfluxDBClient('127.0.0.1', 8086, 'xc', 'w…123', 'shijiange') data_list = [{'measurement': 'nginx_status', 'tags': {'item': 'nginx.accepts'}, 'fields': {'value': int(nginx_result[0]) }}] client.write_points(data_list) data_list = [{'measurement': 'nginx_status', 'tags': {'item': 'nginx.handled'}, 'fields': {'value': int(nginx_result[1]) }}] client.write_points(data_list) data_list = [{'measurement': 'nginx_status', 'tags': {'item': 'nginx.requests'}, 'fields': {'value': int(nginx_result[2]) }}] client.write_points(data_list)
保存退出。执行脚本,登录influxdb ( 106.12.88.74 ) 查看数据:
![]()
![]()
119.3.92.176上面,添加到linux的crontab任务,然后图表展示观察。 vim /etc/crontab
登录Grafana ( 106.12.88.228 )添加新的面板,再添加图形。
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
使用脚本观察nginx的连接数 (在influxdb[ 106.12.88.74 ]服务器上操作) while true;do curl -s 119.3.92.176;echo; sleep 1; done 查看nginx 监控图:
yum install nc -y while true;do nc -v -z -w 1 119.3.92.176 80; sleep 1; done #只探测80端口,不发送请求,执行一分钟左右。
修改nginx 配置文件,添加如下内容。(在nginx 服务器上操作)
重启Nginx
