Prometheus Metrics Server with Tower Exporter Discovery
Run Prometheus in Docker and discover running Cetmix Tower exporter Jets through file-based scrape targets.
Summary
- Category
- Jet Templates
- Tags
- Monitoring
- Authors
- Cetmix OÜ
- License
- AGPL-3
- Version
- 1.0.0
- Call sign
- jet_template_prometheus
- Website
- cetmix.com/contact
This snippet imports a Prometheus Jet Template using prom/prometheus:v3.14.0. It runs one instance per server, stores time-series data under the Jet root and uses prometheus_retention to control data retention. It scrapes itself and exposes port 9090 on the shared Docker network for clients such as Grafana. The Docker, Fail2ban and Tower Core dependency templates are included.
Deploy and discover targets
- Import the YAML, install the template on the monitoring server, set
prometheus_retentionto a duration such as15d, and configurenode_exporter_port,cadvisor_portandpostgres_exporter_portto match the exporters. Setprometheus_sd_postgres_legacyto a JSON array of legacy targets or[]for an empty list. Create a Jet targeting Running. - Import and run the separate Node Exporter and cAdvisor Jets on hosts to monitor. Run PostgreSQL Exporter where a PostgreSQL Jet is already running. Allow the Prometheus server to reach the exporters on their configured ports (typically
9100,9101and9187, respectively). - Use Refresh targets after adding or removing exporters. Tower finds running exporter Jets, combines the server IPv4 address and exporter port into a target, and uses the Tower server name as the Prometheus
instancelabel. The plan uploads thefile_sdJSON and reloads Prometheus. It also renders any separately configured legacy PostgreSQL targets fromprometheus_sd_postgres_legacy. - Point Grafana at
http://<prometheus-jet-reference>:9090from the shared Docker network. Check thenode,cadvisorandpostgresjobs in Prometheus if a dashboard is missing an instance.
Operate
The supplied scheduled task is configured with a one-day interval. Use Refresh targets for immediate discovery changes. Rebuild recreates the container and refreshes its configuration while retaining the data directory. Destroy removes the Jet's deployment resources, including local metrics history.
This package is distributed under the GNU Affero General Public License v3.0 (AGPL-3) or later.
These Terms and Conditions (“Terms”) govern your access to and use of YAML configuration files (“Packages”, “YAML Snippets”, or “Snippets”) made available via the Cetmix Tower platform, operated by Cetmix OÜ, Ranna 6, Haademeeste, Voiste, 86501, Estonia (“Cetmix”, “we”, “our”, or “us”).
By downloading, installing, or otherwise using any YAML Snippets from the Cetmix Tower platform, you agree to be bound by these Terms.
1. Use of Packages
1.1. The YAML Snippets are provided either by Cetmix or third-party authors (“Authors”).
1.2. You are solely responsible for verifying the functionality, safety, and suitability of any YAML Snippet before using it in a production environment.
1.3. You may use the Snippets only in accordance with their respective licenses, which may be open-source or commercial.
2. Author Responsibility
2.1. Authors are solely responsible for the content, accuracy, functionality, and compliance of the YAML Snippets they publish.
2.2. Cetmix does not review or verify the correctness, security, or compliance of third-party Snippets.
2.3. If you are an Author, you represent and warrant that your submitted YAML Snippet:
- Does not infringe on any third-party rights;
- Complies with applicable laws and regulations;
- Does not contain harmful, malicious, or misleading code or behavior.
3. Limitation of Liability
3.1. Cetmix provides access to the YAML Snippets “as is” and “as available,” without warranties of any kind, either express or implied.
3.2. Cetmix expressly disclaims all liability for any damages resulting from:
- Use or inability to use a YAML Snippet;
- Errors or omissions in the Snippets;
- Actions taken in reliance on any YAML Snippet;
- Misuse, misconfiguration, or system failure caused by a Snippet.
3.3. In no event shall Cetmix OÜ be liable for any indirect, incidental, special, punitive, or consequential damages, including but not limited to loss of data, profits, or service availability.
4. Security and Compliance
4.1. Cetmix does not guarantee that any Snippet is secure or free from vulnerabilities. You must review and test all Snippets before deploying them in sensitive or production environments.
4.2. Compliance with security, privacy, and regulatory requirements is your responsibility when using any Snippet.
5. Intellectual Property
5.1. Ownership of each YAML Snippet remains with its respective Author.
5.2. You must respect all license terms specified for each Snippet. Unauthorized reproduction, distribution, or sublicensing may result in legal consequences.
6. Modifications and Termination
6.1. Cetmix may modify or remove any YAML Snippet at any time without notice.
6.2. These Terms may also be updated periodically. Continued use of the platform constitutes acceptance of the revised Terms.
7. Governing Law and Jurisdiction
These Terms shall be governed by the laws of the Republic of Estonia. Any disputes arising under or in connection with these Terms shall be subject to the exclusive jurisdiction of the courts of Estonia.
8. Contact
For questions or concerns regarding these Terms or specific YAML Snippets, please contact us