** 一、OneKeeperLite简介 **
** 1 **
** 背景 **
轻量版监控是基于汉得行狼监控运维平台OneKeeper二次开发的监控平台,通过更少配置实现应用及常用中间件监控。
** 2 **
** 应用场景 **
1)硬件基础设施资源的健康状况、性能指标监控
2)应用服务的运行态资源监控、日志分析等
3)部分中间件的健康状况、性能指标监控
** 3 **
** 监控目标 **
1)Linux
主要监控指标:硬件信息,操作系统信息,日志,文件系统,CPU,内存,Paging,Swap Space,网络,磁盘
2)MySql
主要监控指标:版本,缓存大小,连接数等关键参数,存储,性能,会话,主备复制
3)Redis
主要监控指标:版本,实例状态,实例连接数,缓存key数量,内存使用量,网络流量,CPU使用率,缓存命中率,QPS(每秒查询率),IOPS(读取、写入),集群节点状态
4)微服务
主要监控指标:产品服务名称,IP地址、端口,运行状态,Java内置Health Indicators返回的信息
5)应用日志
6) 集群,别名都是默认生成,别名含义:日志所在主机实例-环境编码-
应用编码。检索条件:共有四种类型,行包含(精确匹配)、行不包含(精确匹配)、行正则匹配(模糊匹配)、行正则不匹配(模糊匹配),可以选择多个类型组成一个复杂的查询条件(多个类型同时满足)
** 二、OneKeeperLite部署配置 **
** 1 **
** 前置准备 **
** 1)中间件安装版本: **
MinIO:8.0.0
MySql:5.7.34
Redis:6.2.3
Kafka:2.4.1
Elasticsearch:7.5.2
** 2)硬件建议 **
一般规模采用一台 4C16G
Linux服务器基本够用,如果监控接入规模较大(服务器及监控接入总数达到200+),再按需扩容,如果使用日志管理功能,则建议预留 300G-500G
普通磁盘存储空间,存储组件及日志接入数据;简单部署试用,则最少 2C8G可运行,如果监控接入组件较多则可能会导致资源紧张,系统缓慢或异常。
** 2 **
** docker安装 **
** 1) 方式一:离线下载 **
• ** 下载解压 **
从官方或监控代理仓库下载docker安装包:
• ** 设置系统服务 **
创建服务文件,/usr/lib/systemd/system/docker.service,内容如下:
** 2) 方式二:yum方式安装 (推荐) **
• ** 删除旧版本 **
命令如下:
• ** 下载依赖包且设置资源库 **
命令如下:
• ** 安装最新版本的Docker引擎和containerd **
命令如下:
• ** 启动docker **
命令如下:
** 3) 验证版本 **
docker version
** 3 **
** docker-compose安装 **
** 1) 下载安装包 **
wget https://hops.hand-china.com/resource/onekeeperlite/docker-
compose-1.29.0.tar.gz
或 wget https://github.com/docker/compose/releases/download/1.29.0/docker-
compose-Linux-x86_64
** 2) 解压到bin目录即可 **
tar -zxvf docker-compose-1.29.0.tar.gz -C /usr/bin
chmod +x /usr/bin/docker-compose
** 3) 版本验证 **
** 4 **
** 镜像准备 **
** 1) 镜像文件下载 **
镜像文件地址: https://hops.hand-china.com/resource/onekeeperlite/docker-images/
** 2) 导入镜像 **
**
**
** 3) 镜像清单:docker images -a **
** 5 **
** 执行部署 **
** 1) 获取部署工程 **
mkdir /u01/hops
cd /u01/hops
wget https://hops.hand-china.com/resource/onekeeperlite/hops-server-lite-
deploy.tar.gz
tar -zxvf hops-server-lite-deploy.tar.gz
cd hops-server-lite-deploy
## 更改目录权限
chmod -R 777 prometheus
chmod -R 777 loki
chmod -R 777 reload
chmod -R 777 mysql
chmod -R 777 config/
chmod 644 mysql/conf/my.cnf
** 6 **
** 启动验证 **
## 启动
docker-compose up -d
## State均为Up状态即可
docker-compose ps
** 7 **
** 登录验证 **
平台完成部署后,会内置一个默认账号:hops/Admin@123!。
浏览器访问 http://{实际服务的IP}:8800 即可
** 三、OneKeeperLite目标接入 **
** 1 **
** 容器化监控 **
** 1)接入准备 **
• ** 拉取监控代理helm部署工程 **
• ** 安装Helm工具 **
① 监控组件容器化部署采用helm脚本安装相关组件,需提前先在K8S节点安装Helm工具
② 解压并移动到可执行目录
③ 验证
• ** 创建K8S命名空间 **
• ** 创建RBAC认证 **
创建访问目标K8S资源的RBAC认证信息,用于Prometheus监控发现目标和采集指标做认证。在后续步骤中会用到当前创建的token
① 创建RBAC认证
② 创建样例Pod
③ 从样例pod获取token信息
④ 删除样例Pod
** 2)监控代理部署 **
这一步的目的是部署监控数据的采集程序,不同的监控模板有对应的监控代理(采集程序)。除应用服务监控以外,提供了监控代理对应的Helm Chart
模板,接入的时按需部署即可。
• ** Linux主机 **
监控Linux主机需要基于node-exporter进行监控指标采集。在确保完成部署准备的内容后,在监控代理helm部署工程下执行如下脚本
该脚本中,node-exporter会作为daemonset类型,自动扩展到K8S集群的每一个节点,新增节点后无需干预。
通过如下脚本验证
查看以node-exporter-开头的pod是否是Runing状态。如果不是请查看对应pod的日志。node-
exporter的pod默认占用的端口为9100.大部分情况下启动失败可能是由于端口占用导致,如果确定是端口占用的原因,请修改对应端口信息即可:
• ** Mysql **
监控MySQL需要部署mysql-exporter监控指标采集。在确保完成部署准备的内容后,在监控代理helm部署工程下执行如下脚本
1、mysql.host: mysql容器在集群内的clusterIP,通过kubectl get service -n <命名空间>
可以查看对应的clusterIP
...