promgen

Promgen is a configuration file generator for Prometheus

MIT License

Downloads
59
Stars
1K
Committers
24

Bot releases are visible (Hide)

promgen -

Published by kfdm about 5 years ago

  • [BUGFIX] Fixes for Docker build #174
promgen -

Published by kfdm about 5 years ago

  • [BUGFIX] Fix queries for promgen.Rule and promgen.Site #170
  • [BUGFIX] Fix rule import for Project/Service #165
  • [BUGFIX] Migrate from sites.site to promgen.site to fix references #164
  • [IMPROVEMENT] Add PROMGEN_SCHEME to support https links #160
  • [IMPROVEMENT] Add silence button to blackbox exporter entries #156
  • [IMPROVEMENT] Import probe config from blackbox_exporter #155
  • [IMPROVEMENT] Read-only rule page #169
  • [INTERNAL] Cleanup URL paths #167
  • [INTERNAL] Minor version updates and Dockerfile cleanup #163
  • [INTERNAL] Refactor apk commands in Dockerfile #172
  • [INTERNAL] Refactor macro for common use case #168
  • [INTERNAL] Remove fragile celery metrics #171
promgen -

Published by kfdm over 5 years ago

  • [CHANGE] Remove old Prometheus v1 rule format #148
  • [IMPROVEMENT] Support selecting probe module for blackbox monitoring #154
  • [IMPROVEMENT] When listing rules, show rule specific labels #153

Setting for url_writer changes to prometheus:blackbox

See promgen/tests/examples/promgen.yml

promgen -

Published by kfdm over 5 years ago

  • [INTERNAL] Upgrade to Django 2.2.x #152
  • [BUGFIX] Fix rule rendering table on host detail page #151
  • [BUGFIX] Fix rendering errors with Silence/Alert dropdowns #150
  • [BUGFIX] Fix search page rendering #149
  • [INTERNAL] Move remaining celery tasks to tasks.py #139
promgen -

Published by kfdm over 5 years ago

  • [BUGFIX] Fix search page rendering #149
promgen -

Published by kfdm over 5 years ago

  • [CHANGE] Refactor shard assignment from service to Project #147
promgen -

Published by kfdm over 5 years ago

  • [BUGFIX] Refactor rule validation to take into account labels and annotations #144
  • [BUGFIX] Move promtool validation into RuleForm.clean #142
  • [INTERNAL] Update various dependencies #143
  • [IMPROVEMENT] Add proxy for /api/v1/labels #140
  • [IMPROVEMENT] Use django-filters for api filtering #126
promgen -

Published by kfdm over 5 years ago

This release adds support for filters for notifications. Alerts can be filtered so that different notification targets can be restricted by label. For example, sending urgent messages directly to LINE but sending less urgent messages to be logged to slack

  • [INTERNAL] Refactor how we proxy errors #136
  • [BUGFIX] Fix arguments for create/filter/get_or_create #137
  • [BUGFIX] Fix filterActiveSilences condition #135
  • [FEATURE] Implement sender whitelist filters #132
  • [INTERNAL] Refactor Breadcrumb from template to simple_tag #133
  • [INTERNAL] Refactor manager class and validators #131
promgen -

Published by kfdm over 5 years ago

  • [BUGFIX] Fix computed labels #129
  • [BUGFIX] Fix validation of silence duration #130
  • [IMPROVEMENT] Add logo + favicon #128
  • [IMPROVEMENT] Various page query optimizations #127
promgen -

Published by kfdm over 5 years ago

  • [IMPROVEMENT] Add button to silence a single alert #125
  • [CHANGES] Rewritten display of alerts and silences to use vuejs #124
  • [INTERNAL] Split proxy views to their own module #123
  • [IMPROVEMENT] Add default notifier when subscribing #122
  • [BUGFIX] Validate URL field for notifications #121
  • [ENHANCEMENT] Improvements to Admin Alert view #116
promgen -

Published by kfdm almost 6 years ago

  • [BUGFIX] Ensure that invalid annotations are caught #113
  • [CHANGES] Bump Python to 3.6 and use Pipfile for easier development onboarding #109
  • [CHANGES] Update Django version #107
  • [ENHANCEMENT] Add 'owner' field for Projects and Services #111
  • [ENHANCEMENT] Initial read-only API provided by django-rest-framework #112
  • [ENHANCEMENT] New homepage to show subscribed services #105
  • [ENHANCEMENT] Refactor to support Project and Site rule exports #104
  • [ENHANCEMENT] Support adding exporter defaults from admin gui #114
promgen -

Published by kfdm about 6 years ago

  • [BUGFIX] Fix for missing promtool validation error #103
  • [BUGFIX] Fix reference to self.get_object() in RuleToggle #99
  • [CHANGE] Refactor notifications queue for audibility and reliability #94
  • [CHANGE] Add prune-alerts command #106

This version refactors the alert sender queue to better separate
responsibility between components and to provide a more auditable
record of received alerts

promgen -

Published by kfdm about 6 years ago

  • [BUGFIX] Fix reference to self.get_object() in RuleToggle #99
promgen -

Published by kfdm about 6 years ago

  • [IMPROVEMENT] Implement Django permissions for Rule editor #96

This first version implements permissions primarily for common, shared
rules to reduce the chance of accidentally modifying the parent rule.
In the future, permissions will be applied to more objects. Migrations
will automatically create a Default group in the Django admin.

promgen -

Published by kfdm about 6 years ago

  • [CHANGE] Update to Django 2.0 #82
  • [CHANGES] Re-add link to shard #91
  • [IMPROVEMENT] Add /api/v1/query proxy #88
  • [IMPROVEMENT] Add help text describing job label usage #93
  • [IMPROVEMENT] RuleTest will test against all Prometheus instances #90
promgen -

Published by kfdm over 6 years ago

  • [BUGFIX] Fix parsing error with silence end date
  • [BUGFIX] Fix webhook POST data
  • [CHANGE] Update Celery version for bug fix
  • [IMPROVEMENT] Cleanup some page headers to make navigation easier
  • [IMPROVEMENT] Simple proxy page for /graph view
  • [IMPROVEMENT] Speed up services page with prefetch_related_objects
  • [IMPROVEMENT] Support entering comma separated list of hosts
  • [IMPROVEMENT] Support for disabling a shard (disables adding new services)
  • [IMPROVEMENT] Use css grid to improve readability of long pages
  • [IMPROVEMENT] Warn if parent rull is missing macro
promgen -

Published by kfdm over 6 years ago

  • [BUGFIX] Properly encode webhook notifier payload
promgen -

Published by kfdm over 6 years ago

  • [BUGFIX] Allow STATIC_ROOT to be configured via Environment
  • [BUGFIX] Fix bytes/string mismatch with outputing rules
  • [BUGFIX] Fix error message when registering a duplicate Service
  • [BUGFIX] Fix missing list of exporters on host detail page
  • [BUGFIX] Fix typo in view names
  • [CHANGE] Bootstrap default admin user when starting Promgen with an empty database
  • [CHANGE] Change handling of DEBUG variable. Now requires that a value is set in /path/DEBUG instead of just the file existing
  • [CHANGE] CONFIG_DIR renamed to PROMGEN_CONFIG_DIR
  • [CHANGE] Temporarily disable typeahead plugin pending refactoring
  • [IMPROVEMENT] Added Slack notifier
  • [IMPROVEMENT] Ship promtool in docker image
  • [IMPROVEMENT] Updates to documentation

Thanks to @seoester and @Tommassino for contributing pull requests and assisting with bug fixes and documentation updates

promgen -

Published by kfdm over 6 years ago

  • [BUGFIX] Fix formatting on yaml rules file to output as unicode
  • [BUGFIX] Minor optimization for admin page
  • [BUGFIX] Include missing package data
  • [BUGFIX] Fix double slash with exporter path test
  • [IMPROVEMENT] Add default project/service label when creating new rule
  • [IMPROVEMENT] Show disabled exporters as light grey
  • [IMPROVEMENT] Show confirmation when toggling exporter
promgen -

Published by kfdm almost 7 years ago

  • [BUGFIX] Minor permissions fix with atomic_write method
  • [IMPROVEMENT] Remove special 'default' group and support Site as a parent for shared rules
  • [IMPROVEMENT] Add support for Prometheus 2.x rule format (yaml rules)
  • [IMPROVEMENT] Fix getting started documentation with Docker
  • [BUGFIX] Add test cases for alert manager silence
  • [BUGFIX] Switch to Django's builtin LoginRequiredMixin to handle auth
  • [CHANGE] remove 'rule_writer' stanza from config and mere into 'prometheus' stanza
# These are used for Promgen to automatically trigger a reload on target changes
prometheus:
  url: http://prometheus:9090/
  version: 2
  # Promtool was moved into the prometheus stanza. To skip validation this can
  # be set to the path of the 'true' binary
  promtool: /usr/local/bin/promtool
  # promtool: /usr/bin/true # to disable
  # Output rule configuration to this path
  rules: /etc/prometheus/promgen.rule.yml
  # Or remove .yml for when working with Prometheus 1.x
  # rules: /etc/prometheus/promgen.rule
# The old rule_writer format is now unused and can be deleted
#rule_writer:
#  path: /etc/prometheus/promgen.rule
#  promtool_path: /usr/local/bin/promtool