为grafana平台接入阿里云日志服务进行实时分析实践
软件环境依赖
grafana
阿里云日志服务
配置阿里云日志服务
日志服务入口https://sls.console.aliyun.com
创建project
创建Logstore
设置采集、分析方式
这里我们使用自有主机环境的自建软件(windows)来配置采集nginx日志
填写目标主机的日志路径及采集格式
nginx日志格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" "$http_host" '
'"$http_user_agent" "$http_x_forwarded_for" '
'"$request_body" $request_length $request_time '
'"$upstream_addr" "$upstream_status" $upstream_response_time';
设置采集的机器组
继续下一步,设置确认完成设置
Logtail配置
官方文档
这里我们使用自有主机环境的自建软件(windows)来配置采集nginx日志
官方文档入口
为非本账号ECS、自建IDC配置AliUid文档入口
安装步骤
以windows为例:
1.下载软件logtail_installer
2.解压缩logtail_installer.zip
到某一目录。
3.根据服务器类型和所在区域选择网络类型后,按照日志服务所在区域安装Logtail。
比如公网环境,华南区服务1
./logtail_installer.exe install cn-shenzhen-internet
配置用户标识
参考为非本账号ECS、自建IDC配置AliUid文档入口
1.查看阿里云账号ID,即AliUid。登陆账号管理的安全设置页面,查看账号所属的账号ID
即为AliUid。
2.登录服务器,配置AliUid作为用户标识。1
2
3#windows,在C:/LogtailData/users创建以AliUid作为文件名的文件
mkdir C:/LogtailData/users
type NUL > C:/LogtailData/users/1559122535028493
安装Grafana插件
安装aliyun-log-grafana-datasource插件
1 | cd /var/lib/grafana/plugins/ |
安装grafana-piechart-panel插件
1 | grafana-cli plugins install grafana-piechart-panel |
配置日志服务数据源
选择数据源菜单(Data Sources)
添加新的数据源(Add data source)
各子项含义:
Name:名称,可以自定义,方便识别的名称
Type:类型,选择[LogService]
Url:Endpoint,输入样例:project为dashboard-demo,则url可为http://dashboard-demo.cn-shenzhen.log.aliyuncs.com,定义为 `<project_name>.<region_endpoint>`,[详细定义参考点击此处](https://help.aliyun.com/document_detail/29008.html?spm=5176.2020520112.108.2.53f834c0XEhp4J "详细定义参考点击此处")
Access:访问方式,选择[Browser]
log service details:日志服务详细配置,分别填写project名称,logstore名称,以及具备读取权限的accessKey,accessKey可以是主账号的accessKey,也可以是子帐号的accessKey。
配置完成后点击[Save & Test],即可完成添加dataSource。接下来添加dashboard。
添加dashboard
在左侧菜单中新加一个dashboard
配置模板变量
在grafana中可以配置模板变量,在同一个视图中,通过选择不同的变量值,展示不同的视图,在本文中,我们配置每个时间区间的大小,以及不同域名的访问情况。
在右上侧点击设置按钮(Setting)
在左侧菜单中点击[Variables],
在当前页面,如没有变量,则有[Add Variable]按钮
在当前页面,若有变量,会显示出已经配置的模板变量,可点击[New], 创建新的模板
我们首先配置一个时间区间,变量的名称是我们在配置中使用的变量,在这里起名为myinterval, 在查询条件中,要写成$myinterval ,会自动替换成页面选择的模板值。
我们再配置一个域名模板,通常我们在一个vps上可以挂载多个域名,那么我们需要查看不同域名的访问情况,在模板值中,我们输入*,www.host1.com,www.host2.com
,*
表示我们可以查看所有域名,也可以分别只查看www.host1.com
或者www.host2.com
的访问情况。
配置完成后,可以在dashboard页面上方看到刚才配置的模板变量,通过下拉框可以选择任何一个值。例如time interval,所有可选的值如下:
配置图表定义
这里就不对具体的图表详细介绍了,可使用下面的dashboard定义信息创建,查看dashboard.json ,导入粘贴即可
点击页面上方的保存按钮,发布dashboard:
结果展示
结束
在页面上方,可以选择统计的时间范围,也可以选择统计的时间粒度,或者选择不同的域名。
这样整个nginx访问统计的dashboard就完成了,我们可以从视图中挖掘有价值的信息。