克隆本项目到grafana插件目录下 , 然后重启grafana
在 mac 插件目录是 /usr/local/var/lib/grafana/plugins
重启命令为
brew services restart grafana
在数据源管理面板, 添加 LogService
数据源
在 settings 面板, 设置 Url 为您日志服务 project 的 endpoint ( endpoint 在 project 的概览页可以看到).
例如你的 project 在 qingdao region, Url 可以填 http://cn-qingdao.log.aliyuncs.com
Access 设置为 Server(Default)
设置 Project 和 logstore
设置 AccessId 和 AccessKeySecret , 最好配置为子账号的AK
为保证数据安全 , AK保存后清空 , 且不会回显
添加一个面板, 在 datasource 选项, 选择刚创建的日志服务数据源.
在 query 输入查询语句, 查询语法与日志服务控制台相同.
*|select count(1) as c,count(1)/2 as c1, __time__- __time__%60 as t group by t limit 10000
X轴设置为t
(秒级时间戳)
Y轴设置为c,c1
(多列用逗号分隔)
保存仪表盘
在 dashboard 面板右上角点击 Dashboard settings, 选择 Variables
引用变量 $VariableName
X轴 设置为时间列
Y轴 设置为 col1#:#col2
这种格式, 其中 col1 为 聚合列, col2 为其他列
Query 设置样例为
* | select to_unixtime(time) as time,status,count from (select time_series(__time__, '1m', '%Y-%m-%d %H:%i', '0') as time,status,count(*) as count from log group by status,time order by time limit 10000)
X轴 设置为pie
Y轴 设置为类别和数字列 (样例为method,pv
)
Query 设置样例为
$hostname | select count(1) as pv ,method group by method
X轴 设置为table
或空
Y轴 设置为列
X轴 设置为map
Y轴 设置为 country,geo,pv
Query 设置样例为
* | select count(1) as pv ,geohash(ip_to_geo(arbitrary(remote_addr))) as geo,ip_to_country(remote_addr) as country from log group by country having geo <>'' limit 1000
Location Data 设置为 geohash
Location Name Field 设置为 country
geo_point/geohash Field 设置为 geo
Metric Field 设置为 pv
查询语句:
参数设置:
在告警通知方式面板, 选择 New channel 添加
注意 :选择dingding告警, 在钉钉机器人的安全设置里选自定义关键词, 添加 Alerting
注意 :只支持dashboard告警, 不支持插件告警
样例如下:
添加告警面板:
- 其中图表上红线代表设置的阈值, 点击右侧可以上下拖动
- Evaluate every
1m
for5m
, 代表计算每分钟的结果, 连续五分钟超过阈值告警 - 设置for后, 如果超过阈值状态由Ok转为Pending, 不会触发告警, 连续超过阈值一段时候后发送告警, 状态由Pending转为Alerting, 告警只会通知一次
- WHEN
avg ()
OFquery (B, 5m, now)
IS ABOVE89
, 代表线条B最近五分钟的均值超过89告警 - 在Notifications下添加通知方式及通知信息