1. 背景

  • 这几天一直在用k8s部署分SU的测试环境,开发反馈看日志比较麻烦. 昨天晚上在家里本来想搭建ELK 发现比较重, 又说有一个比较轻量级的 loki 可以实现使用grafana进行监控和查看日志,所以今天就进行以下简单的尝试.

2. 搭建步骤

  • 搭建loki
使用helm 方式搭建还是很简单的, 最近在放国庆节, 公司的网络和docker pull 的次数不多 比较顺利的就完成了
helm repo add loki https://grafana.github.io/loki/charts && helm repo update
helm pull loki/loki-stack
tar xf loki-stack-2.1.2.tgz
helm install loki loki-stack/ 如上四步就可以搭建完loki .
然后可以使用 kubectl get pods |grep loki 的方式进行查看. [root@k8s-master01 deploy]# kubectl get pods |grep loki
loki-0 1/1 Running 0 44m
loki-promtail-xbj4m 1/1 Running 0 44m
  • 搭建grafana
  • 需要注意的一点是 虽然 helm install 成功了 但是我没仔细看他的chart文件, 怀疑应该是 没有暴露node节点的端口 所以只允许内部访问.
  • 最简单的办法就是在k8s内部搭建一套grafana进行使用. 反正今天网络好. 就直接开干了.
  • 创建一个 yaml文件. 注意我这边没有修改 kubelet 对应的 port range 所以选择使用 30555 这样比较大的端口号.
  • 搭建好文件直接 kubectl apply -f grafana.yaml 就可以了.
 cat<<EOF > grangfan.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: grafana
labels:
app: grafana
spec:
replicas: 1
selector:
matchLabels:
app: grafana
template:
metadata:
labels:
app: grafana
spec:
containers:
- name: grafana
image: grafana/grafana:latest
volumeMounts:
- name: timezone
mountPath: /etc/localtime
volumes:
- name: timezone
hostPath:
path: /usr/share/zoneinfo/Asia/Shanghai --- apiVersion: v1
kind: Service
metadata:
name: grafana-svc
spec:
ports:
- port: 3000
targetPort: 3000
nodePort: 30555
type: NodePort
selector:
app: grafana
EOF
  • 搭建完成之后看一下 相关的 pod信息
[root@k8s-master01 deploy]# kubectl get pods |grep grafana
grafana-7b59dc9755-7z9v4 1/1 Running 0 45m

3. 查看日志


3.1 登录grafana 并且修改密码

登录 nodeip:30555 打开网页
输入自己需要设置的密码.
打开界面即可.

3.2 查看loki的日志信息

  • 注意 这一步好像最开始有一定的延迟存在, 会导致前面五分钟一点日志都看不到, 我一度以为自己弄错了, 但是过了几分钟后自己就好了.
  • 这里面操作就通过截图来说明了.

3.2.1 打开数据源定义, 添加loki的数据源.

  • 数据源的位置

  • 添加loki的相关信息

  • 注意 k8s内部直接属于 svc的名字既可以访问

  • 相关查询服务的信息语句为:
[root@k8s-master01 deploy]# kubectl get svc |grep loki
loki ClusterIP 10.103.24.66 <none> 3100/TCP 56m
loki-headless ClusterIP None <none> 3100/TCP 56m

3.2.2 打开explorer 进行相关条件设置

  • 可以使用 admin 或者是后来添加的管理员权限进行处理.

  • 注意 可以点击log browser 选择需要查看的日志信息

  • 可以选中具体的一个pod 然后查看相应的日志, 注意需要选择使用 show log

3.2.3 过滤日志范围等操作

  • 可以选择live 实时查看
  • 可以查看最近1小时内的日志
  • 没找到如何过滤 我直接使用的 ctrl+f

3.3 grafana 添加用户 给其他同事使用

  • 可以使用 server admin 来添加用户

  • 然后可以使用 user 给用户添加 admin以及组织权限就可以 使用自定义用户进行查看日志了.

K8S 使用loki 监控 应用日志的搭建办法的更多相关文章

  1. 从零开始入门 K8s | 可观测性:监控与日志

    作者 | 莫源  阿里巴巴技术专家 一.背景 监控和日志是大型分布式系统的重要基础设施,监控可以帮助开发者查看系统的运行状态,而日志可以协助问题的排查和诊断. 在 Kubernetes 中,监控和日志 ...

  2. .NET Core + K8S + Loki 玩转日志聚合

    1. Intro 最近在了解日志聚合系统,正好前几天看到一篇文章<用了日志系统新贵Loki,ELK突然不香了!>,所以就决定动手体验一下.本文就带大家快速了解下Loki,并简单介绍.NET ...

  3. MS SQL 监控错误日志的告警信息

    SQL Server的错误消息(Error Message)按照消息的严重级别一共划分25个等级,级别越高,表示严重性也越高.但是如果你统计sys.messages,你会发现,实际上只有16(SQL ...

  4. SQL Server中的事务日志管理(9/9):监控事务日志

    当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...

  5. 2. SQL Server数据库状态监控 - 错误日志

    原文:2. SQL Server数据库状态监控 - 错误日志 无论是操作系统 (Unix 或者Windows),还是应用程序 (Web 服务,数据库系统等等) ,通常都有自身的日志机制,以便故障时追溯 ...

  6. rsyslog+mariadb+loganalyzer实现日志服务器搭建

    rsyslog+mariadb+loganalyzer实现日志服务器搭建 一.概述 Linux的日志记录了用户在系统上一切操作,包括系统自身运作产生的日志,这些日志是应使用者了解服务器的情况最好的资料 ...

  7. idou老师教你学Istio :如何用istio实现监控和日志采集

    大家都知道istio可以帮助我们实现灰度发布.流量监控.流量治理等功能.每一个功能都帮助我们在不同场景中实现不同的业务.那Istio是如何帮助我们实现监控和日志采集的呢? 这里我们依然以Bookinf ...

  8. flume学习以及ganglia(若是要监控hive日志,hive存放在/tmp/hadoop/hive.log里,只要运行过hive就会有)

    python3.6hdfs的使用 https://blog.csdn.net/qq_29863961/article/details/80291654 https://pypi.org/  官网直接搜 ...

  9. 基于k8s的promethus监控

    没有监控 就没有眼睛. 除了k8s的基本监控外(pod运行状况.占用内存.cpu).为了对微服务项目中的(1)各种参数线程池.QPS.RT.业务指标(2)系统负载.thread.mem.class.t ...

  10. ELK分布式日志收集搭建和使用

    大型系统分布式日志采集系统ELK全框架 SpringBootSecurity1.传统系统日志收集的问题2.Logstash操作工作原理3.分布式日志收集ELK原理4.Elasticsearch+Log ...

随机推荐

  1. 云图说|应用魔方AppCube:揭秘码农防脱神器

    摘要: 应用魔方(AppCube)是华为云为行业客户.合作伙伴.开发者量身打造的一款低代码开发平台.通过AppCube可轻松构建专业级应用,创新随心所欲,敏捷超乎想象. 本文分享自华为云社区<云 ...

  2. 云图说 | 华为云医疗智能体EIHealth,AI赋能基因组研究

    摘要: 华为云医疗智能体面为基因组研究,提供高性能.高可靠性.高性价比的基因测序计算.存储和AI能力. 本文分享自华为云社区<​​​​​​​​​​​​​​[云图说]第230期 医疗智能体:AI赋 ...

  3. iOS App 上架流程图文教学

    在上架 App 之前必须先准备好开发者帐号,但申请开发者帐号因法兰克早在之前已经申请好了,故就跳过此步骤,直接从产生凭证到上传 App 开始讲起.首先,要将自己辛苦写好的 App 送审的话,则要依序做 ...

  4. ipa如何安装到iphone

    ​ Sign In - Apple app管理中心: https://appstoreconnect.apple.com/ apple ID管理中心: Manage your Apple ID 工具只 ...

  5. Neo4j Neo.TransientError.General.MemoryPoolOutOfMemoryError

    The allocation of an extra 4.0 MiB would use more than the limit 2.0 GiB. Currently using 2.0 GiB. d ...

  6. MongoDB 副本模式,会映射到本地 127.0.0.1 错误

    基于 MongoDB 读写分离--Windows MongoDB 副本集配置 ,里面配置了一个坑,导致出现下列错误 [2021-05-10 10:06:11.981] [cluster-Cluster ...

  7. 一个IT老码农的创业和生活(一)抑郁和自杀

    2019年2月18日,离我的38周岁生日还差两个月,我的编程培训班"源栈"开张了.   在此之前,从我2002年大学毕业,6年时间,我先后做过英语教师.实习律师.公司法务.装修公司 ...

  8. 使用jasypt加密配置的时候,报错:DecryptionException: Unable to decrypt

    前几天分享了一篇<Spring Boot 2.x基础教程:加密配置中的敏感信息> ,然后看到群里有小伙伴反应跟着这篇文章出现了这个异常com.ulisesbocchio.jasyptspr ...

  9. Codeforces Round #721 (Div. 2) AB思维,B2博弈,C题map

    补题链接:Here 1527A. And Then There Were K 题目大意: 给一个正整数n,求最大的k,使得 \(n \& (n−1) \& (n−2) \& ( ...

  10. px2vw一个px单位转成vw单位的VSCode插件

    px2vw 一个 px 单位转成 vw 单位的 VSCode 插件