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. 华为云张昆:支持全场景全业务,GaussDB加速企业数字化转型

    云.AI.5G等技术驱动,数据库行业迎来新的需求,云数据库也在不断演进升级.依托华为云与华为云Stack,通过全栈软硬件优化,华为云GaussDB进行了进阶与革新,以统一的架构,支持关系型与非关系型的 ...

  2. 华为云UGO:醒醒!你的异构数据库迁移难题有救了

    摘要:华为云推出的数据库和应用迁移 UGO,正是一款专注于异构数据库结构迁移和应用SQL转换的专业云服务. 数字化时代下,上云已成为企业管理者的基本共识,随着技术日新月异,上云也变得轻松简单起来,但异 ...

  3. 云图说:云数据库 RDS for MySQL一键开通读写分离,轻松应对业务高峰期

    摘要:华为云数据库 RDS for MySQL提供一键开通读写分离功能,只需要一个连接地址,让您在业务高峰期不再迷茫,不再慌乱,so easy 的应对业务. 本文分享自华为云社区<云图说 | 第 ...

  4. Solon Aop 特色开发(5)切面与环绕拦截

    Solon,更小.更快.更自由!本系列专门介绍Solon Aop方面的特色: <Solon Aop 特色开发(1)注入或手动获取配置> <Solon Aop 特色开发(2)注入或手动 ...

  5. PPT 编辑顶点

    编辑顶点的N种玩法 针对特定的形状进行编辑 选中形状 -> 右键 -> 编辑顶点 如果[编辑顶点]是灰色的,需要上网下一个 office clean touris,清理一下 合并形状:多个 ...

  6. JAVA SQLServerException: 通过端口 1433 连接到主机 127.0.0.1 的 TCP/IP 连接失败

    [2021-01-15 13:20:14.623] ERROR [Druid-ConnectionPool-Create-497208183] DruidDataSource.java:2471 - ...

  7. SpringBoot Docker 发布

    本文是手动模式,可以移步 Intellij IDEA 集成 Docker 发布 使用 Intellij 集成Docker 发布,比较方便 pom 文件 <groupId>com.vipso ...

  8. 【Django drf】序列化器总结

    目录 序列化器字段 外键字段自定义序列化 在模型类中写方法 在序列化类中写方法 反序列化 外键字段反序列化保存 ModelSerializer使用总结 序列化器字段 序列化中的字段可以根据用途分为三种 ...

  9. GOS会计凭证上传附件

    1.GOS介绍 GOS是一个连接文档和SAP内各种对象的工具,在SAP的一些凭证中,可以通过GOS进行附件的上传.查看和删除等功能,例如采购订单.会计凭证等. 如果没有这个按钮,可以将当前登录用户的类 ...

  10. Codeforce 318A - Even Odds(数学水题)

    Being a nonconformist, Volodya is displeased with the current state of things, particularly with the ...