Thanks to visit codestin.com
Credit goes to github.com

Skip to content
 
 

Latest commit

 

History

30 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

监控报警服务

说明

  1. 使用elastic search,kibana来构建集中日志管理,apm-server实现应用程序监控,使用elastalert报警。
  2. 这个例子只是为了demo以下整套工具能做什么,以及一些sample,不能用于生产环境
  3. 生产环境建议使用cloud vendor的es和kibana服务

前提

  1. Docker环境
  2. docker-compose环境
  3. 端口3000 3001 3306 5601 8200 9200 9300未被占用
  4. 安装好curl

启动服务

启动方法

git clone https://github.com/k19810703/eka.git
# 创建网络 仅需一次
docker network create ekasample
#修改配置文件./alert/example_frequency.yaml
#1.  48行 改为可用的smtp服务器地址
#2.  57行 改为可用的email地址
cd ./eka
# 打包启动
docker-compose up --build -d
# 查看初始化进程log,以下命令退出后说明启动成功
docker logs -f initjob

服务较多,整体启动需要花个几分钟

启动内容说明

  1. 启动了elasticsearch,kibana,apm-server服务
  2. 启动了sample-service1,sample-service2 2个api服务
  3. 启动了mysql服务
  4. 启动了heartbeat服务监控sample-service1,sample-service2是否在线
  5. 启动了metricbeat服务监控mysql
  6. 在elasticsearch和kibana上做了heartbeat的初始化
  7. 在elasticsearch和kibana上做了metricbeat的初始化
  8. 在elasticsearch上做了elastalert的初始化,并启动监控

log服务

  1. 打开kibana http://localhost:5601
  2. 左边栏=>Discover=>左边下拉框选择app-service1-* 或者 app-service2-* 来查看log
  3. 就可以看到samleapp的log了,本例用的node.js的express框架,使用winston作为log组件,其他语言也有类似的log模块直接输出到elastic search
  4. 如果log输出到文件,可以参考elastic的filebeat组件

apm服务

  1. 打开kibana http://localhost:5601
  2. 左边栏=>APM
  3. 自行探索或参考官网文档

监控服务

  1. 打开kibana http://localhost:5601
  2. 左边栏=>Discover=>左边下拉框选择heartbeat-*
  3. 左边栏=>Dashboard=>搜索heartbeat,并打开出现的那条记录

数据库监控

  1. 通过数据库管理工具连接上mysql后做一些sql操作以生成一些监控数据
  2. 打开kibana http://localhost:5601
  3. 左边栏=>Dashboard
  4. 搜索mysql
  5. 点击[Metricbeat MySQL] Overview ECS

报警服务

参考

elasalert

说明

  1. 由于各个服务启动有先后顺序,所以elasticsearch应该已经会有服务不在线的记录并被监控程序捕获并发出邮件通知
  2. 监控程序需要python3.6环境,3.7+不能正常运行

清理

docker-compose rm -s -f -v

答疑解惑

[email protected]

About

使用elastic search,kibana来构建集中日志管理,apm-server实现应用程序监控,使用elastalert报警

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages