{"id":23969084,"url":"https://github.com/jiab77/ipfire-netdata-addon-service-patch","last_synced_at":"2026-01-28T16:03:47.858Z","repository":{"id":87588092,"uuid":"589365123","full_name":"Jiab77/ipfire-netdata-addon-service-patch","owner":"Jiab77","description":"Simple patch for adding Netdata add-on service to the IPFire web interface.","archived":false,"fork":false,"pushed_at":"2024-11-24T02:10:37.000Z","size":132,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T16:45:38.089Z","etag":null,"topics":["ipfire","netdata"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jiab77.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-01-15T23:11:16.000Z","updated_at":"2024-11-24T02:10:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"6e995df8-fe2d-4a96-9d2a-75038d38d112","html_url":"https://github.com/Jiab77/ipfire-netdata-addon-service-patch","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Jiab77/ipfire-netdata-addon-service-patch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jiab77%2Fipfire-netdata-addon-service-patch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jiab77%2Fipfire-netdata-addon-service-patch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jiab77%2Fipfire-netdata-addon-service-patch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jiab77%2Fipfire-netdata-addon-service-patch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jiab77","download_url":"https://codeload.github.com/Jiab77/ipfire-netdata-addon-service-patch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jiab77%2Fipfire-netdata-addon-service-patch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28846767,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T15:15:36.453Z","status":"ssl_error","status_checked_at":"2026-01-28T15:15:13.020Z","response_time":57,"last_error":"SSL_read: 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":["ipfire","netdata"],"created_at":"2025-01-07T00:59:42.923Z","updated_at":"2026-01-28T16:03:42.848Z","avatar_url":"https://github.com/Jiab77.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Netdata add-on installer and service patch for IPFire \u003c!-- omit from toc --\u003e\n\nSimple Netdata add-on installer and service patch for the IPFire web interface.\n\n\u003c/div\u003e\n\n## Current versions \u003c!-- omit from toc --\u003e\n\n* Script: __`0.3.0`__\n* Netdata: __[1.47.0-1](https://github.com/siosios/Netdata-on-Ipfire/tree/main/core189)__\n\n## Content \u003c!-- omit from toc --\u003e\n\n* [Features](#features)\n* [Installation](#installation)\n* [Update](#update)\n* [Uninstall](#uninstall)\n* [Reset](#reset)\n* [Fix broken permissions](#fix-broken-permissions)\n* [Service](#service)\n* [Known issues](#known-issues)\n  * [Netdata plugins does not get started](#netdata-plugins-does-not-get-started)\n    * [Workaround](#workaround)\n    * [Screenshots](#screenshots)\n* [Roadmap](#roadmap)\n* [Community](#community)\n* [Thanks](#thanks)\n* [Author](#author)\n\n---\n\n## Features\n\nThe installer script will allow you to do the following:\n\n* Install / Update / Remove / Reset the add-on\n* Fix broken permissions\n* Backup and restore config files when running `remove` or `reset` commands\n* Add / Remove the patch on the __services__ page (__removed__)\n\n## Installation\n\n1. Install `git` with __Pakfire__\n2. Clone the project and run the patch:\n\n```console\n# pakfire install -y git\n# git clone https://github.com/Jiab77/ipfire-netdata-addon-service-patch.git\n# cd ipfire-netdata-addon-service-patch\n# ./install.sh -h\n```\n\nOnce done, simply reload the page(s).\n\n\u003e You can remove `git` right after from __Pakfire__ once installed. `git` is just required for downloading and updating the project to get the latest versions.\n\n## Update\n\n```console\n# cd ipfire-netdata-addon-service-patch\n# ./install.sh -u\n```\n\n\u003e You can also use `--update` if you prefer the long version.\n\n## Uninstall\n\n```console\n# cd ipfire-netdata-addon-service-patch\n# ./install.sh -r\n```\n\n\u003e You can also use `--remove` if you prefer the long version.\n\n## Reset\n\n```console\n# cd ipfire-netdata-addon-service-patch\n# ./install.sh -R\n```\n\n\u003e You can also use `--reset` if you prefer the long version.\n\n## Fix broken permissions\n\nThis feature should be ran automatically during the install process but if you have used `--no-fix` then you have to do it manually.\n\n```console\n# cd ipfire-netdata-addon-service-patch\n# ./install.sh -f\n```\n\n\u003e You can also use `--fix-perms` if you prefer the long version.\n\n## Service\n\nThe Netdata service will be added to the IPFire services page by injecting a custom line inside the `CGI` file.\n\n\u003e __NOTE__\n\u003e\n\u003e This feature has been removed from the script.\n\n\u003c!--\nHere is how it works:\n\n* Install the patch (__don't use it for the moment__)\n\n    ```console\n    # cd ipfire-netdata-addon-service-patch\n    # ./install.sh -s add\n    ```\n\n    \u003e You can also use `--service` if you prefer the long version.\n\n* Remove the patch (__don't use it for the moment__)\n\n    ```console\n    # cd ipfire-netdata-addon-service-patch\n    # ./install.sh -s rm (or 'remove')\n    ```\n\n    \u003e You can also use `--service` if you prefer the long version.\n\n* Test the service\n\n    ```console\n    # cd ipfire-netdata-addon-service-patch\n    # ./install.sh -s test\n    ```\n\n    \u003e You can also use `--service` if you prefer the long version.\n--\u003e\n\n## Known issues\n\nHere is the list of known issues and related workarounds.\n\n### Netdata plugins does not get started\n\nWhen I was looking for the __Unbound__ service graph in Netdata, I've discovered that the `go.d.plugin` was not running and was not displayed when running the `ps fax | grep netdata` command.\n\nIt took few hours to debug it but I could finally find the reason why simply no plugin could be started by analyzing the file `/opt/netdata/var/log/netdata/collector.log` and discovered that all plugin got __`permission denied`__ errors:\n\n\u003cp\u003e\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cstrong\u003eCollector logs\u003c/strong\u003e\u003c/summary\u003e\n\n```console\n# cat /opt/netdata/var/log/netdata/collector.log.1 | grep -i \"permission denied\" | sort -u | head -n20\nsh: line 1: exec: /opt/netdata/usr/libexec/netdata/plugins.d/charts.d.plugin: cannot execute: Permission denied\nsh: line 1: exec: /opt/netdata/usr/libexec/netdata/plugins.d/cups.plugin: cannot execute: Permission denied\nsh: line 1: exec: /opt/netdata/usr/libexec/netdata/plugins.d/ebpf.plugin: cannot execute: Permission denied\nsh: line 1: exec: /opt/netdata/usr/libexec/netdata/plugins.d/fping.plugin: cannot execute: Permission denied\nsh: line 1: exec: /opt/netdata/usr/libexec/netdata/plugins.d/go.d.plugin: cannot execute: Permission denied\nsh: line 1: exec: /opt/netdata/usr/libexec/netdata/plugins.d/ioping.plugin: cannot execute: Permission denied\nsh: line 1: exec: /opt/netdata/usr/libexec/netdata/plugins.d/perf.plugin: cannot execute: Permission denied\nsh: line 1: exec: /opt/netdata/usr/libexec/netdata/plugins.d/python.d.plugin: cannot execute: Permission denied\nsh: line 1: /opt/netdata/usr/libexec/netdata/plugins.d/charts.d.plugin: Permission denied\nsh: line 1: /opt/netdata/usr/libexec/netdata/plugins.d/cups.plugin: Permission denied\nsh: line 1: /opt/netdata/usr/libexec/netdata/plugins.d/ebpf.plugin: Permission denied\nsh: line 1: /opt/netdata/usr/libexec/netdata/plugins.d/fping.plugin: Permission denied\nsh: line 1: /opt/netdata/usr/libexec/netdata/plugins.d/go.d.plugin: Permission denied\nsh: line 1: /opt/netdata/usr/libexec/netdata/plugins.d/ioping.plugin: Permission denied\nsh: line 1: /opt/netdata/usr/libexec/netdata/plugins.d/perf.plugin: Permission denied\nsh: line 1: /opt/netdata/usr/libexec/netdata/plugins.d/python.d.plugin: Permission denied\n```\n\n\u003c/details\u003e\n\u003c/p\u003e\n\nI then looked at the `/opt/netdata/usr/libexec/netdata/plugins.d` folder and seen that all the `*.plugin` files had their `GID` defined to the group id `999`.\n\nThe problem here is that the group id `999` does not exist on __IPFire__...\n\nYou can check it on your side by running these commands:\n\n* Search for the group id `999`\n\n    ```console\n    # grep -c \"999\" /etc/group\n    0\n    ```\n\n* Search for the user id `999`\n\n    ```console\n    # grep -c \"999\" /etc/passwd\n    0\n    ```\n\nWhile if you are running the same commands but with `netdata` instead:\n\n* Search for the group name `netdata`\n\n    ```console\n    # grep -c \"netdata\" /etc/group\n    1\n    ```\n\n* Search for the user name `netdata`\n\n    ```console\n    # grep -c \"netdata\" /etc/passwd\n    1\n    ```\n\n#### Workaround\n\nSo... What does all of this means? Well... it means that there is probably a permission issue during the install process or during the package building process.\n\nTo be sure of that and also find a way to fix that permission issue, we'll need to find which files are impacted and set to the wrong group id.\n\nHere is how to do so:\n\n```console\n# find /opt/netdata -group 999 2\u003e/dev/null | wc -l\n321\n```\n\n\u003e Woow... that's quite a lot 😅 Just forget to fix them all manually 😆\n\nOk so let's stop the Netdata service, fix the permissions, restart the service and see how it goes after that!\n\n```console\n# /etc/init.d/netdata stop\nStopping real-time performance and health monitoring...                                          [  OK  ]\n\n# find /opt/netdata -group 999 | wc -l\n321\n\n# find /opt/netdata -group 999 -exec chown -c root:netdata {} \\; | wc -l\n321\n\n# find /opt/netdata -group 999 | wc -l\n0\n\n# /etc/init.d/netdata start\nStarting real-time performance and health monitoring...\n\n# /etc/init.d/netdata status\nnetdata is running with Process ID(s) 20865 20863 20859.\n```\n\nNow, if you check the screenshots in the next section, you should get a similar result on your side.\n\nDon't worry, you'll not have to do all this technical things, I've already implemented everything in the [install.sh](install.sh) script 😉\n\nIf you want to fix your current installation, you just need to run the following command:\n\n```console\n# cd ~/ipfire-netdata-addon-service-patch\n# ./install.sh -f\n```\n\n\u003e You can also use `--fix-perms` instead if you prefer long arguments.\n\nOr if you want to be more radical and reset your Netdata installation, you can run this command instead:\n\n```console\n# cd ~/ipfire-netdata-addon-service-patch\n# ./install.sh -R\n```\n\n\u003e You can also use `--reset` instead if you prefer long arguments.\n\nIf for whatever reasons you want to reset your Netdata installation __without__ fixing the permissions, you can run this command:\n\n```console\n# cd ~/ipfire-netdata-addon-service-patch\n# ./install.sh -R --no-fix\n```\n\nThat's all! Hope that all of this could have been helpful for everyone. 🙇‍♂️\n\n#### Screenshots\n\n* __Before fixing permissions__\n\n    ![Before fixing Netdata permissions](images/before-permissions-fix.png)\n  \n* __After fixing permissions__\n  \n    ![After Netdata permissions fix](images/after-permissions-fix.png)\n\n## Roadmap\n\n* [X] Create initial version\n* [X] Make the script better\n* [X] Fix permissions issues\n* [X] Implement __script__ `update` feature\n* [ ] Finish the `service` code\n* [ ] See if the [kickstart](https://learn.netdata.cloud/docs/installing/one-line-installer-for-all-linux-systems) method can be supported\n\n## Community\n\nYou can find the discussion around this project [here](https://community.ipfire.org/t/netdata-addon-by-ummeegge/5318).\n\n## Thanks\n\nHuge thanks to [@siosios](https://github.com/siosios) for his work on the [Netdata package](https://github.com/siosios/Netdata-on-Ipfire) for [IPFire](https://www.ipfire.org/)!\n\n## Author\n\n* [Jiab77](https://community.ipfire.org/u/jiab77)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjiab77%2Fipfire-netdata-addon-service-patch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjiab77%2Fipfire-netdata-addon-service-patch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjiab77%2Fipfire-netdata-addon-service-patch/lists"}