{"id":18440016,"url":"https://github.com/sni/monitoring-tt","last_synced_at":"2025-08-11T04:12:13.470Z","repository":{"id":6596688,"uuid":"7839618","full_name":"sni/Monitoring-TT","owner":"sni","description":"Create Nagios/Naemon/Icinga Config Files with Template Toolkit","archived":false,"fork":false,"pushed_at":"2025-03-20T09:31:48.000Z","size":79,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-14T17:21:36.409Z","etag":null,"topics":["configuration","generator","icinga","naemon","nagios","perl"],"latest_commit_sha":null,"homepage":"","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sni.png","metadata":{"files":{"readme":"README","changelog":"Changes","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2013-01-26T15:44:36.000Z","updated_at":"2025-03-20T09:31:49.000Z","dependencies_parsed_at":"2025-04-14T15:29:46.214Z","dependency_job_id":"dead02cf-6dbf-494d-94be-aff375a17e2c","html_url":"https://github.com/sni/Monitoring-TT","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/sni/Monitoring-TT","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sni%2FMonitoring-TT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sni%2FMonitoring-TT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sni%2FMonitoring-TT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sni%2FMonitoring-TT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sni","download_url":"https://codeload.github.com/sni/Monitoring-TT/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sni%2FMonitoring-TT/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269828143,"owners_count":24481655,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-11T02:00:10.019Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["configuration","generator","icinga","naemon","nagios","perl"],"created_at":"2024-11-06T06:28:00.297Z","updated_at":"2025-08-11T04:12:13.431Z","avatar_url":"https://github.com/sni.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"== MonTT - Generate Monitoring Config with Template Toolkit\n\nDid you ever want to write sophisticated Nagios/Naemon config files using\nthe power of template toolkit? Basically this is a config preprocesseor.\n\n\n=== Requirements\n\nYou will need\n\n  - Perl\n  - 'Template' module from CPAN\n\n\n=== Getting Started\n\nThe input folder(s) should contain some templates and a source of hosts and\ncontacts. Then all will be put together into a clean and maintainable\nnagios configuration.\n\nThe input folder looks like a nagios config folder but you are allowed to\nuse Template Toolkit Syntax.\n\nFor example:\n\n  input/\n  |-- cgi.cfg\n  |-- conf.d\n  |   |-- apps                      # will be processed for every host\n  |   |   `-- apache.cfg            # will be processed for every host with app tag apache\n  |   |-- contacts                  # will be processed for every contact\n  |   |-- contacts.cfg\n  |   `-- hosts\n  |       |-- linux                 # every host of type linux\n  |       |   |-- centos.cfg        # every host of type linux with tag centos\n  |       |   `-- debian\n  |       |       |-- squeeze.cfg   # every host of type linux with tags debian and squeeze\n  |       |       `-- wheezy.cfg\n  |       `-- switch.cfg\n  |-- nagios.cfg\n  |-- resource.cfg\n  |-- static                        # static files will just be copied into destination folder\n  |   `-- conf.d\n  |       |-- commands.cfg\n  |       `-- timeperiods.cfg\n  |-- hooks                         # pre/post hooks\n  `-- post_process*                 # scripts will be run after processing is finished\n\n\nAll files are nagios configuration files, but you may use template toolkit\nsyntax to add some magic to those files. Any folder below conf.d except 'apps',\n'contacts' and 'hosts' will be processed only once. The 'apps' and 'hosts'\nfolder will be processed for every host, the 'contact' folder for every contact.\n\nthen run the montt processor:\n\n  %\u003e ./montt input/ output/\n\n\nThe processor won't overwrite existing files, so export the new config\ninto a new empty folder and move files afterwards. You can automate\nthis step with hooks.\n\n\n=== Examples\n\nFor now the only examples are the tests folder below t/data.\n\n=== Hooks\n\nHooks are scripts which are run at certain points of the export\nprocedure. Hooks have to be executable and have to be placed in a hook\nfolder below the input directory.\n\nAll hooks will be run with a comma seperated list of input folders as argument.\n\nex.:\n\n..................\n inputfolder1/hooks/pre inputfolder1,inputfolder2\n..................\n\n\n==== pre\n\nThe 'pre' hook is run before the export.\n\n==== post\n\nThe 'post' hook is run after the export.\n\n\n=== Post Processing\n\nPost Processor can be any script which matches `post_process*` in any of the\ninput folders.\n\nAll scripts will be run with a the output folders as argument.\n\nex.:\n\n..................\n inputfolder1/post_process.pl outputfolder\n..................\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsni%2Fmonitoring-tt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsni%2Fmonitoring-tt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsni%2Fmonitoring-tt/lists"}