nginx日志采集 mysql_shell + go + mysql nginx日志统计 (三) :数据的展示

效果图

8c1c673e743d

woshitu.png

grafana 的安装

这里主要讲在Centos下的安装,其实这个网上到处是,其他系统我就不多说了。

wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.2.0-1.x86_64.rpm

yum localinstall grafana-4.2.0-1.x86_64.rpm

#启动 granafa

systemctl start grafana-server

然后你查看,就能看到在运行了

netstat -tpnl | grep 3000

访问 http://ip:3000

帐号密码都是 admin

接入mysql数据源

点击 add data source 输入Mysql的连接信息 这样就添加好了

8c1c673e743d

grafana-datasource.jpg

线图展示

点击 new dashboard

然后添加一个新的Dashboard Row

再在这个Row 里添加一个新的Panel 选择 Graph

总访问量(按项目)

从ngx_access表中根据不同project(也就是不同的nginx日志文件名)取出这个项目的总访问量

SELECT UNIX_TIMESTAMP(date) as time_sec,sum(times) as value,project as metric

FROM ngx_access

WHERE $__timeFilter(date)

group by project,date

ORDER BY date ASC

总访问量(按状态码)

从ngx_access表中根据不同code(也就是状态码)取出不同返回码的次数

SELECT

UNIX_TIMESTAMP(date) as time_sec,

sum(times) as value,

code as metric

FROM edu_access

WHERE $__timeFilter(date)

group by code,date

ORDER BY date ASC

响应时间排行

表格展示

点击 new dashboard

然后添加一个新的Dashboard Row

再在这个Row 里添加一个新的Panel 选择 Table

ip访问次数统计

做这个出来主要是看看时段内有没有大量的恶意访问

SELECT

ip as IP,

sum(times) as 次数

FROM ngx_ip

WHERE $__timeFilter(date)

GROUP BY ip ORDER BY 次数 DESC limit 100;|

PV(每日页面访问量)

SELECT

date_format(date, '%Y-%m-%d') as 日期,

sum(times) as value

FROM ngx_access

WHERE $__timeFilter(date)

group by date_format(date, '%Y-%m-%d')

ORDER BY date_format(date, '%Y-%m-%d') asc

IP(每日独立IP访问量)

SELECT

date_format(date, '%Y-%m-%d') as 日期,

count(distinct ip) as value

FROM ngx_ip

WHERE $__timeFilter(date)

group by 日期

ORDER BY 日期 asc

URL(URL的访问排行榜)

用于查看哪些功能(URL)被大量使用,这个感觉还比较有用,可以帮忙知道用户到底在干些什么。某些访问多的是不是该加机器或者独立之类的。

select

project as project,

url as url,

sum(times) as times

from ngx_access

WHERE $__timeFilter(date)

group by project,url

order by times desc limit 100

URL(响应时间排行)

根据每个project来展示每个URL 访问时间区间

SELECT

url as Url,

sum(xiaoyu10) as 小于10ms,

sum(xiaoyu50) as 10ms_50ms,

sum(xiaoyu100) as 50ms_100ms,

sum(xiaoyu500) as 100ms_500ms,

sum(dayu500) as 大于500ms,

sum(xiaoyu10+xiaoyu100+xiaoyu50+xiaoyu500+dayu500) as tatol

FROM edu_res

WHERE $__timeFilter(date) and project = 'project'

GROUP BY url ORDER BY tatol DESC limit 50;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值