涅米涅米
码龄8年
关注
提问 私信
  • 博客:131,208
    问答:4,902
    136,110
    总访问量
  • 35
    原创
  • 1,783,866
    排名
  • 451
    粉丝
  • 1
    铁粉

个人简介:技巧来源于深度的理解,是一种自然的结果,而不是一个追逐的目标。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
  • 加入CSDN时间: 2017-03-10
博客简介:

ary的博客

博客描述:
技巧来源于深度的理解,是一种自然的结果,而不是一个追逐的目标。
查看详细资料
个人成就
  • 获得54次点赞
  • 内容获得26次评论
  • 获得172次收藏
  • 代码片获得2,537次分享
创作历程
  • 1篇
    2023年
  • 11篇
    2021年
  • 4篇
    2020年
  • 10篇
    2019年
  • 9篇
    2018年
成就勋章
TA的专栏
  • 微信
    1篇
  • docker
    4篇
  • 从零开始
    5篇
  • 前端
    1篇
  • 奇奇怪怪
    4篇
  • 进阶之路
    16篇
  • spring文档阅读
    2篇
  • 工具
    3篇
兴趣领域 设置
  • 后端
    架构
  • 运维
    容器devops自动化kubernetes运维开发
  • 服务器
    linux
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

发现一个讲PRML的宝藏UP,应该是目前国内讲的最清晰的了!免费!免费!免费!

PRML免费宝藏视频推荐,对人工智能底层感兴趣的小伙伴一定不能错过!
原创
发布博客 2023.08.16 ·
138 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

k8s安装prometheus时遇到pod pending问题

答:

看错误信息你的k8s集群一共有四个节点(3个master、1个worker),错误分成两部分:

  1. 1个节点上没有可分配的端口
  2. 3个节点不符合调度策略

问题1:

你的workload类型是deamon-set,容器内端口用的是9100。正常情况下容器内端口不受宿主机影响,但你的yaml里配置了hostNetwork:true,所以会直接使用node所在的端口。看你的回复里报错是端口被占用,那么可以在该node上运行lsof -i :9100查看是否有服务占用了9100这个端口,有就kill掉。

问题2:

节点不符合调度策略是因为你的yaml里设置了tolerations,看配置是不允许调度到master节点。但由于deamon-set类型的workload会在每个节点上都创建,所以3个master节点都报错了。解决方案是删掉下面的污点配置。

img

回答问题 2022.01.07

prometheus Targets监控页面kubernetes-nodes 状态为down,出现如下所示的error

答:

错误提示是访问被拒绝,做一下这几个测试:

  1. 在prometheus的容器里用curl或wget访问不通的几个endpoint
  2. 防火墙通不通
回答问题 2021.11.16

RestTemplate get请求偶尔会报空指针

答:

你贴的错误信息里报的是空指针异常,发生的条件是:

如果a = b.c.d报空指针,则b或者c可能为null

结合错误信息

at com.epiroc.purchasetopay.service.impl.UserClientServiceImpl.getUserInfo(UserClientServiceImpl.java:135)

你应该看UserClientServiceImpl.java的135行是否存在b.c.d这种代码,并看一下b或者c有没有可能在某些情况下为null

回答问题 2021.10.26

记录解决启动prometheus-kafka-adapter提示“client has run out of available brokers to talk to“的问题

目录现象描述排查过程踩坑总结参考现象描述用别人构建好的prometheus-kafka-adapter二进制文件,在服务器上按照文档提示配置KAFKA_BROKER_LIST环境变量,启动提示"client has run out of available brokers to talk to"。排查过程在prometheus-kafka-adapter所在的服务器上(以下简称服务器)运行kafka-console-producer.sh,确认不存在网络隔离;执行kafka-console-p
原创
发布博客 2021.10.19 ·
3442 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

group_wait、group_interval、repeat_interval对告警的影响

目录官方解释group_wait(default: 30s)group_interval(default: 5m)repeat_interval(default: 4h)实验参数告警过程结论注意参考官方解释group_wait(default: 30s)How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or
原创
发布博客 2021.10.09 ·
7565 阅读 ·
12 点赞 ·
6 评论 ·
15 收藏

关于rabcher的使用问题。

答:

rancher吧?rancher在k8s原生的namespace之上还有一层逻辑隔离叫项目,我猜你看的是default项目下的内容,而k8s初始创建的那些资源在system项目下。

可以发一些截图上来,什么都没有不好排查问题。

回答问题 2021.09.10

运行Docker镜像的时候出现 "exec: \"python\": executable file not found in $PATH": unknown.的问题

答:
CMD ["python", "run.py", "/input_path", "/output_path"]

是exec风格的语法,不会通过shell执行,可能会导致读不到PATH中的环境变量,可以改成下面两种写法试试

# entrypoint 才是官方推荐的启动入口
ENTRYPOINT ["python", "run.py", "/input_path", "/output_path"]
# 必须用cmd则需要这样写
CMD ["/usr/bin/python", "run.py", "/input_path", "/output_path"]

参考:

【docker】CMD ENTRYPOINT 区别 终极解读 昨天用Dockerfile来启动mongodb的集群,启动参数--replSet死活没执行,最后就决定研究一哈cmd和entrypoint。但是上网看了一些资料个人觉得讲的不好,还是没有说出根本的东西,决定自己研究并且整理一哈。首先上docker官网:https://docs.docker.com/engine/reference/builder/#cmd感觉官网关于这两个命令讲的简直不要 https://blog.csdn.net/u010900754/article/details/78526443


如果上述方案没解决问题,看这里

看错误是FROM的基础镜像里没有包含python环境,可通过以下方法(任选一个)解决:

  1. 换一个可用的镜像
  2. 在RUN里加上安装python的命令
  3. 用nvidia/cuda:10.0-cudnn7-runtime-ubuntu16.04镜像启动一个容器,通过docker exec进入容器里安装你需要的基础环境,然后把处理好的容器打包成新镜像,用新镜像运行run.py
回答问题 2021.09.03

正则 ^王.*?\s\d{4}$ 为什么匹配不到 王丽 0502 和 王秀英 0503

答:

我把不能匹配的两个名字单独拿出来测试了一下,结果是可以匹配的。推测是你测试的系统里匹配不到的两个字符串(王丽 0502、王秀英 0503)的前面或后面有不可见的字符(空格、制表符、换行等)导致匹配失败。你可以试试把结尾的"$"去掉看能不能匹配。

^王.*?\s\d{4}

回答问题 2021.08.24

物联网云平台管理系统+实时监测的思路怎么实现?25块

答:

平台思路如下:

  1. casbin实现鉴权
  2. 抽象各种设备的模型并实现增删改查逻辑
  3. 录入设备时通过consul的注册功能让prometheus自动发现target

监控思路如下:

  1. 根据需要监控的设备在网上找有没有开源的exporter(可以试试搜索"协议名_exporter",如snmp_exporter、ipmi_exporter,没有则要自己实现)
  2. 通过exporter暴露监控指标
  3. 利用prometheus采集监控信息(视需求决定是否需要保留冷数据)
  4. 客户端读取prometheus监控数据并展示(可以通过开源项目grafana展示,也可以自己开发页面)
  5. 通过alertmanager上报告警

关于prometheus可以看看这里,里面有我通过各类exporter监控物理机、交换机、虚拟机等设备的架构图。

问题描述包含的信息太少了,上面的思路主要是从利用各种开源项目达到尽量满足通用需求和减少工作量出发,真正在开发时还需要根据具体需求进行技术选型和调整。

回答问题 2021.08.04

进阶之路:从零到一在k8s上部署高可用prometheus —— thanos receive、thanos query

目录导航前言相关yaml文件thanos receive配置相关thanos-objectstorage.yamlthanos-receiver-hashring.yaml服务相关thanos-receiver-service.yamlthanos-receiver.yamlthanos query服务相关thanos-query-service.yamlthanos-query-service-web.yamlthanos-query.yaml部署验证导航进阶之路:从零到一在k8s上部署高可用prom
原创
发布博客 2021.08.03 ·
2039 阅读 ·
0 点赞 ·
3 评论 ·
3 收藏

进阶之路:从零到一在k8s上部署高可用prometheus —— minio

目录导航前言相关yaml文件minio-service.yamlminio-service-web.yamlminio.yaml部署验证导航进阶之路:从零到一在k8s上部署高可用prometheus —— 总览前言经过前面几章的部署,我们已经搭建起了一套可用的监控平台(没错,prometheus + alertmanager的组合已经可以实现监控的基本要求了)。但是我们之前部署的三节点prometheus只是三个采集同样数据的离散节点而已,各个节点之间没有关联,困扰我们的单点故障问题并没有解决,接下
原创
发布博客 2021.08.03 ·
1141 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

进阶之路:从零到一在k8s上部署高可用prometheus —— alertmanager

目录导航前言相关yaml文件权限相关alertmanager-serviceAccount.yaml配置相关alertmanager-secret.yaml服务相关alertmanager-service.yamlprometheus.yaml部署验证导航进阶之路:从零到一在k8s上部署高可用prometheus —— 总览前言在上一章部署完监控基础组件prometheus后,我们应该已经可以采集到node_exporter暴露出的监控数据了。但是仅仅有数据是不够的,我们需要将数据转化为可以利用的资
原创
发布博客 2021.08.03 ·
1128 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

进阶之路:从零到一在k8s上部署高可用prometheus —— prometheus

目录导航前言导航进阶之路:从零到一在k8s上部署高可用prometheus —— 总览前言在进行了一系列准备工作后,终于可以开始部署整个架构的基础 —— prometheus了。
原创
发布博客 2021.08.03 ·
2133 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

进阶之路:从零到一在k8s上部署高可用prometheus —— prometheus-operator

目录导航前言导航进阶之路:从零到一在k8s上部署高可用prometheus —— 总览前言
原创
发布博客 2021.07.30 ·
1378 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

prometheus-operator相关文件

发布资源 2021.07.30 ·
zip

进阶之路:从零到一在k8s上部署高可用prometheus —— consul

目录导航前言动态发现流程相关yaml文件consul.yamlconsul-service.yamlconsul-service-web.yaml部署注册exporter验证导航进阶之路:从零到一在k8s上部署高可用prometheus —— 总览前言consul在整个部署架构中起到的主要是让prometheus可以动态发现exporter的作用,避免频繁改动prometheus的抓取配置。动态发现流程prometheus通过consul动态发现exporter的流程如下:1.在promet
原创
发布博客 2021.07.29 ·
1288 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

进阶之路:从零到一在k8s上部署高可用prometheus —— 准备工作

目录导航前言环境准备导航进阶之路:从零到一在k8s上部署高可用prometheus —— 总览前言由于本文所列的资源都需要部署在kubernetes上,所以需要读者具备一定的容器和k8s基础。零基础的同学可以先通过以下文档了解一下k8s的常用概念:容器namespacepodworkload(deployment、statefulset)serviceconfigmap、secret环境准备依据个人条件准备一个k8s环境(工作节点配置之和需要达到4C8G及以上,没有的话可以通过
原创
发布博客 2021.07.29 ·
731 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

进阶之路:从零到一在k8s上部署高可用prometheus —— exporter

目录导航前言相关yaml文件statefulset.yamlservice.yamlservice-nodeport.yaml部署验证导航进阶之路:从零到一在k8s上部署高可用prometheus —— 总览前言exporter种类繁多,有官方提供也有大佬贡献,在此不作赘述。本文选择部署node_exporter作为演示,其他exporter请按需修改。相关yaml文件statefulset.yamlapiVersion: apps/v1kind: StatefulSetmetadata:
原创
发布博客 2021.07.29 ·
1199 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

进阶之路:从零到一在k8s上部署高可用prometheus —— 总览

目录前言thanos前言最近研究了一下关于云原生的监控+告警的方案,由于prometheus对k8s的支持十分优秀,基本上已经是云原生监控的标准了,而且之前也有一些相关的知识积累,所以没花太多功夫就确认了使用prometheus + alertmanager的组合。但是由于监控系统的特殊性,我们不可避免的需要考虑到如何保证高可用。虽然prometheus的性能十分优秀,但是仍然会有性能瓶颈,而且单节点服务会有潜在的单点故障问题。prometheus官方为应对上述问题,提供了联邦集群(federatio
原创
发布博客 2021.07.29 ·
1831 阅读 ·
2 点赞 ·
0 评论 ·
8 收藏
加载更多