日志服务CLS对接Grafana

9 篇文章 0 订阅
1 篇文章 0 订阅

背景:

腾讯云CLB(负载均衡)与CLS(日志服务)集成。然后看日志服务CLS专栏有一篇
CLS 对接 Grafana的博文。个人就也想尝试一下。当然了我的grafana是 Prometheus-oprator方式搭建在kubernetes集群中的。详见:https://cloud.tencent.com/developer/article/1807805
下面开始记录下自己搭建的过程

一. Grafana中的配置

参照https://cloud.tencent.com/developer/article/1785751,但是饼形图的插件个人已经在Prometheus-oprator的搭建过程中安装了。现在重要的就是按照cls的插件和更改grafana的配置

1. 关于Grafana cls插件的安装

插件安装的过程还是简单的

###查看grafana pods的名称
kubectl get pods -n monitoring
###进入grafana容器
kubectl exec -it grafana-57d4ff8cdc-8hwsq bash -n monitoring
###下载cls插件并解压
cd /var/lib/grafana/plugins/
wget https://github.com/TencentCloud/cls-grafana-datasource/releases/latest/download/cls-grafana-datasource.zip
unzip cls-grafana-datasource.zip


至于版本的要求验证就忽略了…因为我的granfa image版本是7.4.3,是已经确认过的…。至于如何让grafana插件加载生效呢?我一遍都是用最笨的方法delete一下pod…

kubectl delete pods  grafana-57d4ff8cdc-8hwsq  -n monitoring
kubectl get pods -n monitoring


当然了这个时候如果进入grafana确认插件的安装成功与否一般的(grafana-cli plugins install通过官方源下载或者安装的)就可以了。但是安装cls这个插件是不可以的…为什么呢?强调一下腾讯云这个插件是一个非官方认证的插件。如果需要信任非官方的插件grafana是要开启配置参数的

2. 如何修改grafana的配置文件呢?

参照https://cloud.tencent.com/developer/article/1785751。部署完了插件的安装,是要修改grafana.ini的配置文件的。仔细观察一下prometheus-operator中 grafana的配置文件是默认的,并没有其他方式进行挂载,那该怎么办呢?
参照:https://blog.csdn.net/u010918487/article/details/110522133

将grafana的配置文件以configmap的方式进行挂载

具体流程:

1. 将grafana容器中的grafana.ini文件复制到本地

就是复习一下kubectl cp命令了:

kubectl cp grafana-57d4ff8cdc-ms4z9:/etc/grafana/grafana.ini /root/grafana/grafana.ini  -n monitoring

然后本地修改grafana.ini配置文件:
嗯: ;allow_loading_unsigned_plugins =
这一句配置修改为下面的这句

allow_loading_unsigned_plugins = tencent-cls-grafana-datasource

图中没有删除上面那句只是为了方便演示:

这配置的作用就是开启tencent-cls-grafana-datasource这个非认证插件的加载。

2. 将修改后的grafana.ini以configmap的方式挂载到kubernetes集群

kubectl create cm grafana-config --from-file=`pwd`/grafana.ini -n monitoring

3. 修改grafana-deployment.yaml挂载grafana-config

########volumeMounts部分新增以下内容:
      - mountPath: /etc/grafana
        name: grafana-config
        readOnly: true
########volumes部分新增以下内容:
    - configMap:
        name: grafana-config
      name: grafana-config


kubectl apply -f grafana-deployment.yaml -n monitoring

等待grafana pod 重新部署成功:

3. grafana dashboard中的配置

1. 在左侧导航栏中,单击【Creat Dashboards】。

2. 在 Data Sources 页面,单击【Add data source】。

3. 选中【Tencent Cloud Log Service Datasource】,并按照如下说明配置数据源

引用自:[https://cloud.tencent.com/developer/article/1785751]

在这里插入图片描述


嗯登陆腾讯云后台cam控制台https://console.cloud.tencent.com/cam。快速新建用户,新建一个名为cls的用户:登陆方式:编程访问,用户权限:QcloudCLSReadOnlyAccess,可接收消息类型全部就注释掉了。

进行测试 sava&test。嗯 结果是显示操作未授权应该是下面的这个

果断进入腾讯云后台加上了QcloudCLSFullAccess的权限


再运行sava&test,ok成功。但是个人对权限比较敏感,这样的fullaccess的 都比较怕…腾讯云官方开源的好多组件对权限的声明都不是那么的多。 也希望能明确一下权限的边界。

4. 配置 dashboard

  1. 在左侧导航栏中,单击【Creat Dashboards】。
  2. 在 Dashboard 页面,单击【Add new panel】。
  3. 将数据源选择为您新建的日志数据源。如下图所示:


一下图片引用自https://cloud.tencent.com/developer/article/1785751

4. 展示图表

本来图表都该在上面搞完的。但是个人觉得还是单独列出来吧

1. 时间折线图


输入的 Query 语句如下所示:

* | select histogram( cast(__TIMESTAMP__ as timestamp),interval 1 minute) as time, count(*) as pv,count( distinct remote_addr) as uv group by time order by time limit 1000
  • Format:选择 Graph,Pie,Gauge panel
  • Metrics:pv,uv
  • Bucket:无聚合列,不填写
  • Time : time


记得在Visualization中选择折线图。 Graph 和Time Series两个出来的是一样的…也没有搞清楚区别.

2. 饼形图

搞不出来一般就是没有安装饼形图插件吧。一定记得前提安装了饼形图插件

输入的 Query 语句如下所示:

* | select count(*) as count, status group by status
  • Format:选择 Graph,Pie,Gauge panel
  • Metrics:count
  • Bucket:status
  • Time:不是连续时间数据,不填写


不管那种图表都的在Visualization选择要展现的形式啊…

3. 柱状图,压力图

柱状图,压力图(bar gauge)统计访问延时前10的页面

输入的 Query 语句如下所示:

* | select http_referer,avg(request_time) as lagency group by http_referer order by lagency desc limit 10
  • Format:选择** Graph,Pie,Gauge panel**。
  • Metrics:lagency。
  • Bucket:http_referer。
  • Time:不是连续时间数据,不填写

为什么我做出来跟https://cloud.tencent.com/developer/article/1785751中的不一样呢?

参照http://codetd.com/article/11171054

可能cls官方这文章木有考虑我太小白…,按照大佬的文章修改下OK了

但是 颜色是不是也搞的绚丽点?Color scheme Thresholds 两个的配置可以满足你的需要…哈哈哈

4. 表格Table

表格的应该就算是简单的了

输入的 Query 语句如下所示:

* | select remote_addr,count(*) as count group by remote_addr order by count desc limit 10
  • Format:Table

5. 最终效果

鸣谢:

日志服务CLS小助手https://cloud.tencent.com/developer/article/1785751

代码天地: http://codetd.com/article/11171054

katy的小乖: https://blog.csdn.net/u010918487/article/details/110522133

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

对你无可奈何2008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值