#prometheus-exporter #metrics-exporter #exporter #metrics #prometheus #chef #cinc

app cinc_server_exporter

CINC服务器和CINC兼容配置管理解决方案的Prometheus导出器

2个版本

0.1.5 2023年5月23日
0.1.0 2023年5月15日

#388 in 配置

MIT 许可证

18KB
137

Crates Contributors Forks Stargazers Issues MIT License LinkedIn


CINC-Server Exporter

用于CINC服务器和CINC兼容配置管理解决方案的Prometheus导出器。
探索文档

报告错误 · 请求功能

目录
  1. 关于项目
  2. 入门
  3. 用法
  4. 路线图
  5. 贡献
  6. 许可证
  7. 联系方式
  8. 致谢

关于项目

在我目前的工作中,我发现我们缺少一些指标来深入了解我们的基础设施。我构建了这个导出器来填补这些空白。

(回到顶部)

入门

此项目假设您已使用默认数据库设置安装了cinc-server。

安装

  1. 切换到数据库用户
    sudo su - opscode-pgsql
    
  2. 拉取最新版本
    wget # automated builds/releases coming soon
    
  3. 运行服务
    ./cinc_server_exporter
    
  4. 测试
    curl https://127.0.0.1:9165/metrics
    

(回到顶部)

开发设置

  • nix
  • devenv.sh
  • direnv

构建和运行

  1. 拉取最新代码

    git clone https://github.com/esoterick/cinc_server_exporter.git
    
  2. 进入项目目录

    cd cinc_server_exporter
    
  3. 允许direnv和让nix完成其工作

    devenv init
    
  4. 使用任何配置选项更新.envrc,最重要的是将host=字符串设置为当前工作目录的repo加上.devenv/state/postgres,这是devenv存储测试postgres实例数据的默认位置。

    export CINC_SERVER_EXPORTER_CONN_STRING="host=$(pwd)/.devenv/state/postgres user=rlambert dbname=opscode_chef"
    export CINC_SERVER_EXPORTER_INTERVAL="15"
    
  5. 允许更新的direnv

    direnv allow .
    
  6. 运行测试数据库

    devenv up
    
  7. 导入测试数据

    createdb opscode_chef
    psql -U rlambert -d opscode_chef -f test/data/nodes.sql
    
  8. 运行导出器

    cargo run
    
  9. 抓取

    curl https://127.0.0.1:9165/metrics
    

(回到顶部)

用法

配置

有一些选项可以配置导出器,这些选项通过以下环境变量完成。

  • CINC_SERVER_EXPORTER_CONN_STRING - 连接到CINC数据库的Postgres连接字符串。默认:host=localhost user=opscode-pgsql dbname=opscode_chef
  • CINC_SERVER_EXPORTER_INTERVAL - 以秒为单位的抓取数据库的间隔。默认:15
  • CINC_SERVER_EXPORTER_LISTEN_ADDR - 导出器的监听地址。默认:0.0.0.0
  • CINC_SERVER_EXPORTER_LISTEN_PORT - 导出器的监听TCP端口。默认值:9164

(回到顶部)

可用指标

当前可导出的指标列表

导出器级别

  • cinc_server_exporter_last_updated - cinc_server_exporter上次缓存更新的UNIX时间戳

服务器级别

  • cinc_server_node_count - 存储在cinc_server上的所有节点的数量

节点级别

  • cinc_server_node_last_updated - 每个节点,上次节点更新的UNIX时间戳

Axum

  • axum_http_requests_duration_seconds_bucket
  • axum_http_requests_duration_seconds_count
  • axum_http_requests_duration_seconds_sum
  • axum_http_requests_pending
  • axum_http_requests_total

路线图

  • 添加变更日志
  • 添加测试数据
  • 添加测试
  • 记录配置选项
  • 添加自动化构建
  • 在文档中添加发布url

查看开放问题以获取完整的功能提案(以及已知问题)列表。

(回到顶部)

贡献

  1. 分支项目
  2. 创建您的功能分支(git checkout -b feature/AmazingFeature
  3. 提交您的更改(git commit -m 'Add some AmazingFeature'
  4. 推送到分支(git push origin feature/AmazingFeature
  5. 打开拉取请求

(回到顶部)

许可证

在MIT许可下分发。有关更多信息,请参阅LICENSE

(回到顶部)

联系方式

Robert J. Lambert III - [email protected] 项目链接:https://github.com/esoterick/cinc_server_exporter

(回到顶部)

致谢

(回到顶部)

依赖项

~19–32MB
~504K SLoC