小阿轩yx-案例:Zabbix监控kubernetes云原生环境

小阿轩yx-案例:Zabbix监控kubernetes云原生环境

前言

传统监控的本质

  • 就是收集、分析和使用信息来观察一段时间内监控对象的运行进度,并且进行相应的决策管理的过程,监控侧重于观察特定指标。

随着云原生时代的到来

  • 我们对监控的功能提出了更多的要求,要实现这些功能,就要实现的云原生的“可观测性”。
  • 可观测性是云原生时代必须具备的能力。

目前,“可观测性” 逐渐取代 “监控”,成为云原生技术领域最热门的话题之一。

Zabbix 新版本功能介绍

zabbix 新功能

  • 是一个基于 web 界面的分布式系统监控的企业级开源软件。
  • 可以监视各种系统与设备的参数,保障服务器及设备的安全运营。

Zabbix 6.0 LTS

  • 新增 Kubernetes 监控功能,可以在 Kubernetes 系统从多个维度采集指标。

zabbix 特点

  • 安装与配置简单。
  • 可视化 web 管理界面。
  • 免费开源。
  • 支持中文。
  • 自动发现。
  • 分布式监控。
  • 实时绘图。

zabbix 的主要功能

硬件监控

  • 如交换机、路由器、打印机等。

系统监控

  • 如 CPU、内存,磁盘。硬盘 IO,系统负载等。

服务监控

  • 如 apache、nginx、tomcat、redis、TCP 连接数等。

性能监控

  • 如网站性能,服务器性能,数据库性能。

日志监控

  • 如访问日志,错误日志。

安全监控

  • 如用户登录数,本地文件改动,passwd 文件变化。

网络监控

  • 如端口,SMTP,网络使用率,网络入流量,网络出流量。

kubernetes 集群及组件监控模板

新版本的 zabbix 中

  • 提供了专门针对 kubernetes 原生架构的监控模板,用户可以直接使用这些模板对 kubernetes 的原生组件进行监控。
模板名称 备注
Kubernetes API server by HTTP K8S ApiServer 组件指标模板
Kubernetes cluster state by HTTP k8S 集群指标模板
Kubernetes controller manager by HTTP K8S ControllerManager 组件指标模板
Kubernetes kubelet by HTTP K8S Kubelet 组件指标模板
Kubernetes nodes by HTTP K8S 集群节点发现以及状态指标模板
Kubernetes scheduler by HTTP K8S Scheduler 组件指标模板

K8S 节点基础信息指标模板

  • 对 kubernetes 的主机进行监控的时候,仍然可以使用 Linux by zabbix agent 模板对集群中的各个主机进行晚上的监控。
模板名称 备注
Linux by Zabbix agent OS Linux 系统监控模板

监控指标

  • 云原生环境中,需要监控的指标很多
监控名称 监控对象
节点基础信息 CPU、内存,磁盘 ,IO ,网络,system info等
集群指标 [组件] Api Server 、controllerManage、SchedulerServer,、kubelet等
资源对象指标 Daemonset、Deployment、Replicaset,Endpoint,Pod等
Pod 容器指标 Container:Menory max usage,Pod CpU:User seconds等

Agentless

  • 通过 Zabbix 内置的 “HTTP agent”,“Script” 两种类型的监控项,无需安装客户端,通过访问被监控端的 API 接口即可采集监控指标数据,主要用于K8S 集群、服务组件、pod 容器状态及性能指标的采集。

项目环境

设备列表

主机 IP
k8s-master 192.168.10.101
k8s-node01 192.168.10.102
k8s-node02(zabbix server) 192.168.10.103
mariadb-10、NFS 192.168.10.108

案例拓扑图

数据库配置

关闭防火墙、内核机制(在108主机上) 

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/sysconfig/selinux
##修改为永久关闭
SELINUX=disabled

将 mysql-8.0.31-linux 的源码包通过 Xftp 上传至主机108

用 bash 快速部署 mysql

[root@localhost ~]# bash mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz

NFS 配置

开启会话同步(101、102、103)

创建 NFS 存储目录

[root@k8s-master ~]# mkdir -p /nfs
[root@k8s-node01 ~]# mkdir -p /nfs
[root@k8s-node02 ~]# mkdir -p /nfs

安装 nfs 服务

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值