Watch Star Fork

pippo / rancher-exporterGo

加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
订阅rancher的事件,获取host,service状态变迁,向prometheus提供metric
pippo 最后提交于 docker compose
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
readme.md 2.80 KB

Rancher Exporter

  1. 通过订阅rancher event 获取host,service状态变化写入redis
  2. 从redis获取缓存的数据作为metric返回给prometheus
  3. 支持多个rancher集群,采集的数据均获取uuid用于方式不同环境的重名服务

Docker

  1. 容器内编译
docker build -t rancher-exporter:1 .
  1. 本地编译放入容器
docker build -t rancher-exporter:1 -f Dockerfile_busybox .
  1. docker运行
docker run -p 19100:19100 -e "RANCHER_FILE=/conf/rancher.yml" -v /opt/rancher:/conf rancher-exporter:1

配置文件

  1. 读取yaml文件
  2. 支持环境变量和命令行参数传入conf.yml配置文件,命令行参数推荐宿主机使用,环境变量适用于docker
  3. 如果采用docker部署,通过环境变量可直接注入只注入单个rancher环境,此时不注入RANCHER_FILE该环境变量,docker环境中rancher_env通过','分割
  4. Docker服务的,针对一个rancher启动一个容器进行监控,可以采用在rancher中使用 docker-compose.yml

配置文件环境变量

RANCHER_FILE  config/rancher.yml

非配置文件

RANCHER_ACCESS_KEY 3D87A1E60221EA6198E9
RANCHER_SECRET_KEY Ey7SoRS1fdXJyxLkYBGP3gR72WmbNux9SRv4XYuv
RANCHER_URL       http://192.168.3.40:8080
RANCHER_ENV       "Default,test,staging,online" # 通过','分割,自动解析成列表

REDIS_HOST      192.168.3.40
REDIS_PORT      6379
REDIS_PASSWORD  "redis"
REDIS_DB        1

命令行参数传入

./rancher-exporter --rancher.file=config/rancher.yml

命令行参数查看

./rancher-exporter -h
  1. rancher.yml 文件说明 支持列表传入
redis_host: 192.168.3.40  # redis host
redis_port: 6379          # redis port
redis_password: "redis"   # redis password,没有密码传入空string
redis_db: 1
rancher_config:   #支持多个rancher集群
  - rancher_url: http://192.168.3.40:8080                 #rancher url
    access_key: 3D87A1E60221EA6198E9                      #access_key
    secret_key: Ey7SoRS1fdXJyxLkYBGP3gR72WmbNux9SRv4XYuv  #secret_key
    rancher_env:      # rancher 中的env,不会自动订阅全部env,需要手动指定,此处只是例子
      - Default
      - Test
      - Staging
      - Online
      - Online1
  - rancher_url: http://192.168.3.41:8080                 #rancher url
    access_key: 3D87A1E6f22s1EA6198E9                     #access_key
    secret_key: Ey7SoRS1fdbsfioefBGP3gR72WmbNux9SRv4XYuv  #secret_key
    rancher_env:      # rancher 中的env,不会自动订阅全部env,需要手动指定,此处只是例子
      - Default
      - Test
      - Staging
      - Online
      - Online1

Metrics 示例image

License

GNU General Public License v3.0

项目点评 ( 0 )

你可以在登录后,发表评论

搜索帮助