Add Netdata role
This commit is contained in:
parent
0ea78b63c8
commit
7e8e9563fd
@ -11,6 +11,7 @@ apache_mods_enabled:
|
||||
- rewrite.load
|
||||
- ssl.load
|
||||
apache_mods_disabled:
|
||||
- mpm_event.load
|
||||
- mpm_prefork.load
|
||||
- php7.4.load
|
||||
apache_global_vhost_settings: |
|
||||
|
2
roles/netdata/.ansible-lint
Normal file
2
roles/netdata/.ansible-lint
Normal file
@ -0,0 +1,2 @@
|
||||
skip_list:
|
||||
- 106
|
2
roles/netdata/.flake8
Normal file
2
roles/netdata/.flake8
Normal file
@ -0,0 +1,2 @@
|
||||
[flake8]
|
||||
exclude = venv/
|
36
roles/netdata/.github/workflows/default.yml
vendored
Normal file
36
roles/netdata/.github/workflows/default.yml
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
---
|
||||
name: Molecule Test
|
||||
on: push
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
max-parallel: 4
|
||||
matrix:
|
||||
molecule_distro:
|
||||
- centos7
|
||||
- centos8
|
||||
# - debian8
|
||||
- debian9
|
||||
- debian10
|
||||
# - fedora
|
||||
- ubuntu1604
|
||||
- ubuntu1804
|
||||
- ubuntu2004
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Set up Python 3
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: "3.x"
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip pip-tools
|
||||
pip-sync requirements.txt requirements-dev.txt
|
||||
ansible --version
|
||||
molecule --version
|
||||
- name: Test with molecule
|
||||
run: |
|
||||
molecule test --scenario-name ${{ matrix.molecule_distro }}
|
1
roles/netdata/.gitignore
vendored
Normal file
1
roles/netdata/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
venv/
|
65
roles/netdata/.gitlab-ci.yml
Normal file
65
roles/netdata/.gitlab-ci.yml
Normal file
@ -0,0 +1,65 @@
|
||||
---
|
||||
image: docker:git
|
||||
|
||||
services:
|
||||
- docker:dind
|
||||
|
||||
stages:
|
||||
- molecule-test
|
||||
|
||||
before_script:
|
||||
- apk update && apk add --no-cache docker
|
||||
python3-dev py3-pip docker gcc git curl build-base
|
||||
autoconf automake py3-cryptography linux-headers
|
||||
musl-dev libffi-dev openssl-dev openssh
|
||||
- docker info
|
||||
- python3 --version
|
||||
- pip3 install --upgrade pip pip-tools
|
||||
- pip-sync requirements.txt requirements-dev.txt
|
||||
- ansible --version
|
||||
- molecule --version
|
||||
|
||||
centos7:
|
||||
stage: molecule-test
|
||||
script:
|
||||
- molecule test --scenario-name centos7
|
||||
|
||||
centos8:
|
||||
stage: molecule-test
|
||||
script:
|
||||
- molecule test --scenario-name centos8
|
||||
|
||||
# debian8:
|
||||
# stage: molecule-test
|
||||
# script:
|
||||
# - molecule test --scenario-name debian8
|
||||
|
||||
debian9:
|
||||
stage: molecule-test
|
||||
script:
|
||||
- molecule test --scenario-name debian9
|
||||
|
||||
debian10:
|
||||
stage: molecule-test
|
||||
script:
|
||||
- molecule test --scenario-name debian10
|
||||
|
||||
# fedora:
|
||||
# stage: molecule-test
|
||||
# script:
|
||||
# - molecule test --scenario-name fedora
|
||||
|
||||
ubuntu1604:
|
||||
stage: molecule-test
|
||||
script:
|
||||
- molecule test --scenario-name ubuntu1604
|
||||
|
||||
ubuntu1804:
|
||||
stage: molecule-test
|
||||
script:
|
||||
- molecule test --scenario-name ubuntu1804
|
||||
|
||||
ubuntu2004:
|
||||
stage: molecule-test
|
||||
script:
|
||||
- molecule test --scenario-name ubuntu2004
|
26
roles/netdata/.travis.yml
Normal file
26
roles/netdata/.travis.yml
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
sudo: required
|
||||
language: python
|
||||
services:
|
||||
- docker
|
||||
before_install:
|
||||
- sudo apt-get -qq update
|
||||
env:
|
||||
- molecule_distro=centos7
|
||||
- molecule_distro=centos8
|
||||
# - molecule_distro=debian8
|
||||
- molecule_distro=debian9
|
||||
- molecule_distro=debian10
|
||||
# - molecule_distro=fedora
|
||||
- molecule_distro=ubuntu1604
|
||||
- molecule_distro=ubuntu1804
|
||||
- molecule_distro=ubuntu2004
|
||||
install:
|
||||
- pip3 install --upgrade pip pip-tools
|
||||
- pip-sync requirements.txt requirements-dev.txt
|
||||
- ansible --version
|
||||
- molecule --version
|
||||
script:
|
||||
- molecule test --scenario-name "$molecule_distro"
|
||||
notifications:
|
||||
webhooks: https://galaxy.ansible.com/api/v1/notifications/
|
36
roles/netdata/.yamllint
Normal file
36
roles/netdata/.yamllint
Normal file
@ -0,0 +1,36 @@
|
||||
---
|
||||
# Based on ansible-lint config
|
||||
extends: default
|
||||
|
||||
ignore: |
|
||||
venv/
|
||||
|
||||
rules:
|
||||
braces:
|
||||
max-spaces-inside: 1
|
||||
level: error
|
||||
brackets:
|
||||
max-spaces-inside: 1
|
||||
level: error
|
||||
colons:
|
||||
max-spaces-after: -1
|
||||
level: error
|
||||
commas:
|
||||
max-spaces-after: -1
|
||||
level: error
|
||||
comments: disable
|
||||
comments-indentation: disable
|
||||
document-start: disable
|
||||
empty-lines:
|
||||
max: 3
|
||||
level: error
|
||||
hyphens:
|
||||
level: error
|
||||
indentation: disable
|
||||
key-duplicates: enable
|
||||
line-length: disable
|
||||
new-line-at-end-of-file: disable
|
||||
new-lines:
|
||||
type: unix
|
||||
trailing-spaces: disable
|
||||
truthy: disable
|
429
roles/netdata/CHANGELOG.md
Normal file
429
roles/netdata/CHANGELOG.md
Normal file
@ -0,0 +1,429 @@
|
||||
commit 3293b627f4ebd71094352a334a820a39b7563560
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Fri Sep 11 02:18:57 2020 -0400
|
||||
|
||||
Disabled Fedora testing
|
||||
|
||||
Will come back to this later. Fedora support will address issue #11
|
||||
|
||||
commit fc685ad8aa5cf3ea67e9889206a4da7c77c5c1db
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Fri Sep 11 02:16:51 2020 -0400
|
||||
|
||||
Added skip Ansible lint role name check
|
||||
|
||||
commit 69a9f60f2e950212ec598276adb16e6ef08637bc
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Fri Sep 11 02:16:26 2020 -0400
|
||||
|
||||
Updated Ansible roles requirements
|
||||
|
||||
commit bfd04aec90ad4ef5fa67826d6e6ca5638e16fb86
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Fri Sep 11 02:15:50 2020 -0400
|
||||
|
||||
Fixed Ubuntu 20.04 install
|
||||
|
||||
Fixes #49
|
||||
|
||||
commit 33051c6bf351ff31e404977146bc8ab53fe679f3
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Fri Sep 11 01:50:52 2020 -0400
|
||||
|
||||
Molecule tests updated
|
||||
|
||||
All Molecule testing scenarios have been updated
|
||||
|
||||
commit 3b137d1dd7ada72ae0fe725ed492b32786eb62cc
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Fri Sep 11 01:48:19 2020 -0400
|
||||
|
||||
Linting configs added
|
||||
|
||||
- Ansible Lint
|
||||
- Flake8
|
||||
|
||||
commit 074ecfe95c26ab5d4aa9e4d050ac8f0767efb1f2
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Fri Sep 11 01:47:13 2020 -0400
|
||||
|
||||
Python Requirements updated
|
||||
|
||||
All prod/development Python requirements updated
|
||||
|
||||
commit 770a020914a8ccd8e86ff72a7c8044997bbd2bc7
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Fri Sep 11 01:46:18 2020 -0400
|
||||
|
||||
Updated CI tests
|
||||
|
||||
The following CI tests have been updated:
|
||||
- GitLab CI
|
||||
- Travis CI
|
||||
- GitHub Actions
|
||||
|
||||
commit 06d64bb66479600e6201bfe36d6e56b065d07cc3
|
||||
Author: Felix Bechstein <f@ub0r.de>
|
||||
Date: Tue May 26 15:46:16 2020 +0200
|
||||
|
||||
fix install on EL8
|
||||
|
||||
commit 7af8e3e7b92e3c2978d9b3c6c9b5f52e0e6970c3
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Sat Feb 22 00:43:52 2020 -0500
|
||||
|
||||
Disabled Fedora testing
|
||||
|
||||
- Issues that need to be addressed later
|
||||
|
||||
commit 698968e7017bbbc966ae1a2941d083ce2f1e0ab1
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Sat Feb 22 00:07:52 2020 -0500
|
||||
|
||||
Changed Molecule scenarios, tests, etc.
|
||||
|
||||
commit 28b89f420ed34d6dc2f7afdf1bdb5e834b954ef8
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Sat Feb 22 00:06:36 2020 -0500
|
||||
|
||||
Updated files, etc. after new structure
|
||||
|
||||
commit a8af449baae441aa7df3b97281413e6eea7cac4e
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Wed Feb 19 11:53:22 2020 -0500
|
||||
|
||||
New files, etc. from cookiecutter template
|
||||
|
||||
commit 8f8e58d2f7249ee42488b6b4b3ccd4d334a7087e
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Wed Feb 19 11:52:36 2020 -0500
|
||||
|
||||
Changes made based on new Molecule testing, etc.
|
||||
|
||||
- When testing a few things were uncovered and have been addressed at
|
||||
this time.
|
||||
|
||||
commit 8ba792745746bc7ce0d7f07ab19b32ab20ea9829
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Wed Feb 19 11:51:28 2020 -0500
|
||||
|
||||
Changes made based on implementing cookiecutter template
|
||||
|
||||
commit 691d32487e0d8e9c9d1952d0f73ec8865c7c6b67
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Wed Feb 19 00:34:35 2020 -0500
|
||||
|
||||
Replaced previous Molecule testing with new
|
||||
|
||||
commit a6f810256600ea16589a697b6c08838a6be34106
|
||||
Author: Gaëtan Duchaussois <gaetan.duchaussois@fretlink.com>
|
||||
Date: Mon Feb 10 16:54:12 2020 +0100
|
||||
|
||||
Add client tls configuration for streams
|
||||
|
||||
commit 397a64b863c2d808b919512378a30640f73e02cb
|
||||
Author: Gaëtan Duchaussois <gaetan.duchaussois@fretlink.com>
|
||||
Date: Tue Feb 11 09:48:52 2020 +0100
|
||||
|
||||
force systemd for Ubuntu 16.04
|
||||
|
||||
commit 65b4fe5f83890e4dbc252594dad6983346f6b3d1
|
||||
Author: Gaëtan Duchaussois <gaetan.duchaussois@fretlink.com>
|
||||
Date: Mon Feb 10 17:09:53 2020 +0100
|
||||
|
||||
add missing dependencies
|
||||
|
||||
commit 436a8dbe694638d3fb46167f7833614b6b418821
|
||||
Author: Gaëtan Duchaussois <gaetan.duchaussois@fretlink.com>
|
||||
Date: Mon Feb 10 18:28:47 2020 +0100
|
||||
|
||||
CI: remove ubuntu 14.04 support reenable 16.04 support
|
||||
|
||||
commit 8ccc6040a722a919003560312b3ad6d426d6ca26
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Thu Aug 1 08:02:54 2019 -0400
|
||||
|
||||
Resolved formatting/task issues with Molecule testing
|
||||
|
||||
- some services needed to be tweaked to account for sysvinit
|
||||
- linting issues were found and resolved
|
||||
|
||||
commit 01c046a3939bf586a2de6a51c7ded3a1314eeaba
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Thu Aug 1 08:00:47 2019 -0400
|
||||
|
||||
Added Molecule testing
|
||||
|
||||
- Added Default (Docker) testing
|
||||
- Added vagrant (Vagrant) testing
|
||||
|
||||
commit d89c224662a82106e341532b7f43cdf2a857acdf
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Thu Aug 1 07:59:35 2019 -0400
|
||||
|
||||
Removed previous Travis testing methods
|
||||
|
||||
commit 5dfb9a50dd62e20dce76e04c57eb9287e58069fb
|
||||
Author: Gaëtan Duchaussois <gaetan.duchaussois@fretlink.com>
|
||||
Date: Thu Jul 25 15:11:52 2019 +0200
|
||||
|
||||
fix template logic for proxy
|
||||
|
||||
commit acb35c700fed298f0aad275bb15079e4435d0e4f
|
||||
Author: Gaëtan Duchaussois <gaetan.duchaussois@fretlink.com>
|
||||
Date: Mon Jul 22 14:04:24 2019 +0200
|
||||
|
||||
Feature: a netdata host can be defined as a proxy for streaming
|
||||
|
||||
commit 4e05065736e2ae6fb2caf629aadcfbde040d0741
|
||||
Author: Alexandre Garand <alexandre.garand@fretlink.com>
|
||||
Date: Mon Jul 22 17:13:19 2019 +0200
|
||||
|
||||
define variable to configure repeat frequency of alarms
|
||||
|
||||
commit d7b5c1ed16f78beae2783b29794856b1d8275cce
|
||||
Author: Alexandre Garand <alexandre.garand@fretlink.com>
|
||||
Date: Tue Jul 23 11:09:21 2019 +0200
|
||||
|
||||
replace blockinfile task by template task to manage health_alarm_notify.conf and add a variable to manage custom_sender_function
|
||||
|
||||
commit 39c397b456385d197222378faa53c09d3a7fd68a
|
||||
Author: Paul B <paul@bonaud.fr>
|
||||
Date: Fri Jul 12 11:30:35 2019 +0200
|
||||
|
||||
auto-update: don't break existing configurations
|
||||
|
||||
commit dbcc7a56df9f70594c83709ed43a411ade497b58
|
||||
Author: Paul B <paul@bonaud.fr>
|
||||
Date: Thu Jul 11 18:00:59 2019 +0200
|
||||
|
||||
auto-udpate: since Netdata v1.11 the auto-updater cron is automatic
|
||||
|
||||
Netdata v1.11 now installs the cron by itself and the installer takes
|
||||
an `--auto-update` option to install the updater script.
|
||||
|
||||
commit 9f6ceff7f4304c3affcf6016b79d08b4d6c74290
|
||||
Author: Markus Binsteiner <makkus@frkl.io>
|
||||
Date: Wed May 22 16:59:44 2019 +0200
|
||||
|
||||
Fix for version check logic. did not work on Debian stretch.
|
||||
|
||||
commit 513be125f0515646a3d391b0c9c2cec1c20429c1
|
||||
Author: Soumik <soumik@soumikghosh.com>
|
||||
Date: Wed Mar 13 10:09:15 2019 -0400
|
||||
|
||||
Don't use a loop for installing pre-requisites
|
||||
|
||||
commit 61a0dbe347de54c3086f83363de73a0ac60f034a
|
||||
Author: Soumik <soumik@soumikghosh.com>
|
||||
Date: Wed Dec 19 18:32:40 2018 -0500
|
||||
|
||||
Make web mode configurable
|
||||
|
||||
commit 624f8167c6880b48faf6e6af2321e2ed331771ed
|
||||
Author: Mickaël PERRIN <dev@mickaelperrin.fr>
|
||||
Date: Tue Dec 18 06:22:15 2018 +0100
|
||||
|
||||
[BUGFIX] Notifications are not sent
|
||||
|
||||
Missing permissions on /etc/netdata/health_alarm_notify.conf file
|
||||
|
||||
commit 21e1af7238e4419da98d24a30ac296563dbfe017
|
||||
Author: bunchc <bunchc@gmail.com>
|
||||
Date: Mon Dec 10 10:42:33 2018 -0600
|
||||
|
||||
Updating netdata git url to fix #23
|
||||
|
||||
Netdata changed git URLs. This broke auto updating. Uninstalling netdata and reinstalling with the correct URL addresses this.
|
||||
|
||||
This pull fixes #23
|
||||
|
||||
commit 375b546d1981908e2e4d19379746328d73965dda
|
||||
Author: Gaëtan Duchaussois <gaetan.duchaussois@fretlink.com>
|
||||
Date: Wed Oct 10 11:33:50 2018 +0200
|
||||
|
||||
Fix alarm configuration failing when file doesn't exists
|
||||
|
||||
commit 152ad798977348b251774f9dabe66420be803ca6
|
||||
Author: John Hogenmiller <john@yourtech.us>
|
||||
Date: Tue Oct 9 08:38:37 2018 -0400
|
||||
|
||||
Allow restart on failure
|
||||
|
||||
This will cause the service to restart if it gets shut down uncleanly. It will wait 30 seconds between restart attempts
|
||||
|
||||
commit 7fe32b4392addde72cb7a0ebf1e2d5e35963af6f
|
||||
Author: Gaëtan Duchaussois <gaetan.duchaussois@fretlink.com>
|
||||
Date: Mon Oct 8 17:59:31 2018 +0200
|
||||
|
||||
really set netdata_hostname in backend and registry
|
||||
|
||||
commit b07e88495f23875707d9885563dfea1e379d9402
|
||||
Author: Gaëtan Duchaussois <gaetan.duchaussois@fretlink.com>
|
||||
Date: Wed Oct 3 19:41:15 2018 +0200
|
||||
|
||||
Allow hostname customisation
|
||||
|
||||
commit fd1724ae622dcd4225e1515e0de280d021e16e6a
|
||||
Author: Guillaume Grussenmeyer <ggrussenmeyer@solent.fr>
|
||||
Date: Wed Aug 29 18:50:53 2018 +0200
|
||||
|
||||
Added support for specifying master node port for streaming.
|
||||
|
||||
commit cdf12fa35fda8499512e286142313b106bd9f9a9
|
||||
Author: Maxime Loliée <maxime@siliadev.com>
|
||||
Date: Fri Jul 27 11:23:58 2018 +0200
|
||||
|
||||
Added some new parameters for tunning flood protection
|
||||
|
||||
commit 9d5d82db40ac80722d8c94d302e6db5815ec0e78
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Mon Apr 30 10:04:56 2018 -0400
|
||||
|
||||
Resolved Ubuntu 18.04 install
|
||||
|
||||
This resolves #12
|
||||
|
||||
The iproute package no longer exists in Ubuntu 18.04 default
|
||||
installation so we needed to exclude installing this package only on
|
||||
Ubuntu 18.04+.
|
||||
|
||||
commit b2e0c932a534c637f284c91c9e7e4cf82e044062
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Mon Apr 30 01:04:28 2018 -0400
|
||||
|
||||
Added Debian Stretch as supported distro
|
||||
|
||||
commit abe5dbfd6bef04107412637f56e01f554e5834b7
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Mon Apr 30 00:55:42 2018 -0400
|
||||
|
||||
Disabled Fedora and Ubuntu 18.04 testing
|
||||
|
||||
Fedora support is not available. Issue logged
|
||||
https://github.com/mrlesmithjr/ansible-netdata/issues/11
|
||||
|
||||
Ubuntu Bionic(18.04) is failing by trying to install iproute which is
|
||||
not available. Issue logged for this
|
||||
https://github.com/mrlesmithjr/ansible-netdata/issues/12
|
||||
|
||||
commit 49333b4004be45718542d3bf3f6d9dd91cfd8e9d
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Mon Apr 30 00:41:09 2018 -0400
|
||||
|
||||
Added build status
|
||||
|
||||
commit ec0964157a169daef106dc79b5542c7e581565a8
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Mon Apr 30 00:40:58 2018 -0400
|
||||
|
||||
Added cron package as pre-req
|
||||
|
||||
This package should exist anyways but to ensure that it is available we
|
||||
will install as a pre-req. This was discovered as testing with Travis-CI
|
||||
because cron is not installed in base container images.
|
||||
|
||||
commit 840ba74f3a2534cb064ea71afcab9181fea40227
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Mon Apr 30 00:22:00 2018 -0400
|
||||
|
||||
Implemented new Travis-CI testing
|
||||
|
||||
commit 049ca80f081b86ab348683f5b3b05fd52bdbe097
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Sat Apr 14 22:27:34 2018 -0400
|
||||
|
||||
Resolves #10
|
||||
|
||||
commit 5ed1ff2c63f91277e80bd0ee79f8c74099b4302b
|
||||
Author: bunchc <bunchc@gmail.com>
|
||||
Date: Fri Apr 13 13:05:27 2018 -0500
|
||||
|
||||
Adding configuration for netdata backends.
|
||||
* defaults/main.yml - added backend configuration variables
|
||||
* templates/netdata.conf.j2 - Added if/then logic around backend configuration
|
||||
|
||||
commit 1bbdd00354b3ee146c616d97c040290eec9fd212
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Mon Mar 19 23:35:10 2018 -0400
|
||||
|
||||
Create LICENSE
|
||||
|
||||
commit 2a6e440982728836db6dceddb53e7b45a3ae5ac6
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Mon Mar 19 23:33:45 2018 -0400
|
||||
|
||||
Split example playbook out into it's own file w/reference in README
|
||||
|
||||
commit 868f4f17e8f7584a25d12f64386c25a5f09aa365
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Mon Mar 19 23:33:22 2018 -0400
|
||||
|
||||
Cleaned up repo info and added TOC
|
||||
|
||||
commit b88d79cabf224af9067f2d2aa891e38584dc5584
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Mon Mar 19 23:33:09 2018 -0400
|
||||
|
||||
Cleaned up Ansible Galaxy meta info
|
||||
|
||||
commit fdad094eb31621faeac52e49e2d00527a32b0822
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Mon Mar 19 23:32:49 2018 -0400
|
||||
|
||||
Cleaned formatting of vars and tasks
|
||||
|
||||
Removed single/double quotes where not needed to make code cleaner. Also
|
||||
changed single quotes to double quotes where they are needed.
|
||||
|
||||
commit 57e651426935598e7c40b1d93c2f323803f4c49c
|
||||
Author: John H <john.hogenmiller@emc.com>
|
||||
Date: Wed Feb 21 11:29:32 2018 -0500
|
||||
|
||||
Alarms customization
|
||||
|
||||
commit b452a5b75826c15c005eada11f4bc5d365f69495
|
||||
Author: Sylvester Neau <neau@lemonde.fr>
|
||||
Date: Wed Jan 3 16:43:21 2018 +0100
|
||||
|
||||
feat: add Netdata streaming configuration
|
||||
|
||||
commit 2023a45956fad6edfc03b441c0472f08a2c4eba5
|
||||
Author: Chris <github.account@chrigel.net>
|
||||
Date: Mon Jan 29 21:00:05 2018 +0100
|
||||
|
||||
Fix yaml syntax error.
|
||||
|
||||
commit c8a1b94391b50e3607b5668e5f04e08ba7431658
|
||||
Author: Chris <github.account@chrigel.net>
|
||||
Date: Mon Jan 29 10:44:19 2018 +0100
|
||||
|
||||
Removed restart handler from forced updater. The update script does that already.
|
||||
|
||||
commit 10df439ae354ae09602930c00721b20605eb27b6
|
||||
Author: Chris <github.account@chrigel.net>
|
||||
Date: Mon Jan 29 10:40:27 2018 +0100
|
||||
|
||||
Add forced update flag.
|
||||
|
||||
commit 01aaef8a28fb6c825216fb1fe84253bedc7c6723
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Fri Apr 28 23:01:38 2017 -0400
|
||||
|
||||
Added CentOS 6/7 functionality
|
||||
|
||||
Signed-off-by: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
|
||||
commit 13615487c89b40bf9db794d6142b6d68f9402ad3
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Fri Apr 28 19:15:29 2017 -0400
|
||||
|
||||
Removed reloading of systemd when using upstart
|
||||
|
||||
Signed-off-by: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
|
||||
commit 0ee4c8ee1fe94df91630b2e5d75aa91e66cfa6e4
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Fri Apr 28 19:11:24 2017 -0400
|
||||
|
||||
first commit
|
76
roles/netdata/CODE_OF_CONDUCT.md
Normal file
76
roles/netdata/CODE_OF_CONDUCT.md
Normal file
@ -0,0 +1,76 @@
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
In the interest of fostering an open and welcoming environment, we as
|
||||
contributors and maintainers pledge to making participation in our project and
|
||||
our community a harassment-free experience for everyone, regardless of age, body
|
||||
size, disability, ethnicity, sex characteristics, gender identity and expression,
|
||||
level of experience, education, socio-economic status, nationality, personal
|
||||
appearance, race, religion, or sexual identity and orientation.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to creating a positive environment
|
||||
include:
|
||||
|
||||
- Using welcoming and inclusive language
|
||||
- Being respectful of differing viewpoints and experiences
|
||||
- Gracefully accepting constructive criticism
|
||||
- Focusing on what is best for the community
|
||||
- Showing empathy towards other community members
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
- The use of sexualized language or imagery and unwelcome sexual attention or
|
||||
advances
|
||||
- Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
- Public or private harassment
|
||||
- Publishing others' private information, such as a physical or electronic
|
||||
address, without explicit permission
|
||||
- Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Our Responsibilities
|
||||
|
||||
Project maintainers are responsible for clarifying the standards of acceptable
|
||||
behavior and are expected to take appropriate and fair corrective action in
|
||||
response to any instances of unacceptable behavior.
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or
|
||||
reject comments, commits, code, wiki edits, issues, and other contributions
|
||||
that are not aligned to this Code of Conduct, or to ban temporarily or
|
||||
permanently any contributor for other behaviors that they deem inappropriate,
|
||||
threatening, offensive, or harmful.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies both within project spaces and in public spaces
|
||||
when an individual is representing the project or its community. Examples of
|
||||
representing a project or community include using an official project e-mail
|
||||
address, posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event. Representation of a project may be
|
||||
further defined and clarified by project maintainers.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported by contacting the project team at mrlesmithjr@gmail.com. All
|
||||
complaints will be reviewed and investigated and will result in a response that
|
||||
is deemed necessary and appropriate to the circumstances. The project team is
|
||||
obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||
Further details of specific enforcement policies may be posted separately.
|
||||
|
||||
Project maintainers who do not follow or enforce the Code of Conduct in good
|
||||
faith may face temporary or permanent repercussions as determined by other
|
||||
members of the project's leadership.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
||||
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
For answers to common questions about this code of conduct, see
|
||||
https://www.contributor-covenant.org/faq
|
9
roles/netdata/CONTRIBUTING.md
Normal file
9
roles/netdata/CONTRIBUTING.md
Normal file
@ -0,0 +1,9 @@
|
||||
# Contributing to ansible-netdata
|
||||
|
||||
## Table Of Contents
|
||||
|
||||
[Code of Conduct](#code-of-conduct)
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
This project and everyone participating in it is governed by the [ansible-netdata Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to [mrlesmithjr@gmail.com](mailto:mrlesmithjr@gmail.com).
|
1
roles/netdata/CONTRIBUTORS.md
Normal file
1
roles/netdata/CONTRIBUTORS.md
Normal file
@ -0,0 +1 @@
|
||||
Larry Smith Jr. - mrlesmithjr@gmail.com
|
21
roles/netdata/LICENSE.md
Normal file
21
roles/netdata/LICENSE.md
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2020 Larry Smith Jr.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
42
roles/netdata/README.md
Normal file
42
roles/netdata/README.md
Normal file
@ -0,0 +1,42 @@
|
||||
# ansible-netdata
|
||||
|
||||
Ansible role to install/configure Netdata
|
||||
|
||||
## Build Status
|
||||
|
||||
### GitHub Actions
|
||||
|
||||
![Molecule Test](https://github.com/mrlesmithjr/ansible-netdata/workflows/Molecule%20Test/badge.svg)
|
||||
|
||||
### Travis CI
|
||||
|
||||
[![Build Status](https://travis-ci.org/mrlesmithjr/ansible-netdata.svg?branch=master)](https://travis-ci.org/mrlesmithjr/ansible-netdata)
|
||||
|
||||
## Requirements
|
||||
|
||||
For any required Ansible roles, review:
|
||||
[requirements.yml](requirements.yml)
|
||||
|
||||
## Role Variables
|
||||
|
||||
[defaults/main.yml](defaults/main.yml)
|
||||
|
||||
## Dependencies
|
||||
|
||||
## Example Playbook
|
||||
|
||||
[playbook.yml](playbook.yml)
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
|
||||
## Author Information
|
||||
|
||||
Larry Smith Jr.
|
||||
|
||||
- [@mrlesmithjr](https://twitter.com/mrlesmithjr)
|
||||
- [mrlesmithjr@gmail.com](mailto:mrlesmithjr@gmail.com)
|
||||
- [http://everythingshouldbevirtual.com](http://everythingshouldbevirtual.com)
|
||||
|
||||
> NOTE: Repo has been created/updated using [https://github.com/mrlesmithjr/cookiecutter-ansible-role](https://github.com/mrlesmithjr/cookiecutter-ansible-role) as a template.
|
213
roles/netdata/defaults/main.yml
Normal file
213
roles/netdata/defaults/main.yml
Normal file
@ -0,0 +1,213 @@
|
||||
---
|
||||
# defaults file for ansible-netdata
|
||||
|
||||
# Adds installer flag to enable auto updates
|
||||
# https://docs.netdata.cloud/packaging/installer/update/#auto-update
|
||||
netdata_auto_updates:
|
||||
enabled: true
|
||||
day: "*"
|
||||
hour: 6
|
||||
minute: 0
|
||||
user: root
|
||||
weekday: "*"
|
||||
# WARNING: when you set this variable to 'true' and are migrating from an old version
|
||||
# of Netdata (< v1.11.0) then the cron will be removed from your system.
|
||||
# You will then need to launch the netdata installer manually to make sure
|
||||
# netdata installs the cron by itself with: `./netdata-installer.sh --auto-update`
|
||||
clean_legacy_cron: true
|
||||
|
||||
# The IP address and port to listen to. This is a space separated list of
|
||||
# IPv4 or IPv6 address and ports. The default will bind to all IP addresses
|
||||
netdata_bind_to:
|
||||
- "*"
|
||||
|
||||
# Defines if Netdata should be configured
|
||||
netdata_config: true
|
||||
|
||||
# Defines location of Netdata configuration file
|
||||
netdata_config_file: /etc/netdata/netdata.conf
|
||||
|
||||
# Defines the Git repo to pull down for installs
|
||||
netdata_git_repo: https://github.com/netdata/netdata.git
|
||||
|
||||
# Defines the version tag to clone for installation
|
||||
netdata_git_version_tag: v1.25.0
|
||||
|
||||
# Defines whether Netdata health is enabled
|
||||
netdata_health_enabled: true
|
||||
|
||||
# Defines if Netdata health alarms should be configured
|
||||
netdata_alarm_configure: false
|
||||
|
||||
# Defines location of Netdata health_alarm_notify.conf
|
||||
netdata_alarm_config_file: /etc/netdata/health_alarm_notify.conf
|
||||
|
||||
# Define configuration for health_alarm_notify.conf.
|
||||
# Example:
|
||||
# netdata_health_alarm_notify_configs:
|
||||
# https_proxy: http://localhost:3128
|
||||
# SLACK_WEBHOOK_URL: https://hooks.slack.com/...
|
||||
netdata_alarm_notify_configs: {}
|
||||
|
||||
# Define custom_sender function in health_alarm_notify.conf
|
||||
# only the body of the function should be in there
|
||||
# Exemple: netdata_custom_sender_function: "curl -X POST url"
|
||||
# netdata_custom_sender_function: ""
|
||||
|
||||
# Defines path to alarm-notify.sh
|
||||
netdata_health_alarm_script: /usr/libexec/netdata/plugins.d/alarm-notify.sh
|
||||
|
||||
# Defines how often a critical alarm is repeated
|
||||
netdata_default_repeat_critical: never
|
||||
|
||||
# Defines how often a warning alarm is repeated
|
||||
netdata_default_repeat_warning: never
|
||||
|
||||
# The host name displayed in netdata
|
||||
netdata_hostname: "{{ ansible_hostname }}"
|
||||
# The number of entries the netdata daemon will by default keep in memory
|
||||
# for each chart dimension.
|
||||
netdata_history: 3996
|
||||
|
||||
# Defines Netdata installer script
|
||||
netdata_installer: ./netdata-installer.sh
|
||||
|
||||
# Defines Netdata requirements installer script
|
||||
netdata_requirements_installer: packaging/installer/install-required-packages.sh
|
||||
|
||||
# Defines Netdata requirements installer options (if we want morre complete requirements)
|
||||
netdata_requirements_installer_options:
|
||||
- "--non-interactive"
|
||||
- netdata
|
||||
|
||||
# When set to save netdata will save its round robin database on exit and
|
||||
# load it on startup. When set to map the cache files will be updated in
|
||||
# real time (check man mmap - do not set this on systems with heavy load or
|
||||
# slow disks - the disks will continuously sync the in-memory database of
|
||||
# netdata). When set to ram the round robin database will be temporary and it
|
||||
# will be lost when netdata exits.
|
||||
netdata_memory_mode: save
|
||||
|
||||
# This variables are only used if netdata_memory_mode is set to dbengine
|
||||
netdata_dbengine_page_cache_size: 32
|
||||
netdata_dbengine_multihost_disk_space: 256
|
||||
|
||||
# Defines the mode the web-server will run in
|
||||
# static-threaded is a web server with a fix (configured number of threads)
|
||||
# single-threaded is a simple web server running with a single thread
|
||||
# multi-threaded is a web server that spawns a thread for each client connection
|
||||
# none will disable the web-server and the API
|
||||
netdata_web_mode: multi-threaded
|
||||
|
||||
# The default port to listen for web clients.
|
||||
netdata_default_port: 19999
|
||||
|
||||
netdata_epel_setup: false
|
||||
netdata_epel_repo_url: "https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{ ansible_distribution_major_version }}.noarch.rpm"
|
||||
netdata_epel_repo_gpg_key_url: "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-{{ ansible_distribution_major_version }}"
|
||||
netdata_epel_repofile_path: "/etc/yum.repos.d/epel.repo"
|
||||
netdata_centos6_install_okay: false
|
||||
|
||||
# Defines if Netdata host should be enabled as a registry
|
||||
# https://github.com/firehol/netdata/wiki/mynetdata-menu-item
|
||||
netdata_registry_enabled: false
|
||||
|
||||
# https://registry.my-netdata.io
|
||||
# https://github.com/firehol/netdata/wiki/mynetdata-menu-item
|
||||
netdata_registry_to_announce: https://registry.my-netdata.io
|
||||
|
||||
# Defines directory to store install source from Git repo
|
||||
netdata_source_dir: /usr/local/src/netdata
|
||||
|
||||
# Defines if Netdata streaming should be configured
|
||||
# https://github.com/firehol/netdata/wiki/Monitoring-ephemeral-nodes
|
||||
netdata_stream_enabled: false
|
||||
|
||||
# Defines location of Netdata stream configuration file
|
||||
netdata_stream_config_file: /etc/netdata/stream.conf
|
||||
|
||||
# Defines Netdata API Keys (must be generated with command uuidgen)
|
||||
netdata_stream_api_key: 11111111-2222-3333-4444-555555555555
|
||||
netdata_stream_send_api_key: "{{ netdata_stream_api_key }}"
|
||||
netdata_stream_receive_api_key: "{{ netdata_stream_api_key }}"
|
||||
|
||||
# Defines Netdata master node and port (e.g. 127.0.0.1:19999)
|
||||
netdata_stream_master_node: ""
|
||||
|
||||
# Defines whether the netdata node is acting as a proxy
|
||||
netdata_stream_proxy: false
|
||||
|
||||
# Defines client ssl configuration
|
||||
# netdata_client_ssl_options:
|
||||
# ssl skip certificate verification: "yes"
|
||||
# CAfile: /etc/ssl/certs/ca-certificates.crt
|
||||
netdata_client_ssl_options: {}
|
||||
|
||||
# Defines if Netdata should be uninstalled
|
||||
# Caution: This does not prompt for uninstall as the original script
|
||||
# was intended.
|
||||
# https://github.com/firehol/netdata/wiki/Installation#uninstalling-netdata
|
||||
netdata_uninstall: false
|
||||
|
||||
# Defines the Netdata uninstaller script
|
||||
netdata_uninstaller: ./netdata-uninstaller.sh
|
||||
|
||||
# Defines if Netdata should be updated
|
||||
# Not the same as auto_updates
|
||||
netdata_update: false
|
||||
# Force the update. Sometimes the update script skips installing new plugins.
|
||||
netdata_update_force: false
|
||||
|
||||
# The frequency in seconds, for data collection
|
||||
netdata_update_every: 1
|
||||
|
||||
# Defines Netdata update script
|
||||
netdata_updater: ./netdata-updater.sh
|
||||
|
||||
# Defines Netdata user info
|
||||
netdata_user_info:
|
||||
group: netdata
|
||||
user: netdata
|
||||
|
||||
# Defines if Netdata should store data in a backend
|
||||
netdata_configure_archive: false
|
||||
|
||||
# Defines Netdata backend for long term datastorage
|
||||
# https://github.com/firehol/netdata/wiki/netdata-backends
|
||||
# Defines if the Netdata backend is enabled
|
||||
netdata_archive_enabled: "yes"
|
||||
|
||||
# Defines the backend type as one of
|
||||
# graphite | opentsdb | json
|
||||
netdata_archive_type: "opentsdb"
|
||||
|
||||
# Defines the host(s) and ports netdata should send data to
|
||||
netdata_archive_destination:
|
||||
- localhost
|
||||
# - "{{ vip }}:5252"
|
||||
|
||||
# Defines how to send the archive data as one of
|
||||
# as collected, average, sum
|
||||
netdata_archive_data_source: "average"
|
||||
|
||||
# Defines a prefix for the archive data
|
||||
netdata_archive_prefix: "netdata"
|
||||
|
||||
# Defines how often to send archive data in seconds
|
||||
netdata_archive_update: 1
|
||||
|
||||
# Defines the number of update intervals
|
||||
# after which dataloss occurs
|
||||
netdata_archive_buffer_on_failures: 30
|
||||
|
||||
# Defines when to timeout sending to a backend in milliseconds
|
||||
netdata_archive_timeout: 20000
|
||||
|
||||
# Defines if Netdata sends metric names or UUIDs
|
||||
netdata_archive_send_names: true
|
||||
|
||||
# Defines the flood protection period
|
||||
netdata_errors_flood_protection_period: 1200
|
||||
|
||||
# Defines when to trigger flood proctection
|
||||
netdata_errors_to_trigger_flood_protection: 200
|
0
roles/netdata/files/.gitkeep
Normal file
0
roles/netdata/files/.gitkeep
Normal file
30
roles/netdata/handlers/main.yml
Normal file
30
roles/netdata/handlers/main.yml
Normal file
@ -0,0 +1,30 @@
|
||||
---
|
||||
# handlers file for ansible-netdata
|
||||
#
|
||||
- name: reload systemd netdata
|
||||
systemd:
|
||||
name: "netdata"
|
||||
daemon_reload: true
|
||||
become: true
|
||||
|
||||
- name: restart netdata
|
||||
service:
|
||||
name: "netdata"
|
||||
state: "restarted"
|
||||
enabled: true
|
||||
sleep: 10
|
||||
become: true
|
||||
|
||||
- name: start netdata
|
||||
service:
|
||||
name: "netdata"
|
||||
state: "started"
|
||||
enabled: true
|
||||
become: true
|
||||
|
||||
- name: stop netdata
|
||||
service:
|
||||
name: "netdata"
|
||||
state: "stopped"
|
||||
enabled: true
|
||||
become: true
|
2
roles/netdata/meta/.galaxy_install_info
Normal file
2
roles/netdata/meta/.galaxy_install_info
Normal file
@ -0,0 +1,2 @@
|
||||
install_date: Sat Jan 23 23:31:54 2021
|
||||
version: v1.4.1
|
34
roles/netdata/meta/main.yml
Normal file
34
roles/netdata/meta/main.yml
Normal file
@ -0,0 +1,34 @@
|
||||
---
|
||||
galaxy_info:
|
||||
author: Larry Smith Jr.
|
||||
description: Ansible role to install/configure Netdata
|
||||
license: MIT
|
||||
|
||||
min_ansible_version: 2.0
|
||||
|
||||
platforms:
|
||||
- name: EL
|
||||
versions:
|
||||
- 6
|
||||
- 7
|
||||
- 8
|
||||
- name: Debian
|
||||
versions:
|
||||
- buster
|
||||
- jessie
|
||||
- stretch
|
||||
- name: Ubuntu
|
||||
versions:
|
||||
- bionic
|
||||
- dingo
|
||||
- focal
|
||||
- precise
|
||||
- trusty
|
||||
- xenial
|
||||
|
||||
galaxy_tags:
|
||||
- system
|
||||
- performance
|
||||
- monitoring
|
||||
|
||||
dependencies: []
|
22
roles/netdata/molecule/centos7/INSTALL.rst
Normal file
22
roles/netdata/molecule/centos7/INSTALL.rst
Normal file
@ -0,0 +1,22 @@
|
||||
*******
|
||||
Docker driver installation guide
|
||||
*******
|
||||
|
||||
Requirements
|
||||
============
|
||||
|
||||
* Docker Engine
|
||||
|
||||
Install
|
||||
=======
|
||||
|
||||
Please refer to the `Virtual environment`_ documentation for installation best
|
||||
practices. If not using a virtual environment, please consider passing the
|
||||
widely recommended `'--user' flag`_ when invoking ``pip``.
|
||||
|
||||
.. _Virtual environment: https://virtualenv.pypa.io/en/latest/
|
||||
.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ pip install 'molecule[docker]'
|
29
roles/netdata/molecule/centos7/molecule.yml
Normal file
29
roles/netdata/molecule/centos7/molecule.yml
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
dependency:
|
||||
name: galaxy
|
||||
enabled: true
|
||||
options:
|
||||
role-file: requirements.yml
|
||||
driver:
|
||||
name: docker
|
||||
lint: |
|
||||
yamllint .
|
||||
ansible-lint
|
||||
flake8
|
||||
platforms:
|
||||
- name: centos7
|
||||
image: jrei/systemd-centos:7
|
||||
privileged: true
|
||||
command: /usr/sbin/init
|
||||
# tmpfs:
|
||||
# - /run
|
||||
# - /tmp
|
||||
volumes:
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
||||
provisioner:
|
||||
name: ansible
|
||||
playbooks:
|
||||
converge: ../shared/converge.yml
|
||||
prepare: ../shared/prepare.yml
|
||||
verifier:
|
||||
name: ansible
|
9
roles/netdata/molecule/centos7/verify.yml
Normal file
9
roles/netdata/molecule/centos7/verify.yml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
# This is an example playbook to execute Ansible tests.
|
||||
|
||||
- name: Verify
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: Example assertion
|
||||
assert:
|
||||
that: true
|
22
roles/netdata/molecule/centos8/INSTALL.rst
Normal file
22
roles/netdata/molecule/centos8/INSTALL.rst
Normal file
@ -0,0 +1,22 @@
|
||||
*******
|
||||
Docker driver installation guide
|
||||
*******
|
||||
|
||||
Requirements
|
||||
============
|
||||
|
||||
* Docker Engine
|
||||
|
||||
Install
|
||||
=======
|
||||
|
||||
Please refer to the `Virtual environment`_ documentation for installation best
|
||||
practices. If not using a virtual environment, please consider passing the
|
||||
widely recommended `'--user' flag`_ when invoking ``pip``.
|
||||
|
||||
.. _Virtual environment: https://virtualenv.pypa.io/en/latest/
|
||||
.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ pip install 'molecule[docker]'
|
29
roles/netdata/molecule/centos8/molecule.yml
Normal file
29
roles/netdata/molecule/centos8/molecule.yml
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
dependency:
|
||||
name: galaxy
|
||||
enabled: true
|
||||
options:
|
||||
role-file: requirements.yml
|
||||
driver:
|
||||
name: docker
|
||||
lint: |
|
||||
yamllint .
|
||||
ansible-lint
|
||||
flake8
|
||||
platforms:
|
||||
- name: centos8
|
||||
image: jrei/systemd-centos:8
|
||||
privileged: true
|
||||
command: /usr/sbin/init
|
||||
# tmpfs:
|
||||
# - /run
|
||||
# - /tmp
|
||||
volumes:
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
||||
provisioner:
|
||||
name: ansible
|
||||
playbooks:
|
||||
converge: ../shared/converge.yml
|
||||
prepare: ../shared/prepare.yml
|
||||
verifier:
|
||||
name: ansible
|
9
roles/netdata/molecule/centos8/verify.yml
Normal file
9
roles/netdata/molecule/centos8/verify.yml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
# This is an example playbook to execute Ansible tests.
|
||||
|
||||
- name: Verify
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: Example assertion
|
||||
assert:
|
||||
that: true
|
22
roles/netdata/molecule/debian10/INSTALL.rst
Normal file
22
roles/netdata/molecule/debian10/INSTALL.rst
Normal file
@ -0,0 +1,22 @@
|
||||
*******
|
||||
Docker driver installation guide
|
||||
*******
|
||||
|
||||
Requirements
|
||||
============
|
||||
|
||||
* Docker Engine
|
||||
|
||||
Install
|
||||
=======
|
||||
|
||||
Please refer to the `Virtual environment`_ documentation for installation best
|
||||
practices. If not using a virtual environment, please consider passing the
|
||||
widely recommended `'--user' flag`_ when invoking ``pip``.
|
||||
|
||||
.. _Virtual environment: https://virtualenv.pypa.io/en/latest/
|
||||
.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ pip install 'molecule[docker]'
|
29
roles/netdata/molecule/debian10/molecule.yml
Normal file
29
roles/netdata/molecule/debian10/molecule.yml
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
dependency:
|
||||
name: galaxy
|
||||
enabled: true
|
||||
options:
|
||||
role-file: requirements.yml
|
||||
driver:
|
||||
name: docker
|
||||
lint: |
|
||||
yamllint .
|
||||
ansible-lint
|
||||
flake8
|
||||
platforms:
|
||||
- name: debian10
|
||||
image: jrei/systemd-debian:10
|
||||
privileged: true
|
||||
command: /lib/systemd/systemd
|
||||
# tmpfs:
|
||||
# - /run
|
||||
# - /tmp
|
||||
volumes:
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
||||
provisioner:
|
||||
name: ansible
|
||||
playbooks:
|
||||
prepare: ../shared/prepare.yml
|
||||
converge: ../shared/converge.yml
|
||||
verifier:
|
||||
name: ansible
|
9
roles/netdata/molecule/debian10/verify.yml
Normal file
9
roles/netdata/molecule/debian10/verify.yml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
# This is an example playbook to execute Ansible tests.
|
||||
|
||||
- name: Verify
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: Example assertion
|
||||
assert:
|
||||
that: true
|
22
roles/netdata/molecule/debian8/INSTALL.rst
Normal file
22
roles/netdata/molecule/debian8/INSTALL.rst
Normal file
@ -0,0 +1,22 @@
|
||||
*******
|
||||
Docker driver installation guide
|
||||
*******
|
||||
|
||||
Requirements
|
||||
============
|
||||
|
||||
* Docker Engine
|
||||
|
||||
Install
|
||||
=======
|
||||
|
||||
Please refer to the `Virtual environment`_ documentation for installation best
|
||||
practices. If not using a virtual environment, please consider passing the
|
||||
widely recommended `'--user' flag`_ when invoking ``pip``.
|
||||
|
||||
.. _Virtual environment: https://virtualenv.pypa.io/en/latest/
|
||||
.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ pip install 'molecule[docker]'
|
29
roles/netdata/molecule/debian8/molecule.yml
Normal file
29
roles/netdata/molecule/debian8/molecule.yml
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
dependency:
|
||||
name: galaxy
|
||||
enabled: true
|
||||
options:
|
||||
role-file: requirements.yml
|
||||
driver:
|
||||
name: docker
|
||||
lint: |
|
||||
yamllint .
|
||||
ansible-lint
|
||||
flake8
|
||||
platforms:
|
||||
- name: debian8
|
||||
image: jrei/systemd-debian:8
|
||||
privileged: true
|
||||
command: /lib/systemd/systemd
|
||||
# tmpfs:
|
||||
# - /run
|
||||
# - /tmp
|
||||
volumes:
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
||||
provisioner:
|
||||
name: ansible
|
||||
playbooks:
|
||||
prepare: ../shared/prepare.yml
|
||||
converge: ../shared/converge.yml
|
||||
verifier:
|
||||
name: ansible
|
9
roles/netdata/molecule/debian8/verify.yml
Normal file
9
roles/netdata/molecule/debian8/verify.yml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
# This is an example playbook to execute Ansible tests.
|
||||
|
||||
- name: Verify
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: Example assertion
|
||||
assert:
|
||||
that: true
|
22
roles/netdata/molecule/debian9/INSTALL.rst
Normal file
22
roles/netdata/molecule/debian9/INSTALL.rst
Normal file
@ -0,0 +1,22 @@
|
||||
*******
|
||||
Docker driver installation guide
|
||||
*******
|
||||
|
||||
Requirements
|
||||
============
|
||||
|
||||
* Docker Engine
|
||||
|
||||
Install
|
||||
=======
|
||||
|
||||
Please refer to the `Virtual environment`_ documentation for installation best
|
||||
practices. If not using a virtual environment, please consider passing the
|
||||
widely recommended `'--user' flag`_ when invoking ``pip``.
|
||||
|
||||
.. _Virtual environment: https://virtualenv.pypa.io/en/latest/
|
||||
.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ pip install 'molecule[docker]'
|
29
roles/netdata/molecule/debian9/molecule.yml
Normal file
29
roles/netdata/molecule/debian9/molecule.yml
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
dependency:
|
||||
name: galaxy
|
||||
enabled: true
|
||||
options:
|
||||
role-file: requirements.yml
|
||||
driver:
|
||||
name: docker
|
||||
lint: |
|
||||
yamllint .
|
||||
ansible-lint
|
||||
flake8
|
||||
platforms:
|
||||
- name: debian9
|
||||
image: jrei/systemd-debian:9
|
||||
privileged: true
|
||||
command: /lib/systemd/systemd
|
||||
# tmpfs:
|
||||
# - /run
|
||||
# - /tmp
|
||||
volumes:
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
||||
provisioner:
|
||||
name: ansible
|
||||
playbooks:
|
||||
prepare: ../shared/prepare.yml
|
||||
converge: ../shared/converge.yml
|
||||
verifier:
|
||||
name: ansible
|
9
roles/netdata/molecule/debian9/verify.yml
Normal file
9
roles/netdata/molecule/debian9/verify.yml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
# This is an example playbook to execute Ansible tests.
|
||||
|
||||
- name: Verify
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: Example assertion
|
||||
assert:
|
||||
that: true
|
22
roles/netdata/molecule/fedora/INSTALL.rst
Normal file
22
roles/netdata/molecule/fedora/INSTALL.rst
Normal file
@ -0,0 +1,22 @@
|
||||
*******
|
||||
Docker driver installation guide
|
||||
*******
|
||||
|
||||
Requirements
|
||||
============
|
||||
|
||||
* Docker Engine
|
||||
|
||||
Install
|
||||
=======
|
||||
|
||||
Please refer to the `Virtual environment`_ documentation for installation best
|
||||
practices. If not using a virtual environment, please consider passing the
|
||||
widely recommended `'--user' flag`_ when invoking ``pip``.
|
||||
|
||||
.. _Virtual environment: https://virtualenv.pypa.io/en/latest/
|
||||
.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ pip install 'molecule[docker]'
|
29
roles/netdata/molecule/fedora/molecule.yml
Normal file
29
roles/netdata/molecule/fedora/molecule.yml
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
dependency:
|
||||
name: galaxy
|
||||
enabled: true
|
||||
options:
|
||||
role-file: requirements.yml
|
||||
driver:
|
||||
name: docker
|
||||
lint: |
|
||||
yamllint .
|
||||
ansible-lint
|
||||
flake8
|
||||
platforms:
|
||||
- name: fedora
|
||||
image: jrei/systemd-fedora
|
||||
privileged: true
|
||||
command: /usr/sbin/init
|
||||
# tmpfs:
|
||||
# - /run
|
||||
# - /tmp
|
||||
volumes:
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
||||
provisioner:
|
||||
name: ansible
|
||||
playbooks:
|
||||
converge: ../shared/converge.yml
|
||||
prepare: ../shared/prepare.yml
|
||||
verifier:
|
||||
name: ansible
|
9
roles/netdata/molecule/fedora/verify.yml
Normal file
9
roles/netdata/molecule/fedora/verify.yml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
# This is an example playbook to execute Ansible tests.
|
||||
|
||||
- name: Verify
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: Example assertion
|
||||
assert:
|
||||
that: true
|
9
roles/netdata/molecule/shared/converge.yml
Normal file
9
roles/netdata/molecule/shared/converge.yml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
- name: Converge
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: Include ansible-netdata
|
||||
include_role:
|
||||
name: ansible-netdata
|
||||
vars:
|
||||
netdata_epel_setup: "{{ ansible_hostname == 'centos7' }}"
|
16
roles/netdata/molecule/shared/prepare.yml
Normal file
16
roles/netdata/molecule/shared/prepare.yml
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
- hosts: all
|
||||
tasks:
|
||||
- name: Update Apt Cache and install cron
|
||||
apt:
|
||||
name: cron
|
||||
update_cache: true
|
||||
become: true
|
||||
when: ansible_os_family == "Debian"
|
||||
|
||||
- name: Install cron as requisite
|
||||
package:
|
||||
name: cronie
|
||||
state: present
|
||||
become: true
|
||||
when: ansible_os_family == "RedHat"
|
9
roles/netdata/molecule/shared/verify.yml
Normal file
9
roles/netdata/molecule/shared/verify.yml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
# This is an example playbook to execute Ansible tests.
|
||||
|
||||
- name: Verify
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: Example assertion
|
||||
assert:
|
||||
that: true
|
22
roles/netdata/molecule/ubuntu1604/INSTALL.rst
Normal file
22
roles/netdata/molecule/ubuntu1604/INSTALL.rst
Normal file
@ -0,0 +1,22 @@
|
||||
*******
|
||||
Docker driver installation guide
|
||||
*******
|
||||
|
||||
Requirements
|
||||
============
|
||||
|
||||
* Docker Engine
|
||||
|
||||
Install
|
||||
=======
|
||||
|
||||
Please refer to the `Virtual environment`_ documentation for installation best
|
||||
practices. If not using a virtual environment, please consider passing the
|
||||
widely recommended `'--user' flag`_ when invoking ``pip``.
|
||||
|
||||
.. _Virtual environment: https://virtualenv.pypa.io/en/latest/
|
||||
.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ pip install 'molecule[docker]'
|
29
roles/netdata/molecule/ubuntu1604/molecule.yml
Normal file
29
roles/netdata/molecule/ubuntu1604/molecule.yml
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
dependency:
|
||||
name: galaxy
|
||||
enabled: true
|
||||
options:
|
||||
role-file: requirements.yml
|
||||
driver:
|
||||
name: docker
|
||||
lint: |
|
||||
yamllint .
|
||||
ansible-lint
|
||||
flake8
|
||||
platforms:
|
||||
- name: ubuntu1604
|
||||
image: jrei/systemd-ubuntu:16.04
|
||||
privileged: true
|
||||
command: /lib/systemd/systemd
|
||||
# tmpfs:
|
||||
# - /run
|
||||
# - /tmp
|
||||
volumes:
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
||||
provisioner:
|
||||
name: ansible
|
||||
playbooks:
|
||||
prepare: ../shared/prepare.yml
|
||||
converge: ../shared/converge.yml
|
||||
verifier:
|
||||
name: ansible
|
9
roles/netdata/molecule/ubuntu1604/verify.yml
Normal file
9
roles/netdata/molecule/ubuntu1604/verify.yml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
# This is an example playbook to execute Ansible tests.
|
||||
|
||||
- name: Verify
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: Example assertion
|
||||
assert:
|
||||
that: true
|
22
roles/netdata/molecule/ubuntu1804/INSTALL.rst
Normal file
22
roles/netdata/molecule/ubuntu1804/INSTALL.rst
Normal file
@ -0,0 +1,22 @@
|
||||
*******
|
||||
Docker driver installation guide
|
||||
*******
|
||||
|
||||
Requirements
|
||||
============
|
||||
|
||||
* Docker Engine
|
||||
|
||||
Install
|
||||
=======
|
||||
|
||||
Please refer to the `Virtual environment`_ documentation for installation best
|
||||
practices. If not using a virtual environment, please consider passing the
|
||||
widely recommended `'--user' flag`_ when invoking ``pip``.
|
||||
|
||||
.. _Virtual environment: https://virtualenv.pypa.io/en/latest/
|
||||
.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ pip install 'molecule[docker]'
|
29
roles/netdata/molecule/ubuntu1804/molecule.yml
Normal file
29
roles/netdata/molecule/ubuntu1804/molecule.yml
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
dependency:
|
||||
name: galaxy
|
||||
enabled: true
|
||||
options:
|
||||
role-file: requirements.yml
|
||||
driver:
|
||||
name: docker
|
||||
lint: |
|
||||
yamllint .
|
||||
ansible-lint
|
||||
flake8
|
||||
platforms:
|
||||
- name: ubuntu1804
|
||||
image: jrei/systemd-ubuntu:18.04
|
||||
privileged: true
|
||||
command: /lib/systemd/systemd
|
||||
# tmpfs:
|
||||
# - /run
|
||||
# - /tmp
|
||||
volumes:
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
||||
provisioner:
|
||||
name: ansible
|
||||
playbooks:
|
||||
prepare: ../shared/prepare.yml
|
||||
converge: ../shared/converge.yml
|
||||
verifier:
|
||||
name: ansible
|
9
roles/netdata/molecule/ubuntu1804/verify.yml
Normal file
9
roles/netdata/molecule/ubuntu1804/verify.yml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
# This is an example playbook to execute Ansible tests.
|
||||
|
||||
- name: Verify
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: Example assertion
|
||||
assert:
|
||||
that: true
|
22
roles/netdata/molecule/ubuntu2004/INSTALL.rst
Normal file
22
roles/netdata/molecule/ubuntu2004/INSTALL.rst
Normal file
@ -0,0 +1,22 @@
|
||||
*******
|
||||
Docker driver installation guide
|
||||
*******
|
||||
|
||||
Requirements
|
||||
============
|
||||
|
||||
* Docker Engine
|
||||
|
||||
Install
|
||||
=======
|
||||
|
||||
Please refer to the `Virtual environment`_ documentation for installation best
|
||||
practices. If not using a virtual environment, please consider passing the
|
||||
widely recommended `'--user' flag`_ when invoking ``pip``.
|
||||
|
||||
.. _Virtual environment: https://virtualenv.pypa.io/en/latest/
|
||||
.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ pip install 'molecule[docker]'
|
29
roles/netdata/molecule/ubuntu2004/molecule.yml
Normal file
29
roles/netdata/molecule/ubuntu2004/molecule.yml
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
dependency:
|
||||
name: galaxy
|
||||
enabled: true
|
||||
options:
|
||||
role-file: requirements.yml
|
||||
driver:
|
||||
name: docker
|
||||
lint: |
|
||||
yamllint .
|
||||
ansible-lint
|
||||
flake8
|
||||
platforms:
|
||||
- name: ubuntu2004
|
||||
image: jrei/systemd-ubuntu:20.04
|
||||
privileged: true
|
||||
command: /lib/systemd/systemd
|
||||
# tmpfs:
|
||||
# - /run
|
||||
# - /tmp
|
||||
volumes:
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
||||
provisioner:
|
||||
name: ansible
|
||||
playbooks:
|
||||
prepare: ../shared/prepare.yml
|
||||
converge: ../shared/converge.yml
|
||||
verifier:
|
||||
name: ansible
|
9
roles/netdata/molecule/ubuntu2004/verify.yml
Normal file
9
roles/netdata/molecule/ubuntu2004/verify.yml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
# This is an example playbook to execute Ansible tests.
|
||||
|
||||
- name: Verify
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: Example assertion
|
||||
assert:
|
||||
that: true
|
32
roles/netdata/playbook.yml
Normal file
32
roles/netdata/playbook.yml
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
- hosts: netdata_registry
|
||||
vars:
|
||||
netdata_registry_enabled: true
|
||||
netdata_registry_to_announce: "http://{{ netdata_stream_master_node }}:{{ netdata_default_port }}"
|
||||
pri_domain_name: test.vagrant.local
|
||||
netdata_stream_enabled: true
|
||||
netdata_stream_api_key: 359CCA67-C678-49E7-9A39-DEC1B92DFB34
|
||||
netdata_stream_master_node: 192.168.250.10
|
||||
tasks:
|
||||
- name: Include ansible-nodejs
|
||||
include_role:
|
||||
name: ansible-nodejs
|
||||
- name: Include ansible-netdata
|
||||
include_role:
|
||||
name: ansible-netdata
|
||||
|
||||
- hosts: netdata:!netdata_registry
|
||||
vars:
|
||||
netdata_registry_enabled: false
|
||||
netdata_registry_to_announce: "http://{{ netdata_stream_master_node }}:{{ netdata_default_port }}"
|
||||
pri_domain_name: test.vagrant.local
|
||||
netdata_stream_enabled: true
|
||||
netdata_stream_api_key: 359CCA67-C678-49E7-9A39-DEC1B92DFB34
|
||||
netdata_stream_master_node: 192.168.250.10
|
||||
tasks:
|
||||
- name: Include ansible-nodejs
|
||||
include_role:
|
||||
name: ansible-nodejs
|
||||
- name: Include ansible-netdata
|
||||
include_role:
|
||||
name: ansible-netdata
|
7
roles/netdata/requirements-dev.in
Normal file
7
roles/netdata/requirements-dev.in
Normal file
@ -0,0 +1,7 @@
|
||||
# Python requirements for development
|
||||
-c requirements.txt
|
||||
autopep8
|
||||
flake8
|
||||
pycodestyle
|
||||
pylint
|
||||
tox
|
27
roles/netdata/requirements-dev.txt
Normal file
27
roles/netdata/requirements-dev.txt
Normal file
@ -0,0 +1,27 @@
|
||||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile requirements-dev.in
|
||||
#
|
||||
appdirs==1.4.4 # via virtualenv
|
||||
astroid==2.4.2 # via pylint
|
||||
autopep8==1.5.4 # via -r requirements-dev.in
|
||||
distlib==0.3.1 # via virtualenv
|
||||
filelock==3.0.12 # via tox, virtualenv
|
||||
flake8==3.8.3 # via -r requirements-dev.in
|
||||
isort==5.5.2 # via pylint
|
||||
lazy-object-proxy==1.4.3 # via astroid
|
||||
mccabe==0.6.1 # via flake8, pylint
|
||||
packaging==20.4 # via tox
|
||||
pluggy==0.13.1 # via -c requirements.txt, tox
|
||||
py==1.9.0 # via tox
|
||||
pycodestyle==2.6.0 # via -r requirements-dev.in, autopep8, flake8
|
||||
pyflakes==2.2.0 # via flake8
|
||||
pylint==2.6.0 # via -r requirements-dev.in
|
||||
pyparsing==2.4.7 # via packaging
|
||||
six==1.15.0 # via -c requirements.txt, astroid, packaging, tox, virtualenv
|
||||
toml==0.10.1 # via autopep8, pylint, tox
|
||||
tox==3.20.0 # via -r requirements-dev.in
|
||||
virtualenv==20.0.31 # via tox
|
||||
wrapt==1.12.1 # via astroid
|
8
roles/netdata/requirements.in
Normal file
8
roles/netdata/requirements.in
Normal file
@ -0,0 +1,8 @@
|
||||
# Python requirements for executing
|
||||
ansible
|
||||
ansible-lint
|
||||
docker
|
||||
mkdocs
|
||||
molecule
|
||||
pip-tools
|
||||
yamllint
|
72
roles/netdata/requirements.txt
Normal file
72
roles/netdata/requirements.txt
Normal file
@ -0,0 +1,72 @@
|
||||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile
|
||||
#
|
||||
ansible-lint==4.3.4 # via -r requirements.in
|
||||
ansible==2.9.13 # via -r requirements.in, ansible-lint, molecule
|
||||
arrow==0.16.0 # via jinja2-time
|
||||
bcrypt==3.2.0 # via paramiko
|
||||
binaryornot==0.4.4 # via cookiecutter
|
||||
cerberus==1.3.2 # via molecule
|
||||
certifi==2020.6.20 # via requests
|
||||
cffi==1.14.2 # via bcrypt, cryptography, pynacl
|
||||
chardet==3.0.4 # via binaryornot, requests
|
||||
click-completion==0.5.2 # via molecule
|
||||
click-help-colors==0.8 # via molecule
|
||||
click==7.1.2 # via click-completion, click-help-colors, cookiecutter, mkdocs, molecule, nltk, pip-tools, python-gilt
|
||||
colorama==0.4.3 # via molecule, python-gilt, rich
|
||||
commonmark==0.9.1 # via rich
|
||||
cookiecutter==1.7.2 # via molecule
|
||||
cryptography==3.1 # via ansible, paramiko
|
||||
docker==4.3.1 # via -r requirements.in
|
||||
fasteners==0.15 # via python-gilt
|
||||
future==0.18.2 # via lunr
|
||||
idna==2.10 # via requests
|
||||
jinja2-time==0.2.0 # via cookiecutter
|
||||
jinja2==2.11.2 # via ansible, click-completion, cookiecutter, jinja2-time, mkdocs, molecule
|
||||
joblib==0.16.0 # via nltk
|
||||
livereload==2.6.3 # via mkdocs
|
||||
lunr[languages]==0.5.8 # via mkdocs
|
||||
markdown==3.2.2 # via mkdocs
|
||||
markupsafe==1.1.1 # via cookiecutter, jinja2
|
||||
mkdocs==1.1.2 # via -r requirements.in
|
||||
molecule==3.0.8 # via -r requirements.in
|
||||
monotonic==1.5 # via fasteners
|
||||
nltk==3.5 # via lunr
|
||||
paramiko==2.7.2 # via molecule
|
||||
pathspec==0.8.0 # via yamllint
|
||||
pexpect==4.8.0 # via molecule
|
||||
pip-tools==5.3.1 # via -r requirements.in
|
||||
pluggy==0.13.1 # via molecule
|
||||
poyo==0.5.0 # via cookiecutter
|
||||
ptyprocess==0.6.0 # via pexpect
|
||||
pycparser==2.20 # via cffi
|
||||
pygments==2.6.1 # via rich
|
||||
pynacl==1.4.0 # via paramiko
|
||||
python-dateutil==2.8.1 # via arrow
|
||||
python-gilt==1.2.3 # via molecule
|
||||
python-slugify==4.0.1 # via cookiecutter
|
||||
pyyaml==5.3.1 # via ansible, ansible-lint, mkdocs, molecule, python-gilt, yamllint
|
||||
regex==2020.7.14 # via nltk
|
||||
requests==2.24.0 # via cookiecutter, docker
|
||||
rich==6.1.1 # via ansible-lint
|
||||
ruamel.yaml.clib==0.2.2 # via ruamel.yaml
|
||||
ruamel.yaml==0.16.12 # via ansible-lint
|
||||
sh==1.13.1 # via molecule, python-gilt
|
||||
shellingham==1.3.2 # via click-completion
|
||||
six==1.15.0 # via bcrypt, click-completion, cookiecutter, cryptography, docker, fasteners, livereload, lunr, pip-tools, pynacl, python-dateutil, websocket-client
|
||||
tabulate==0.8.7 # via molecule
|
||||
text-unidecode==1.3 # via python-slugify
|
||||
tornado==6.0.4 # via livereload, mkdocs
|
||||
tqdm==4.48.2 # via nltk
|
||||
tree-format==0.1.2 # via molecule
|
||||
typing-extensions==3.7.4.3 # via rich
|
||||
urllib3==1.25.10 # via requests
|
||||
websocket-client==0.57.0 # via docker
|
||||
yamllint==1.24.2 # via -r requirements.in, molecule
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
# pip
|
||||
# setuptools
|
14
roles/netdata/tasks/auto_updates.yml
Normal file
14
roles/netdata/tasks/auto_updates.yml
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
# Since netdata 1.11 the auto-updater installs the cron by itself
|
||||
# This is a legacy when Netdata didn't handle the cron itself
|
||||
- name: auto_updates | Setting Up Cron Job For Auto Updates
|
||||
cron:
|
||||
name: Netdata Auto Updates
|
||||
weekday: "{{ netdata_auto_updates['weekday'] }}"
|
||||
minute: "{{ netdata_auto_updates['minute'] }}"
|
||||
hour: "{{ netdata_auto_updates['hour'] }}"
|
||||
user: "{{ netdata_auto_updates['user'] }}"
|
||||
job: "{{ netdata_source_dir }}/{{ netdata_updater|basename }}"
|
||||
cron_file: netdata_auto_updates
|
||||
state: "{{ netdata_auto_updates['clean_legacy_cron']|default(false)|ternary('absent', 'present') }}"
|
||||
become: true
|
75
roles/netdata/tasks/config.yml
Normal file
75
roles/netdata/tasks/config.yml
Normal file
@ -0,0 +1,75 @@
|
||||
---
|
||||
- name: config | Configuring Netdata
|
||||
template:
|
||||
src: netdata.conf.j2
|
||||
dest: "{{ netdata_config_file }}"
|
||||
owner: "{{ netdata_user_info['user'] }}"
|
||||
group: root
|
||||
mode: u=rx,g=rx,o=r
|
||||
notify: restart netdata
|
||||
become: true
|
||||
|
||||
- name: config | Configuring Netdata Alarm Notifications
|
||||
template:
|
||||
dest: "{{ netdata_alarm_config_file }}"
|
||||
owner: "{{ netdata_user_info['user'] }}"
|
||||
group: root
|
||||
src: "health_alarm_notify.conf.j2"
|
||||
mode: u=rw,g=rw,o=r
|
||||
notify: restart netdata
|
||||
become: true
|
||||
when: netdata_alarm_configure
|
||||
|
||||
- name: config | Configuring Netdata streaming
|
||||
template:
|
||||
src: stream.conf.j2
|
||||
dest: "{{ netdata_stream_config_file }}"
|
||||
owner: "{{ netdata_user_info['user'] }}"
|
||||
group: root
|
||||
mode: u=rx,g=rx,o=r
|
||||
notify: restart netdata
|
||||
become: true
|
||||
when: netdata_stream_enabled
|
||||
|
||||
- name: config | Configuring Netdata Service (systemd)
|
||||
template:
|
||||
src: etc/systemd/system/netdata.service.j2
|
||||
dest: /etc/systemd/system/netdata.service
|
||||
owner: root
|
||||
group: root
|
||||
mode: u=rw,g=rw,o=r
|
||||
notify:
|
||||
- reload systemd netdata
|
||||
- restart netdata
|
||||
become: true
|
||||
when: ansible_service_mgr == "systemd"
|
||||
|
||||
- name: config | Configuring Netdata Service (upstart|sysvinit) - Debian
|
||||
template:
|
||||
src: etc/init.d/netdata.debian.j2
|
||||
dest: /etc/init.d/netdata
|
||||
owner: root
|
||||
group: root
|
||||
mode: u=rwx,g=rx,o=rx
|
||||
notify:
|
||||
- restart netdata
|
||||
become: true
|
||||
when: >
|
||||
(ansible_service_mgr == "upstart"
|
||||
or ansible_service_mgr == "sysvinit") and
|
||||
ansible_os_family == "Debian"
|
||||
|
||||
- name: config | Configuring Netdata Service (upstart|sysvinit) - RedHat
|
||||
template:
|
||||
src: etc/init.d/netdata.redhat.j2
|
||||
dest: /etc/init.d/netdata
|
||||
owner: root
|
||||
group: root
|
||||
mode: u=rwx,g=rx,o=rx
|
||||
notify:
|
||||
- restart netdata
|
||||
become: true
|
||||
when: >
|
||||
(ansible_service_mgr == "upstart"
|
||||
or ansible_service_mgr == "sysvinit") and
|
||||
ansible_os_family == "RedHat"
|
17
roles/netdata/tasks/debian.yml
Normal file
17
roles/netdata/tasks/debian.yml
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
- name: debian | Installing git
|
||||
apt:
|
||||
name: git
|
||||
state: present
|
||||
become: true
|
||||
|
||||
- name: debian | Installing iproute Package
|
||||
apt:
|
||||
name: iproute
|
||||
state: present
|
||||
become: true
|
||||
when: >
|
||||
(ansible_distribution == "Debian" and
|
||||
ansible_distribution_version|int < 10) or
|
||||
(ansible_distribution == "Ubuntu" and
|
||||
ansible_distribution_version < "18.04")
|
35
roles/netdata/tasks/install.yml
Normal file
35
roles/netdata/tasks/install.yml
Normal file
@ -0,0 +1,35 @@
|
||||
---
|
||||
- name: install | Defining Auto Update CLI Option
|
||||
set_fact:
|
||||
auto_update_cli_option: "{{ netdata_auto_updates['enabled']|ternary('--auto-update', '') }}"
|
||||
|
||||
- name: install | Cloning {{ netdata_git_repo }} to {{ netdata_source_dir }}
|
||||
git:
|
||||
repo: "{{ netdata_git_repo }}"
|
||||
dest: "{{ netdata_source_dir }}"
|
||||
depth: 1
|
||||
version: "{{ netdata_git_version_tag }}"
|
||||
become: true
|
||||
|
||||
- name: use Netdata dependencies installation
|
||||
command: "{{ netdata_requirements_installer }} {{ netdata_requirements_installer_options|join(' ') }}" # noqa 301
|
||||
args:
|
||||
chdir: "{{ netdata_source_dir }}"
|
||||
become: true
|
||||
register: netdata_requirements_install
|
||||
changed_when: >
|
||||
'All required packages are already installed. Now proceed to the next step.'
|
||||
not in netdata_requirements_install.stderr_lines
|
||||
|
||||
- name: install | Installing Netdata ({{ netdata_installer }}) From {{ netdata_source_dir }}
|
||||
command: "{{ installer_cli|join(' ') }}"
|
||||
vars:
|
||||
installer_cli:
|
||||
- "{{ netdata_installer }}"
|
||||
- "{{ auto_update_cli_option }}"
|
||||
- "--dont-wait"
|
||||
args:
|
||||
chdir: "{{ netdata_source_dir }}"
|
||||
creates: /usr/sbin/netdata
|
||||
become: true
|
||||
notify: restart netdata
|
26
roles/netdata/tasks/main.yml
Normal file
26
roles/netdata/tasks/main.yml
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
# tasks file for ansible-netdata
|
||||
|
||||
- include_tasks: set_facts.yml
|
||||
|
||||
- include: debian.yml
|
||||
when: ansible_os_family == "Debian"
|
||||
|
||||
- include: redhat.yml
|
||||
when: ansible_os_family == "RedHat"
|
||||
|
||||
- include: install.yml
|
||||
|
||||
- include: config.yml
|
||||
when: netdata_config
|
||||
|
||||
- include: update.yml
|
||||
when: netdata_update or netdata_update_force
|
||||
|
||||
- include: auto_updates.yml
|
||||
when: netdata_auto_updates['enabled']
|
||||
|
||||
- include: uninstall.yml
|
||||
when: netdata_uninstall
|
||||
tags:
|
||||
- netdata_uninstall
|
33
roles/netdata/tasks/redhat.yml
Normal file
33
roles/netdata/tasks/redhat.yml
Normal file
@ -0,0 +1,33 @@
|
||||
---
|
||||
- name: redhat | Install git
|
||||
yum:
|
||||
name: git
|
||||
state: present
|
||||
|
||||
- name: redhat | Check if EPEL repo is already configured.
|
||||
stat: path={{ netdata_epel_repofile_path }}
|
||||
register: epel_repofile_result
|
||||
when: netdata_epel_setup
|
||||
|
||||
- name: redhat | Install EPEL repo.
|
||||
yum:
|
||||
name: "{{ netdata_epel_repo_url }}"
|
||||
state: present
|
||||
register: result
|
||||
when:
|
||||
- netdata_epel_setup
|
||||
- not epel_repofile_result.stat.exists
|
||||
|
||||
- name: redhat | Import EPEL GPG key.
|
||||
rpm_key:
|
||||
key: "{{ netdata_epel_repo_gpg_key_url }}"
|
||||
state: present
|
||||
when:
|
||||
- netdata_epel_setup
|
||||
- not epel_repofile_result.stat.exists
|
||||
|
||||
- name: redhat | install okay repo
|
||||
yum:
|
||||
name: http://repo.okay.com.mx/centos/6/x86_64/release/okay-release-1-3.el6.noarch.rpm
|
||||
state: present
|
||||
when: netdata_centos6_install_okay
|
67
roles/netdata/tasks/set_facts.yml
Normal file
67
roles/netdata/tasks/set_facts.yml
Normal file
@ -0,0 +1,67 @@
|
||||
---
|
||||
- name: set_facts | Defining Debian Packages
|
||||
set_fact:
|
||||
netdata_debian_pre_reqs:
|
||||
- autoconf-archive
|
||||
- autoconf
|
||||
- autogen
|
||||
- automake
|
||||
- build-essential
|
||||
- cron
|
||||
- curl
|
||||
- gcc
|
||||
- git
|
||||
- libmnl-dev
|
||||
- libmnl0
|
||||
- libssl-dev
|
||||
- libuuid1
|
||||
- libuv1-dev
|
||||
- lm-sensors
|
||||
- make
|
||||
- netcat
|
||||
- pkg-config
|
||||
- python-mysqldb
|
||||
- python-psycopg2
|
||||
- python-pymongo
|
||||
- python-yaml
|
||||
- util-linux
|
||||
- uuid
|
||||
- uuid-dev
|
||||
- zlib1g-dev
|
||||
when: >
|
||||
ansible_distribution == "Debian" or
|
||||
(ansible_distribution == "Ubuntu" and
|
||||
ansible_distribution_version is version('20.04', '<'))
|
||||
|
||||
- name: set_facts | Defining Debian Packages
|
||||
set_fact:
|
||||
netdata_debian_pre_reqs:
|
||||
- autoconf-archive
|
||||
- autoconf
|
||||
- autogen
|
||||
- automake
|
||||
- build-essential
|
||||
- cron
|
||||
- curl
|
||||
- gcc
|
||||
- git
|
||||
- libmnl-dev
|
||||
- libmnl0
|
||||
- libssl-dev
|
||||
- libuuid1
|
||||
- libuv1-dev
|
||||
- lm-sensors
|
||||
- make
|
||||
- netcat
|
||||
- pkg-config
|
||||
- python3-pymysql
|
||||
- python3-psycopg2
|
||||
- python3-pymongo
|
||||
- python3-yaml
|
||||
- util-linux
|
||||
- uuid
|
||||
- uuid-dev
|
||||
- zlib1g-dev
|
||||
when:
|
||||
- ansible_distribution == "Ubuntu"
|
||||
- ansible_distribution_version is version('20.04', '>=')
|
34
roles/netdata/tasks/uninstall.yml
Normal file
34
roles/netdata/tasks/uninstall.yml
Normal file
@ -0,0 +1,34 @@
|
||||
---
|
||||
- name: uninstall | Prepping For Uninstalling Netdata
|
||||
replace:
|
||||
dest: "{{ netdata_source_dir }}/{{ netdata_uninstaller|basename }}"
|
||||
regexp: 'rm -I -R "'
|
||||
replace: 'rm -R "'
|
||||
become: true
|
||||
|
||||
- name: uninstall | Prepping For Uninstalling Netdata
|
||||
replace:
|
||||
dest: "{{ netdata_source_dir }}/{{ netdata_uninstaller|basename }}"
|
||||
regexp: 'rm -i "'
|
||||
replace: 'rm "'
|
||||
become: true
|
||||
|
||||
- name: uninstall | Uninstalling Netdata # noqa 301
|
||||
command: "{{ netdata_uninstaller }} --force"
|
||||
args:
|
||||
chdir: "{{ netdata_source_dir }}"
|
||||
become: true
|
||||
|
||||
- name: uninstall | Cleaning Up After Uninstalling Netdata
|
||||
replace:
|
||||
dest: "{{ netdata_source_dir }}/{{ netdata_uninstaller|basename }}"
|
||||
regexp: 'rm -R "'
|
||||
replace: 'rm -I -R "'
|
||||
become: true
|
||||
|
||||
- name: uninstall | Cleaning Up After Uninstalling Netdata
|
||||
replace:
|
||||
dest: "{{ netdata_source_dir }}/{{ netdata_uninstaller|basename }}"
|
||||
regexp: 'rm "'
|
||||
replace: 'rm -i "'
|
||||
become: true
|
15
roles/netdata/tasks/update.yml
Normal file
15
roles/netdata/tasks/update.yml
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
- name: update | Updating Netdata ({{ netdata_updater }}) From {{ netdata_source_dir }}
|
||||
command: "{{ netdata_updater }}"
|
||||
args:
|
||||
chdir: "{{ netdata_source_dir }}"
|
||||
become: true
|
||||
notify: restart netdata
|
||||
when: not netdata_update_force|bool
|
||||
|
||||
- name: update | Force Updating Netdata ({{ netdata_updater }}) From {{ netdata_source_dir }}
|
||||
command: "{{ netdata_updater }} -f"
|
||||
args:
|
||||
chdir: "{{ netdata_source_dir }}"
|
||||
become: true
|
||||
when: netdata_update_force
|
0
roles/netdata/templates/.gitkeep
Normal file
0
roles/netdata/templates/.gitkeep
Normal file
100
roles/netdata/templates/etc/init.d/netdata.debian.j2
Normal file
100
roles/netdata/templates/etc/init.d/netdata.debian.j2
Normal file
@ -0,0 +1,100 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: netdata
|
||||
# Required-Start: $local_fs $remote_fs $network $named $time apache2 httpd squid nginx mysql named opensips upsd hostapd postfix lm_sensors
|
||||
# Required-Stop: $local_fs $remote_fs $network $named $time apache2 httpd squid nginx mysql named opensips upsd hostapd postfix lm_sensors
|
||||
# Should-Start: $local_fs $network $named $remote_fs $time $all
|
||||
# Should-Stop: $local_fs $network $named $remote_fs $time $all
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: Start and stop the netdata real-time monitoring server daemon
|
||||
# Description: Controls the main netdata monitoring server daemon "netdata".
|
||||
# and all its plugins.
|
||||
### END INIT INFO
|
||||
#
|
||||
set -e
|
||||
set -u
|
||||
${DEBIAN_SCRIPT_DEBUG:+ set -v -x}
|
||||
|
||||
DAEMON="netdata"
|
||||
DAEMON_PATH=/usr/sbin
|
||||
PIDFILE=/var/run/$DAEMON.pid
|
||||
DAEMONOPTS="-P $PIDFILE"
|
||||
|
||||
test -x $DAEMON_PATH/$DAEMON || exit 0
|
||||
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
# Safeguard (relative paths, core dumps..)
|
||||
cd /
|
||||
umask 022
|
||||
|
||||
service_start() {
|
||||
log_daemon_msg "Starting real-time performance monitoring" "netdata"
|
||||
start_daemon -p $PIDFILE $DAEMON_PATH/$DAEMON $DAEMONOPTS
|
||||
RETVAL=$?
|
||||
log_end_msg $RETVAL
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
service_stop() {
|
||||
log_daemon_msg "Stopping real-time performance monitoring" "netdata"
|
||||
killproc -p ${PIDFILE} $DAEMON_PATH/$DAEMON
|
||||
RETVAL=$?
|
||||
log_end_msg $RETVAL
|
||||
|
||||
if [ $RETVAL -eq 0 ]; then
|
||||
rm -f ${PIDFILE}
|
||||
fi
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
condrestart() {
|
||||
if ! service_status > /dev/null; then
|
||||
RETVAL=$1
|
||||
return
|
||||
fi
|
||||
|
||||
service_stop
|
||||
service_start
|
||||
}
|
||||
|
||||
service_status() {
|
||||
status_of_proc -p $PIDFILE $DAEMON_PATH/$DAEMON netdata
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# main()
|
||||
#
|
||||
|
||||
case "${1:-''}" in
|
||||
'start')
|
||||
service_start
|
||||
;;
|
||||
|
||||
'stop')
|
||||
service_stop
|
||||
;;
|
||||
|
||||
'restart')
|
||||
service_stop
|
||||
service_start
|
||||
;;
|
||||
|
||||
'try-restart')
|
||||
condrestart 0
|
||||
;;
|
||||
|
||||
'force-reload')
|
||||
condrestart 7
|
||||
;;
|
||||
|
||||
'status')
|
||||
service_status && exit 0 || exit $?
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|try-restart|force-reload|status}"
|
||||
exit 1
|
||||
esac
|
91
roles/netdata/templates/etc/init.d/netdata.redhat.j2
Executable file
91
roles/netdata/templates/etc/init.d/netdata.redhat.j2
Executable file
@ -0,0 +1,91 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# netdata Real-time performance monitoring, done right
|
||||
# chkconfig: 345 99 01
|
||||
# description: Netdata is a daemon that collects data in real-time (per second)
|
||||
# and presents a web site to view and analyze them. The presentation
|
||||
# is also real-time and full of interactive charts that precisely
|
||||
# render all collected values.
|
||||
# processname: netdata
|
||||
|
||||
# Source functions
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
DAEMON="netdata"
|
||||
DAEMON_PATH=/usr/sbin
|
||||
PIDFILE=/var/run/$DAEMON.pid
|
||||
DAEMONOPTS="-P $PIDFILE"
|
||||
STOP_TIMEOUT="10"
|
||||
|
||||
[ -e /etc/sysconfig/$DAEMON ] && . /etc/sysconfig/$DAEMON
|
||||
|
||||
LOCKFILE=/var/lock/subsys/$DAEMON
|
||||
|
||||
service_start()
|
||||
{
|
||||
[ -x $DAEMON_PATH ] || exit 5
|
||||
echo -n "Starting $DAEMON..."
|
||||
daemon $DAEMON_PATH/$DAEMON $DAEMONOPTS
|
||||
RETVAL=$?
|
||||
echo
|
||||
[ $RETVAL -eq 0 ] && touch $LOCKFILE
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
service_stop()
|
||||
{
|
||||
printf "%-50s" "Stopping $DAEMON..."
|
||||
killproc -p ${PIDFILE} -d ${STOP_TIMEOUT} $DAEMON
|
||||
RETVAL=$?
|
||||
echo
|
||||
[ $RETVAL -eq 0 ] && rm -f ${PIDFILE} ${LOCKFILE}
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
condrestart()
|
||||
{
|
||||
if ! service_status > /dev/null; then
|
||||
RETVAL=$1
|
||||
return $RETVAL
|
||||
fi
|
||||
|
||||
service_stop
|
||||
service_start
|
||||
}
|
||||
|
||||
service_status()
|
||||
{
|
||||
status -p ${PIDFILE} $DAEMON_PATH/$DAEMON
|
||||
}
|
||||
|
||||
service_status_quiet()
|
||||
{
|
||||
status -p ${PIDFILE} $DAEMON_PATH/$DAEMON >/dev/null 2>&1
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
service_status_quiet && exit 0
|
||||
service_start
|
||||
;;
|
||||
stop)
|
||||
service_status_quiet || exit 0
|
||||
service_stop
|
||||
;;
|
||||
restart)
|
||||
service_stop
|
||||
service_start
|
||||
;;
|
||||
try-restart)
|
||||
condrestart 0
|
||||
;;
|
||||
force-reload)
|
||||
condrestart 7
|
||||
;;
|
||||
status)
|
||||
service_status
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|try-restart|force-reload|status}"
|
||||
exit 3
|
||||
esac
|
@ -0,0 +1,16 @@
|
||||
[Unit]
|
||||
Description=Real time performance monitoring
|
||||
After=network.target httpd.service squid.service nfs-server.service mysqld.service mysql.service named.service postfix.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User={{ netdata_user_info['user'] }}
|
||||
Group={{ netdata_user_info['group'] }}
|
||||
ExecStart=/usr/sbin/netdata -D
|
||||
Restart=on-failure
|
||||
|
||||
# saving a big db on slow disks may need some time
|
||||
TimeoutStopSec=60
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
9
roles/netdata/templates/health_alarm_notify.conf.j2
Normal file
9
roles/netdata/templates/health_alarm_notify.conf.j2
Normal file
@ -0,0 +1,9 @@
|
||||
{% for key in netdata_alarm_notify_configs %}
|
||||
{{ key }}="{{ netdata_alarm_notify_configs[key] }}"
|
||||
{% endfor %}
|
||||
|
||||
{% if netdata_custom_sender_function is defined %}
|
||||
custom_sender() {
|
||||
{{ netdata_custom_sender_function }}
|
||||
}
|
||||
{% endif %}
|
5934
roles/netdata/templates/netdata.conf.j2
Normal file
5934
roles/netdata/templates/netdata.conf.j2
Normal file
File diff suppressed because it is too large
Load Diff
33
roles/netdata/templates/stream.conf.j2
Normal file
33
roles/netdata/templates/stream.conf.j2
Normal file
@ -0,0 +1,33 @@
|
||||
# netdata stream configuration
|
||||
|
||||
{% if (netdata_stream_master_node == '') or netdata_stream_proxy %}
|
||||
[{{ netdata_stream_receive_api_key }}]
|
||||
# enable/disable this API key
|
||||
enabled = yes
|
||||
|
||||
# one hour of data for each of the slaves
|
||||
default history = 3600
|
||||
|
||||
# do not save slave metrics on disk
|
||||
default memory = ram
|
||||
|
||||
# alarms checks, only while the slave is connected
|
||||
health enabled by default = auto
|
||||
|
||||
{% endif %}
|
||||
{% if netdata_stream_master_node != '' %}
|
||||
[stream]
|
||||
# stream metrics to another netdata
|
||||
enabled = yes
|
||||
|
||||
# the IP and PORT of the master
|
||||
destination = {{ netdata_stream_master_node }}
|
||||
|
||||
# TLS client options
|
||||
{% for ssl_option, ssl_value in netdata_client_ssl_options.items() %}
|
||||
{{ ssl_option }} = {{ ssl_value }}
|
||||
{% endfor %}
|
||||
|
||||
# the API key to use
|
||||
api key = {{ netdata_stream_send_api_key }}
|
||||
{% endif %}
|
2
roles/netdata/vars/main.yml
Normal file
2
roles/netdata/vars/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
---
|
||||
# vars file for ansible-netdata
|
@ -11,6 +11,12 @@
|
||||
version: 2.2.1
|
||||
name: postgresql
|
||||
|
||||
# Monitoring
|
||||
# Upstream: https://github.com/mrlesmithjr/ansible-netdata
|
||||
- src: mrlesmithjr.netdata
|
||||
version: v1.4.1
|
||||
name: netdata
|
||||
|
||||
# Webserver stuff
|
||||
# Upstream: https://github.com/geerlingguy/ansible-role-certbot
|
||||
- src: geerlingguy.certbot
|
||||
|
Loading…
Reference in New Issue
Block a user