K8S 使用loki 监控 应用日志的搭建办法
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 监控 应用日志的搭建办法的更多相关文章
- 从零开始入门 K8s | 可观测性:监控与日志
作者 | 莫源 阿里巴巴技术专家 一.背景 监控和日志是大型分布式系统的重要基础设施,监控可以帮助开发者查看系统的运行状态,而日志可以协助问题的排查和诊断. 在 Kubernetes 中,监控和日志 ...
- .NET Core + K8S + Loki 玩转日志聚合
1. Intro 最近在了解日志聚合系统,正好前几天看到一篇文章<用了日志系统新贵Loki,ELK突然不香了!>,所以就决定动手体验一下.本文就带大家快速了解下Loki,并简单介绍.NET ...
- MS SQL 监控错误日志的告警信息
SQL Server的错误消息(Error Message)按照消息的严重级别一共划分25个等级,级别越高,表示严重性也越高.但是如果你统计sys.messages,你会发现,实际上只有16(SQL ...
- SQL Server中的事务日志管理(9/9):监控事务日志
当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...
- 2. SQL Server数据库状态监控 - 错误日志
原文:2. SQL Server数据库状态监控 - 错误日志 无论是操作系统 (Unix 或者Windows),还是应用程序 (Web 服务,数据库系统等等) ,通常都有自身的日志机制,以便故障时追溯 ...
- rsyslog+mariadb+loganalyzer实现日志服务器搭建
rsyslog+mariadb+loganalyzer实现日志服务器搭建 一.概述 Linux的日志记录了用户在系统上一切操作,包括系统自身运作产生的日志,这些日志是应使用者了解服务器的情况最好的资料 ...
- idou老师教你学Istio :如何用istio实现监控和日志采集
大家都知道istio可以帮助我们实现灰度发布.流量监控.流量治理等功能.每一个功能都帮助我们在不同场景中实现不同的业务.那Istio是如何帮助我们实现监控和日志采集的呢? 这里我们依然以Bookinf ...
- flume学习以及ganglia(若是要监控hive日志,hive存放在/tmp/hadoop/hive.log里,只要运行过hive就会有)
python3.6hdfs的使用 https://blog.csdn.net/qq_29863961/article/details/80291654 https://pypi.org/ 官网直接搜 ...
- 基于k8s的promethus监控
没有监控 就没有眼睛. 除了k8s的基本监控外(pod运行状况.占用内存.cpu).为了对微服务项目中的(1)各种参数线程池.QPS.RT.业务指标(2)系统负载.thread.mem.class.t ...
- ELK分布式日志收集搭建和使用
大型系统分布式日志采集系统ELK全框架 SpringBootSecurity1.传统系统日志收集的问题2.Logstash操作工作原理3.分布式日志收集ELK原理4.Elasticsearch+Log ...
随机推荐
- ROMA集成关键技术:增量数据集成
摘要:本文将详解ROMA集成关键技术-增量数据集成技术. 本文分享自华为云社区<ROMA集成关键技术(2)-增量数据集成技术>,作者:华为云PaaS服务小智 . 1.概述 ROMA平台的核 ...
- 看MindSpore加持下,如何「炼出」首个千亿参数中文预训练语言模型?
摘要:千亿参数量的中文大规模预训练语言模型时代到来. 本文分享自华为云社区< MindSpore开源框架加持,如何「炼出」首个千亿参数.TB级内存的中文预训练语言模型?>,原文作者:che ...
- CANN 5.0黑科技解密 | 算力虚拟化,让AI算力“物尽其用”
摘要:算力虚拟化技术对消费者而言,可有效降低算力的使用成本,对于设备商或运营商而言,则可极大提升算力资源的利用率,降低设备运营成本. 为什么要做算力虚拟化 近年来,人工智能领域呈井喷式发展,算力就是生 ...
- SpringBoot Jar 包太大 瘦身 【初试】
SpringBoot Jar 包太大 瘦身,建议使用时,参考: SpringBoot Jar 包太大 瘦身 [终极版] 29M, 排除少量JAR包方式 打包,排除指定jar 包 <build&g ...
- CPU--实模式与保护模式
一.实模式(实地址访问模式) 是Intel公司80286及以后的x86(80386,80486和80586等)兼容处理器(CPU)的一种操作模式. 实模式被特殊定义为20位地址内存可访问空间上,这就意 ...
- Codeforces 144A Arrival of the General (水)
A Ministry for Defense sent a general to inspect the Super Secret Military Squad under the command o ...
- Codeforces Round #618 (Div. 2) A~E
原作者为 RioTian@cnblogs, 本作品采用 CC 4.0 BY 进行许可,转载请注明出处. 1300A. Non-zero 题意:给你一个数组,每次操作你可以使其中任意元素的值+1,问最少 ...
- L2-029 特立独行的幸福 (25分) (简单循环 + 素数筛)
对一个十进制数的各位数字做一次平方和,称作一次迭代.如果一个十进制数能通过若干次迭代得到 1,就称该数为幸福数.1 是一个幸福数.此外,例如 19 经过 1 次迭代得到 82,2 次迭代后得到 68, ...
- 活动回顾|阿里云 Serverless 技术实战与创新广州站回放&PPT下载
7月8日"阿里云 Serverless 技术实战与创新"广州站圆满落幕.活动受众以关注Serverless 技术的开发者.企业决策人.云原生领域创业者为主,活动形式为演讲.动手实操 ...
- 云原生体系下 Serverless 弹性探索与实践
Serverless 时代的来临 Serverless 顾名思义,是一种"无服务器"架构,因为屏蔽了服务器的各种运维复杂度,让开发人员可以将更多精力用于业务逻辑设计与实现.在 Se ...