使用Consul快速搭建简易分布式服务监控系统
来源:互联网 发布:奔腾楚天激光机编程 编辑:程序博客网 时间:2024/05/18 01:38
相关的介绍请移步官网或者Consul’s Github.
服务发现是Consul
的特性之一,利用这个特性,我们可以做一个简单的分布式服务监控系统.
模拟一个服务
用nodejs模拟一个最简单的服务node_server.js,内容如下,:
var http = require('http');http.createServer(function(request, response) { response.write('<html>'); response.write('<body>'); response.write('<h1>Hello, World!</h1>'); response.write('</body>'); response.write('</html>'); response.end();}).listen(8090);
在Consul中定义服务
在/etc/consul.d/web.json
中定义服务如下:
{ "services":[ { "name":"web", "tags":["nodejsServer"], "address":"127.0.0.1", "port":8091, "checks":[ { "http":"http://localhost:8090/", "interval":"10s" } ] } ]}
启动Node模拟服务
node node_server.js
启动Consul Agent 集群
启动第一个节点:
consul agent \ -server \ -bootstrap-expect 2 \ -data-dir /tmp/consul \ -node=agent-one \ -bind=172.20.20.10 \ -config-dir /etc/consul.d/
启动第二个节点:
consul agent \ -data-dir ./ \ -node=agent-monitor \ -config-dir /etc/consul.d \ -bind 172.20.20.1 \ -server \ -join 172.20.20.10 \ -ui -bootstrap-expect 2
参数说明:
- -data-dir:数据文件目录,我指定的是执行命令的当前目录,可以任意指定;
- -node:分布式节点名称;
- -config-dir:配置文件名称,官方推荐的是
/etc/consul.d
; - -bind:绑定的ip,
- -server:表示当前Consul为一个Server,server替换成Client时表示客户端;
- -ui:启动时伴随启动ui界面,该界面可以通过:
localhost:8500/ui/
访问; - -bootstrap-expect:表示集群Server数量,启动时带上该参数,当有新的节点进入或者离开集群,会自动选举新的Leader;
- -join:加入指定的集群.
进入WEB管理页面:
localhost:8500/ui/
web页面可以查看当前所有的Service状态,当前所有的node集群等信息,如下图:
服务监控
现在停掉模拟服务node service.查看WEB界面如下:
可以看到,无法访问的service会用不同的颜色标记出来,同时其状态变为:critical
.也可以看到服务无法访问的原因.
通过上面的简单部署,就可以快速建一个简单的分布式服务监控系统了.当然,Consul的功能远不止这些.有机会在介绍其他的.
1 0
- 使用Consul快速搭建简易分布式服务监控系统
- golang使用服务发现系统consul
- 分布式系统工具Consul
- 使用node.js快速搭建简易本地HTTP服务
- 使用consul实现分布式服务注册和发现
- 服务发现系统consul
- 使用Python进行分布式系统协调 (ZooKeeper/Consul/etcd)
- 使用Python进行分布式系统协调 (ZooKeeper,Consul, etcd )
- 使用Python进行分布式系统协调 (ZooKeeper,Consul, etcd )
- 使用Python进行分布式系统协调 (ZooKeeper,Consul, etcd )
- 使用Docker搭建consul集群+registrator实现服务自动注册。
- 服务发现系统consul--配置
- 服务发现系统consul介绍
- Zabbix分布式监控系统的初步搭建
- 点评CAT搭建 分布式监控系统
- 使用Grafana搭建监控系统
- 分布式系统搭建:服务发现揭秘
- 基于 xNet 通信框架搭建的简易分布式系统 Demo ~~
- Problem G
- Qt-----反射机制
- 刚刚涉及IT领域的大三汪的小心思(第一篇博客)
- 求2个字符串的最长公共子串——矩阵法
- ldd gperftool 用法
- 使用Consul快速搭建简易分布式服务监控系统
- mysql基本操作
- 编程血泪史之前端
- git osc 体验
- mysql连接问题
- 7对数字排序
- FEDay第二届前端开发者大会后记
- 修改图片尺寸并且缩放和裁剪
- hdu4057(AC自动机+状态压缩dp)