{"id":21838572,"url":"https://github.com/bazzline/zabbix_agent_update_notifyer","last_synced_at":"2026-05-08T18:35:17.322Z","repository":{"id":58703817,"uuid":"467964012","full_name":"bazzline/zabbix_agent_update_notifyer","owner":"bazzline","description":"Free as in freedome zabbix agent installation to notify if updateable packges are available","archived":false,"fork":false,"pushed_at":"2022-04-25T12:21:22.000Z","size":62,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-21T15:18:58.274Z","etag":null,"topics":["arch-linux","debian","systemd","update-checker","zabbix","zabbix-agent"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bazzline.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-09T14:36:18.000Z","updated_at":"2022-03-28T07:37:39.000Z","dependencies_parsed_at":"2022-09-06T14:24:26.872Z","dependency_job_id":null,"html_url":"https://github.com/bazzline/zabbix_agent_update_notifyer","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/bazzline/zabbix_agent_update_notifyer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazzline%2Fzabbix_agent_update_notifyer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazzline%2Fzabbix_agent_update_notifyer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazzline%2Fzabbix_agent_update_notifyer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazzline%2Fzabbix_agent_update_notifyer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bazzline","download_url":"https://codeload.github.com/bazzline/zabbix_agent_update_notifyer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazzline%2Fzabbix_agent_update_notifyer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32792337,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["arch-linux","debian","systemd","update-checker","zabbix","zabbix-agent"],"created_at":"2024-11-27T21:12:22.375Z","updated_at":"2026-05-08T18:35:17.271Z","avatar_url":"https://github.com/bazzline.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Zabbix Agent Update Notifyer\n\nFree as in freedome zabbix agent installation to notify if updateable packges are available.\n\nThe current change log can be found [here](CHANGELOG.md).\n\n# Installation\n\nFor easy installation, git is mandatory.\n\n```\nWORKING_DIRECTORY=$(pwd)\nTEMPORARY_DIRECTORY=$(mktemp -d)\n\ncd ${TEMPORARY_DIRECTORY}\ngit clone https://github.com/bazzline/zabbix_agent_update_notifyer .\n\n#call \u003e\u003einstall.sh -h\u003c\u003c to display help and more information\n#if needed, change the configuration by adapting \u003e\u003edata/configuration.sh\u003c\u003c\n./bin/install.sh\n\n#import the template in template/update_notifyer.xml\n# in your zabbix server\n#`Configuration` -\u003e `Templates` -\u003e `Import`\n\ncd ${WORKING_DIRECTORY}\n\nrm -fr ${TEMPORARY_DIRECTORY}\n```\n\n## Uninstallation\n\n```\nWORKING_DIRECTORY=$(pwd)\nTEMPORARY_DIRECTORY=$(mktemp -d)\n\ncd ${TEMPORARY_DIRECTORY}\ngit clone https://github.com/bazzline/zabbix_agent_update_notifyer .\n\n#call \u003e\u003euninstall.sh -h\u003c\u003c to display help and more information\n#if needed, change the configuration by adapting \u003e\u003edata/configuration.sh\u003c\u003c\n./bin/uninstall.sh\n\ncd ${WORKING_DIRECTORY}\n\nrm -fr ${TEMPORARY_DIRECTORY}\n```\n\n## Update\n\nBasically do the uninstallation followed by the installation.\n\n# Idea\n\nCredit to the people where it belongs to, [theranger/zabbix-apt](https://github.com/theranger/zabbix-apt) showed me so much and gave me the base for my code. Thank you very much.\n\n## In the short\n\nThe idea is to:\n\n* Update local package database\n* Fetch the package names where updates are available\n* Read the amount of updateable packages and report them to zabbix\n\n## The longer version\n\n### Supported systems and mandatory packages\n\nThis package comes with \"battery included\"/support for the packagemanager `pacman` and `apt` which means, all [debian](https://www.debian.org/) and [arch linux](https://archlinux.org/) base systems are supported.\n\nRight now, [systemd](https://systemd.io/) mandatory too, as well as an installed [zabbix agent](https://www.zabbix.com/zabbix_agent).\n\nFeel free to create a pull request to extend the support of more package managers or init deamons.\n\n### The process described in depth\n\nUpdating the local packages is triggered by a systemd timer file (`/etc/systemd/system/zabbix_agent-update_notifyer.timer` which is starting `/etc/systemd/system/zabbix_agent-update_notifyer.service`).\n\nThe package manager is used to update it's database. After that, the database is asked to fetch packages where updates are available.   \nFor `apt`, we are able to distinguish between security and regular packages. For `pacman`, because of the nature of arch linux, each package is security related.   \nThe informations of the packages are stored in the file paths `/var/local/zabbix_agent-update_notifyer_-_security_packages.txt` and `/var/local/zabbix_agent-update_notifyer_-_regular_packages.txt`.\n\nThe generated files with the information of the updateable packages are processed by the zabbix agent. A dedicated configuration file is created in `/usr/local/etc/zabbix_agentd.conf.d/zabbix_agent-update_notifyer.conf`. The file `/etc/zabbix/zabbix_agentd.conf` is enriched by the line `Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf` to load the configuration file.   \nThe zabbix agent is counting the amount of lines in each of the packages files and reports that amount to your zabbix server.\n\nThe zabbix server can process the supported values. The template basically comes with two triggers. One for security packages and one for regular packages.   \nAll you need to do is to import the [template](template/update_notifyer.xml) and add them to the client where you've installed this software.\n\n### Final note\n\nBased on the idea of [theranger/zabbix-apt](https://github.com/theranger/zabbix-apt), this package is an evolution of his idea. I moved the logic into a dedicated script to enable the possibility to support multiple package manager and init scripts.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbazzline%2Fzabbix_agent_update_notifyer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbazzline%2Fzabbix_agent_update_notifyer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbazzline%2Fzabbix_agent_update_notifyer/lists"}