企业监控系统带来的好处
- 故障预防和早期发现:通过实时监控关键指标,及时发现系统中的异常情况和潜在故障,并采取相应的措施进行预防或解决,以减少系统崩溃或停止运行的风险;
- 性能优化:通过监控和分析系统的性能状况,识别瓶颈和性能问题,提供数据支持和优化建议,以提高系统的响应速度、吞吐量和稳定性;
- 资源管理和规划:通过监控系统资源的使用情况,包括CPU、内存、磁盘空间等,有效进行资源分配和使用规划,避免资源过度使用或浪费;
- 决策支持:通过监控数据的分析和统计,提供对系统运行情况和用户行为的深入了解,为决策制定提供数据支持,帮助企业制定合理的策略和规划。
本系列文章将从以下三个指标逐步实现企业监控系统的搭建
1️⃣应用系统健康监控:监控应用系统是否健康,例如网站根目录是否可以正常打开,API接口是否可正常调用,应用系统域名证书是否即将过期等;
2️⃣服务器性能监控:用于监控应用系统所使用的服务器资源的各项指标,例如CPU使用率,内存使用率,磁盘使用率等;
3️⃣应用API接口监控:监控应用系统API的调用行为,例如根据API接口状态码判断接口的异常,根据接口短时间的访问行为判断是否被攻击等。
应用系统健康监控系统搭建
以下安装步骤使用的均为Centos7.9系统
1. 安装1Panel
1Panel是一个开源的 Linux 服务器运维管理面板,可管理Docker容器,支持一键部署。一行命令部署,自动检测服务器是否安装Docker,如没有则会自动安装。
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
如下图所示,可自行调整配置,或使用默认配置,请确保设置的端口放开防火墙,安全组等限制
2. 安装Uptime Kuma
-
在1Panel的应用商店里找到Uptime Kuma,直接点击安装即可
-
安装完成后,通过配置的端口访问,设置初始用户及密码即可查看到以下页面
-
可以点击添加监控项进行系统监控监控,Uptime Kuma支持的监控类型有很多
-
如果希望监控系统是否正常,可以使用HTTP的方式监控。在URL中填写对应系统的域名或者IP,也可以配置内网地址。配置域名时可同时开启证书提醒功能及时提醒证书到期。
-
配置有效状态码,当请求的地址返回的状态码不匹配时,即可通过配置的告警渠道发送通知。
3. 告警配置
监控平台支持很多告警渠道,无需二次开发。在通知选项中,配置通知渠道,自带多种通知模板,例如企业微信机器人,直接填写机器人webhook地址中的key值即可完成配置
4.其他方式
上面讲解了最快的搭建方式,在10分钟就可以完成搭建。除此之外也可以直接在服务器上安装Docker的方式来完成,无需借助第三方平台
- 安装Docker
1. #更新包管理器:
2. sudo yum update
3. #添加Docker的官方仓库,可更换国内阿里源以提高速度:
4. sudo yum install -y yum-utils
5. sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6. #安装Docker引擎:
7. sudo yum install docker-ce docker-ce-cli containerd.io
8. #启动Docker服务并设置开机自启:
9. sudo systemctl start docker
10. sudo systemctl enable docker
11. #验证Docker是否正确安装并运行:
12. sudo docker --version
- 安装Uptime Kuma
1. #建议将数据持久化到挂载盘,避免占用系统盘空间
2. docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
- Docker简单介绍
Docker是一种开源的容器化平台,旨在简化应用程序的打包、分发和部署过程。它提供了一种轻量级且可移植的容器运行环境,能够将应用程序及其依赖项打包为独立的可执行容器,使应用程序在不同的环境中具备相同的运行保障。Docker的优势在于快速部署、可移植性强以及资源利用率高等特点。它可以在几乎任何操作系统上运行,包括Linux、Windows和Mac OS等。通过使用Docker,开发人员可以更轻松地打包应用程序及其依赖项,并在不同的环境中进行快速部署和测试。此外,Docker还提供了易于管理的容器编排工具,如Docker Compose和Kubernetes,用于管理多个容器的集群。
容器:容器是一个独立且轻量级的运行环境,包含了应用程序及其所需的软件、配置文件和库等。每个容器都是相互隔离的,可以独立运行,并且与宿主机环境隔离开来。
镜像:镜像是容器的基础组件,类似于虚拟机中的镜像。它包含了完整的操作系统、应用程序和所有的依赖项。通过定义Dockerfile来创建镜像,然后可以使用此镜像来生成容器实例。