Skip to content

Latest commit

 

History

History
96 lines (82 loc) · 3.14 KB

README.md

File metadata and controls

96 lines (82 loc) · 3.14 KB

Monitor Agent

概要

Monitor Agent 是使用 Python 作为脚本语言,使用 cita-cli 工具对 CITA 服务的状态进行查询,使用 prometheus-client 模块将数据格式化输出,使用 Flask 工具提供外部访问接口,将格式化后的数据直接进行展示;

部署

为了保证数据采集的基础环境一致性,数据采集进程均使用 container 部署;

容器编排部署

如果你希望采集关于运行 CITA 服务的主机资源更多的信息,你可以使用 docker-compose 来进行批量部署多个数据采集进程;

步骤

1、自定义采集信息

cp .env.example .env
修改 .env 配置文件中 hostname、node_ip、node_Port、node_dir、soft_path 为实际部署的信息
---

#采集端显示的主机名
hostname=nodehostname

#本地运行的 CITA 节点IP 和 Port
node_ip=1.1.1.1
node_Port=1337

#本地运行的 CITA 节点目录
node_dir=/data/cita_secp256k1_sha3/test-chain/0

#本地运行的 CITA 目录
soft_path=/data/cita_secp256k1_sha3/

2、启动进程

docker-compose up -d

3、查看数据采集信息

#prometheus_host_exporter
curl http://localhost:1920/metrics

#prometheus_process_exporter
curl http://localhost:1921/metrics

#prometheus_rabbitmq_exporter
curl http://localhost:1922/metrics

#prometheus_cita_exporter
curl http://localhost:1923/metrics

4、关闭进程

docker-compose down

单个容器部署

如果你希望只采集 CITA 服务的运行状态信息,你可以使用 docker 命令来运行一个数据采集进程;

步骤

1、编译镜像

cd ./cita_exporter
docker build -t cita-exporter .
cd ..

2、启动容器 Tips: 请填入宿主机物理网卡 IP 地址,切勿使用 127.0.0.1,exporter 进程在容器中运行,127.0.0.1 将会导致访问容器本地端口

docker run -d --name="prometheus_cita_exporter_x.x.x.x_1337" \
--pid="host" \
-p 1923:1920 \
-v /etc/timezone:/etc/timezone \
-v /etc/localtime:/etc/localtime \
-v "/data/cita_secp256k1_sha3/":"/data/cita_secp256k1_sha3/" \
-v "/data/cita_secp256k1_sha3/test-chain/0":"/data/cita_secp256k1_sha3/test-chain/0" \
-v "`pwd`/cita_monitor_agent.py":"/config/cita_monitor_agent.py" \
-e NODE_IP_PORT="x.x.x.x:1337" \
-e PORT=1920 \
-e NODE_DIR="/data/cita_secp256k1_sha3/test-chain/0" \
cita-exporter

3、查看数据采集信息

#prometheus_cita_exporter
curl http://localhost:1923/metrics

错误信息

1、容器启动失败

  • 使用 docker-compose logs container-name or docker logs container-name 查看容器错误信息,一般原因是参数传入有误

2、容器启动成功,但是查看数据为空

  • 启动数据采集进程时,会检查本地是否运行 CITA 服务,如果没有运行 CITA 服务,则 Node_Get_ServiceStatus 标签返回数值为 0,其他标签为空