监控微信的插件(手机监视对方手机软件)
监控微信的插件(手机监视对方手机软件)
监控是保障系统稳定性的重要组成部分,在Kubernetes开源生态中,资源类的监控工具与组件监控百花齐放。
cAdvisor:kubelet内置的cAdvisor,监控容器资源,如容器cpu、内存;
Kube-state-metrics:kube-state-metrics通过监听 API Server 生成有关资源对象的状态指标,主要关注元数据,比如 Deployment、Pod、副本状态等;
metrics-server:metrics-server 也是一个集群范围内的资源数据聚合工具,是 Heapster 的替代品,k8s的HPA组件就会从metrics-server中获取数据;
还有node-exporter、各个官方、非官方的exporter,使用 Prometheus 来抓取这些数据然后存储,告警,可视化。但这些还远远不够。
监控的实时性与准确性不足
大部分资源监控都是基于推或者拉的模式进行数据离线,因此通常数据是每隔一段时间采集一次,如果在时间间隔内出现一些毛刺或者异常,而在下一个采集点到达时恢复,大部分的采集系统会吞掉这个异常。而针对毛刺的场景,阶段的采集会自动削峰,从而造成准确性的降低。
监控的场景覆盖范围不足
部分监控场景是无法通过资源表述的,比如Pod的启动停止,是无法简单的用资源的利用率来计量的,因为当资源为0的时候,我们是不能区分这个状态产生的真实原因。
基于上述两个问题,Kubernetes是怎么解决的呢?1|1事件监控
在Kubernetes中,事件分为两种,一种是Warning事件,表示产生这个事件的状态转换是在非预期的状态之间产生的;另外一种是Normal事件,表示期望到达的状态,和目前达到的状态是一致的。我们用一个Pod的生命周期进行举例,当创建一个Pod的时候,首先Pod会进入Pending的状态,等待镜像的拉取,当镜像录取完毕并通过健康检查的时候,Pod的状态就变为Running。此时会生成Normal的事件。而如果在运行中,由于OOM或者其他原因造成Pod宕掉,进入Failed的状态,而这种状态是非预期的,那么此时会在Kubernetes中产生Warning的事件。那么针对这种场景而言,如果我们能够通过监控事件的产生就可以非常及时的查看到一些容易被资源监控忽略的问题。
一个标准的Kubernetes事件有如下几个重要的属性,通过这些属性可以更好地诊断和告警问题。
Namespace:产生事件的对象所在的命名空间。
Kind:绑定事件的对象的类型,例如:Node、Pod、Namespace、Componenet等等。
Timestamp:事件产生的时间等等。
Reason:产生这个事件的原因。
Message: 事件的具体描述。[root@masterwork]#kubectlgetevent--all-namespaces LASTSEENTYPEREASONOBJECTMESSAGEdefault14mNormalCreatedpod/busybox2Createdcontainerbusyboxdefault14mNormalStartedpod/busybox2Startedcontainerbusyboxdefault24mWarningFailedpod/litemall-all-584bfdcd99-q6wd2Error:ErrImagePulldefault4m47sWarningFailedpod/litemall-all-584bfdcd99-q6wd2Error:ImagePullBackOff1|2ali kube-eventer
针对Kubernetes的事件监控场景,Kuernetes社区在Heapter中提供了简单的事件离线能力,后来随着Heapster的废弃,相关的能力也一起被归档了。为了弥补事件监控场景的缺失,阿里云容器服务发布并开源了kubernetes事件离线工具kube-eventer。支持离线kubernetes事件到钉钉机器人、SLS日志服务、Kafka开源消息队列、InfluxDB时序数据库等等。
GitHub地址:https://github.com/AliyunContainerService/kube-eventer
下面是以企业微信机器人告警发送为例:[root@node1monitoring]#catkube-eventer.yamlapiVersion:apps/v1kind:Deploymentmetadata: labels: name:kube-eventer name:kube-eventer namespace:kube-systemspec: replicas:1 selector: matchLabels: app:kube-eventer template: metadata: labels: app:kube-eventer annotations: scheduler.alpha.kubernetes.io/critical-pod:'' spec: dnsPolicy:ClusterFirstWithHostNet serviceAccount:kube-eventer containers: -image:registry.aliyuncs.com/acs/kube-eventer-amd64:v1.2.0-484d9cd-aliyun name:kube-eventer command: -"/kube-eventer" -"--source=kubernetes:https://kubernetes.default" ##.e.g,dingtalksinkdemo #---sink=dingtalk:[your_webhook_url]&label=[your_cluster_id]&level=[NormalorWarning(default)] #---sink=webhook:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=07055f32-a04e-4ad7-9cb1-d22352769e1c&level=Warning&label=oa-k8s ---sink=webhook:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=07055f32-a04e-4ad7-9cb1-d223&level=Warning&header=Content-Type=application/json&custom_body_configmap=custom-webhook-body&custom_body_configmap_namespace=kube-system&method=POST env: #IfTZisassigned,settheTZvalueasthetimezone -name:TZ value:"Asia/Shanghai" volumeMounts: -name:localtime mountPath:/etc/localtime readOnly:true -name:zoneinfo mountPath:/usr/share/zoneinfo readOnly:true resources: requests: cpu:100m memory:100Mi limits: cpu:500m memory:250Mi volumes: -name:localtime hostPath: path:/etc/localtime -name:zoneinfo hostPath: path:/usr/share/zoneinfo---apiVersion:rbac.authorization.k8s.io/v1kind:ClusterRolemetadata: name:kube-eventerrules: -apiGroups: -"" resources: -events -configmaps verbs: -get -list -watch---apiVersion:rbac.authorization.k8s.io/v1kind:ClusterRoleBindingmetadata: name:kube-eventerroleRef: apiGroup:rbac.authorization.k8s.io kind:ClusterRole name:kube-eventersubjects: -kind:ServiceAccount name:kube-eventer namespace:kube-system---apiVersion:v1kind:ServiceAccountmetadata: name:kube-eventer namespace:kube-system---apiVersion:v1data: content:>- {"msgtype":"text","text":{"content":"EventType:{{.Type}}\nEventNamespace:{{.InvolvedObject.Namespace}}\nEventKind:{{.InvolvedObject.Kind}}\nEventObject:{{.InvolvedObject.Name}}\nEventReason:{{.Reason}}\nEventTime:{{.LastTimestamp}}\nEventMessage:{{.Message}}"}}kind:ConfigMapmetadata: name:custom-webhook-body namespace:kube-system
效果:
日本面积相当于中国哪个省(人口只有2人的国家)今天,是七七事变84周年。回望历史,不禁让人感慨万端。有人说当时的中日差距很大,犹如矮人巨人之比。日本的政治经济军事等方面优于中国,加上它蓄谋已久的侵华政策,所以就制造了七七事变,
广东陆丰市碣石镇()陆丰市碣石镇街女广东陆丰市碣石镇()陆丰市碣石镇街女36岁的吴志坚原来是一个旧服装店的老板。20平方米的店面里,他和妻子曾经一次次地把一捆捆的旧服装运回来,拆包清理翻新摆放,等待客户挑选。一般一件
府城车展市长赖清德为LUXGEN站台LUXGEN前卫科技的未来风格激荡府城古都LUXGEN5Sedan领军全车系智慧科技车进驻2012台南国际新车大展车坛盛事一波接一波,继台北车展台中车展之后,南台湾车迷引颈期盼的2
雷峰塔在哪里(金山寺和雷峰塔是一个地方吗)看过白蛇传的朋友关于雷峰塔和金山寺,不少人都以为金山寺和雷峰塔都是在一个地方。其实雷塔就在杭州,而金山寺就在镇江。早在东晋末年,金山上就建起了一座泽心寺。到了唐朝,法海禅师在此开山
伊宁市是哪里(新疆伊宁市是地级市吗)伊宁是伊犁自治州的地级行政首府,有塞外江南,诗画伊犁的美誉。也是一个宜居小城,国家历史文化名城,四季分明,日照充足,没有南疆的酷热,冬天又不会太冷,坚持城市即旅游的发展理念,这里有
房屋屋顶被风刮怎么办近日房屋屋顶被风刮怎么办登录了热搜,也是在网上引起了网友们的关注,那么很多小伙伴可能还不清楚具体的情况如何,小编也是在网上查阅了一些信息,那么接下来就分享给大家来了解下房屋屋顶被风
柳州有什么好玩的(柳州市区景点一日游攻略)百里柳江旅游景区百里柳江旅游景区属于AAAA级景区,百里柳江景区位于中心城区,是柳州的城市名片和必游之地。景区内柳江江段长8。7公里,乘坐游船夜游柳江便能近距离观赏到两大基尼斯世界
通化市属于哪个省(江苏通化在什么位置)通化的秋天,已勾勒好最炽热的色彩,浓烈又舒服。伴随着秋风乍起,落叶轻舞,一片片红叶飘落在石阶上溪水旁记忆里,诗与远方近在咫尺,一支生态旅游的交响曲在山水之间奏响。。10月14日,由
通化是哪个省(吉林通化疫情最新情况)来源吉林省卫生健康委吉林省卫生健康委关于新型冠状病毒肺炎疫情情况通报(2021年1月27日公布)1月26日024时,全省新增确诊病例14例(长春市12例,通化市2例),其中2例(长
松原哪里好(四平通化辽源松原哪个城市好)城市综合经济竞争力作为城市发展的基石,是衡量城市经济发展的实力,也是城市未来发展和长期发展的关键。由中国社科院财经战略研究院和中国社会科学出版社共同研究发布的中国城市竞争力报告对全
今日南京蔬菜零售价格(商品零售价格指数)9月15日,影响居民购买力和市场供需平衡,燃料为120。价格仅供参考使用。年12月,油价说明,它是经济通胀的主要衡量标准。30家具为1020日用品为990文化办公用品为1090金银