0
0
Fork 0
mirror of https://github.com/netdata/netdata.git synced 2025-04-07 23:05:41 +00:00
netdata_netdata/integrations/deploy.yaml
Austin S. Hemmelgarn 183bb1db19
Add initial tooling for generating integrations.js file. ()
* Fix link tags in deploy.

* Add initial tooling for generating integrations.js file.

* Skip integrations directory for eslint.

* Add README to explain how to generate integrations.js locally.

* Fix ID/name for top-level categories.

* Deduplicate categories entries.

* Properly render related resources information.

* Warn on and skip bad references for related resources.

* Add CI workflow to rebuild integrations as-needed.

* Add integrations.js to build artifacts.

* Fix actionlint complaints.

* Assorted template fixes.

* Add script to check collector metadata.

* Add default categories for collectors when they have no categories.

* Fix template formatting issues.

* Link related resources properly.

* Skip more sections in rendered output if they are not present in source data.

* Temporarily skip config syntax section.

It needs further work and is not critical at the moment.

* Fix metrics table rendering.

* Hide most overview content if method_description is empty.

* Fix metrics table rendering (again).

* Add detailed description to setup options section.

* Fix detailed description handling for config options.

* Fix config example folding logic.

* Fix multi-instance selection.

* Properly fix multi-instance selection.

* Add titles for labels and metrics charts.

* Include monitored instance name in integration ID.

This is required to disambiguate some ‘virtual’ integrations.

* Indicate if there are no alerts defined for an integration.

* Fix multi-instance in template.

* Improve warning handling in script and fix category handling.

* Hide debug messages by default.

* Fix invalid category name in cgroups plugin.

* Completely fix invalid categories in cgroups plugin.

* Warn about and ignore duplicate integration ids.

* Flag integration type in integrations list.

* Add configuration syntax samples.

* Fix issues in gen_integrations.py

* Validate categories.yaml on load.

* Add support for handling deployment information.

* Fix bugs in gen_integrations.py

* Add code to handle exporters.

* Add link to integrations pointing to their source files.

* Fix table justification.

* Add notification handling to script.

Also tidy up a few other things.

* Fix numerous bugs in gen_integrations.py

* remove trailing space from deploy.yaml command

* make availability one column

* Switch back to multiple columns for availability.

And also switch form +/- to a dot for positive and empty cell for
negative.

* Render setup description.

* Fix platform info rendering in deploy integrations.

* Fix sourcing of cloud-notifications metadata.

* Fix rendering of empty metrics.

* Fix alerts template.

* Add per-instance templating for templated keys.

* Fix go plugin links.

* Fix overview template.

* Fix handling of exporters.

* Fix loading of cloud notification integrations.

* Always show full collector overview.

* Add static troubleshooting content when appropriate.

* Assorted deploy integration updates.

* Add initial copy of integrations.js.

---------

Co-authored-by: Fotis Voutsas <fotis@netdata.cloud>
2023-08-01 17:23:16 -04:00

574 lines
19 KiB
YAML

- &linux
id: deploy-linux-generic
meta: &linux_meta
name: Linux
link: ''
categories:
- deploy.operating-systems
icon_filename: 'linux.png'
keywords:
- linux
most_popular: true
install_description: 'Run the following command on your node to install and claim Netdata:'
methods:
- &ks_wget
method: wget
commands:
- channel: nightly
command: >
wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh
--nightly-channel{% if $showClaimingOptions %} --claim-token {% claim_token %} --claim-rooms {% $claim_rooms %} --claim-url {% claim_url %}{% /if %}
- channel: stable
command: >
wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh
--stable-channel{% if $showClaimingOptions %} --claim-token {% claim_token %} --claim-rooms {% $claim_rooms %} --claim-url {% claim_url %}{% /if %}
- &ks_curl
method: curl
commands:
- channel: nightly
command: >
curl https://my-netdata.io/kickstart.sh > /tmp/netdata-kickstart.sh && sh /tmp/netdata-kickstart.sh
--nightly-channel{% if $showClaimingOptions %} --claim-token {% claim_token %} --claim-rooms {% $claim_rooms %} --claim-url {% claim_url %}{% /if %}
- channel: stable
command: >
curl https://my-netdata.io/kickstart.sh > /tmp/netdata-kickstart.sh && sh /tmp/netdata-kickstart.sh
--stable-channel{% if $showClaimingOptions %} --claim-token {% claim_token %} --claim-rooms {% $claim_rooms %} --claim-url {% claim_url %}{% /if %}
additional_info: &ref_containers >
Did you know you can also deploy Netdata on your OS using {% goToCategory navigateToSettings=$navigateToSettings categoryId="deploy.docker-kubernetes" %}Kubernetes{% /goToCategory %} or {% goToCategory categoryId="deploy.docker-kubernetes" %}Docker{% /goToCategory %}?
related_resources: {}
platform_info:
group: ''
distro: ''
quick_start: 1
- <<: *linux
id: deploy-ubuntu
meta:
<<: *linux_meta
name: Ubuntu
link: https://ubuntu.com/
icon_filename: 'ubuntu.png'
most_popular: false
platform_info:
group: 'include'
distro: 'ubuntu'
quick_start: -1
- <<: *linux
id: deploy-debian
meta:
<<: *linux_meta
name: Debian
link: https://www.debian.org/
icon_filename: 'debian.svg'
most_popular: false
platform_info:
group: 'include'
distro: 'debian'
quick_start: -1
- <<: *linux
id: deploy-fedora
meta:
<<: *linux_meta
name: Fedora
link: https://www.fedoraproject.org/
icon_filename: 'fedora.png'
most_popular: false
platform_info:
group: 'include'
distro: 'fedora'
quick_start: -1
- <<: *linux
id: deploy-rhel
meta:
<<: *linux_meta
name: Red Hat Enterprise Linux
link: https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux
icon_filename: 'rhel.png'
most_popular: false
platform_info:
group: 'include'
distro: 'rhel'
quick_start: -1
- <<: *linux
id: deploy-almalinux
meta:
<<: *linux_meta
name: Alma Linux
link: https://almalinux.org/
icon_filename: 'alma.png'
most_popular: false
platform_info:
group: 'include'
distro: 'almalinux'
quick_start: -1
- <<: *linux
id: deploy-alpinelinux
meta:
<<: *linux_meta
name: Alpine Linux
link: https://www.alpinelinux.org/
icon_filename: 'alpine.svg'
most_popular: false
platform_info:
group: 'include'
distro: 'alpinelinux'
quick_start: -1
- <<: *linux
id: deploy-amazonlinux
meta:
<<: *linux_meta
name: Amazon Linux
link: https://aws.amazon.com/amazon-linux-2/
icon_filename: 'amazonlinux.png'
most_popular: false
platform_info:
group: 'include'
distro: 'amazonlinux'
quick_start: -1
- <<: *linux
id: deploy-archlinux
meta:
<<: *linux_meta
name: Arch Linux
link: https://archlinux.org/
icon_filename: 'archlinux.png'
most_popular: false
platform_info:
group: 'include'
distro: 'archlinux'
quick_start: -1
- <<: *linux
id: deploy-centos
meta:
<<: *linux_meta
name: CentOS
link: https://www.centos.org/
icon_filename: 'centos.png'
most_popular: false
platform_info:
group: 'include'
distro: 'centos'
quick_start: -1
- <<: *linux
id: deploy-manjarolinux
meta:
<<: *linux_meta
name: Manjaro Linux
link: https://manjaro.org/
icon_filename: 'manjaro.png'
most_popular: false
platform_info:
group: 'include'
distro: 'archlinux'
quick_start: -1
- <<: *linux
id: deploy-oraclelinux
meta:
<<: *linux_meta
name: Oracle Linux
link: https://www.oracle.com/linux/
icon_filename: 'oraclelinux.svg'
most_popular: false
platform_info:
group: 'include'
distro: 'oraclelinux'
quick_start: -1
- <<: *linux
id: deploy-opensuse
meta:
<<: *linux_meta
name: SUSE Linux
link: https://www.suse.com/
icon_filename: 'openSUSE.png'
most_popular: false
platform_info:
group: 'include'
distro: 'opensuse'
quick_start: -1
- id: deploy-macos
meta:
name: macOS
link: ''
categories:
- deploy.operating-systems
icon_filename: 'apple.svg'
most_popular: true
keywords:
- macOS
- mac
- apple
install_description: 'Run the following command on your Intel based OSX, macOS servers to install and claim Netdata:'
methods:
- *ks_curl
additional_info: *ref_containers
related_resources: {}
platform_info:
group: 'include'
distro: 'macos'
quick_start: 5
- id: deploy-docker
meta:
name: Docker
link: 'https://www.docker.com/'
categories:
- deploy.docker-kubernetes
icon_filename: 'docker.svg'
most_popular: true
keywords:
- docker
- container
- containers
install_description: |
Install and connect new Docker containers
Find the commands for `docker run`, `docker compose` or `Docker Swarm`. On the last two you can copy the configs, then run `docker-compose up -d` in the same directory as the `docker-compose.yml`
> Netdata container requires different privileges and mounts to provide functionality similar to that provided by Netdata installed on the host. More info [here](https://learn.netdata.cloud/docs/installing/docker?_gl=1*f2xcnf*_ga*MTI1MTUwMzU0OS4xNjg2NjM1MDA1*_ga_J69Z2JCTFB*MTY5MDMxMDIyMS40MS4xLjE2OTAzMTAzNjkuNTguMC4w#create-a-new-netdata-agent-container)
> Netdata will use the hostname from the container in which it is run instead of that of the host system. To change the default hostname check [here](https://learn.netdata.cloud/docs/agent/packaging/docker?_gl=1*i5weve*_ga*MTI1MTUwMzU0OS4xNjg2NjM1MDA1*_ga_J69Z2JCTFB*MTY5MDMxMjM4Ny40Mi4xLjE2OTAzMTIzOTAuNTcuMC4w#change-the-default-hostname)
methods:
- method: Docker CLI
commands:
- channel: nightly
command: |
docker run -d --name=netdata \
--pid=host \
--network=host \
-v netdataconfig:/etc/netdata \
-v netdatalib:/var/lib/netdata \
-v netdatacache:/var/cache/netdata \
-v /etc/passwd:/host/etc/passwd:ro \
-v /etc/group:/host/etc/group:ro \
-v /proc:/host/proc:ro \
-v /sys:/host/sys:ro \
-v /etc/os-release:/host/etc/os-release:ro \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
--restart unless-stopped \
--cap-add SYS_PTRACE \
--cap-add SYS_ADMIN \
--security-opt apparmor=unconfined \
{% if $showClaimingOptions %}
-e NETDATA_CLAIM_TOKEN={% claim_token %} \
-e NETDATA_CLAIM_URL={% claim_url %} \
-e NETDATA_CLAIM_ROOMS={% $claim_rooms %} \
{% /if %}
netdata/netdata:edge
- channel: stable
command: |
docker run -d --name=netdata \
--pid=host \
--network=host \
-v netdataconfig:/etc/netdata \
-v netdatalib:/var/lib/netdata \
-v netdatacache:/var/cache/netdata \
-v /etc/passwd:/host/etc/passwd:ro \
-v /etc/group:/host/etc/group:ro \
-v /proc:/host/proc:ro \
-v /sys:/host/sys:ro \
-v /etc/os-release:/host/etc/os-release:ro \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
--restart unless-stopped \
--cap-add SYS_PTRACE \
--cap-add SYS_ADMIN \
--security-opt apparmor=unconfined \
{% if $showClaimingOptions %}
-e NETDATA_CLAIM_TOKEN={% claim_token %} \
-e NETDATA_CLAIM_URL={% claim_url %} \
-e NETDATA_CLAIM_ROOMS={% $claim_rooms %} \
{% /if %}
netdata/netdata:stable
- method: Docker Compose
commands:
- channel: nightly
command: |
version: '3'
services:
netdata:
image: netdata/netdata:edge
container_name: netdata
pid: host
network_mode: host
restart: unless-stopped
cap_add:
- SYS_PTRACE
- SYS_ADMIN
security_opt:
- apparmor:unconfined
volumes:
- netdataconfig:/etc/netdata
- netdatalib:/var/lib/netdata
- netdatacache:/var/cache/netdata
- /etc/passwd:/host/etc/passwd:ro
- /etc/group:/host/etc/group:ro
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /etc/os-release:/host/etc/os-release:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
{% if $showClaimingOptions %}
environment:
- NETDATA_CLAIM_TOKEN={% claim_token %}
- NETDATA_CLAIM_URL={% claim_url %}
- NETDATA_CLAIM_ROOMS={% $claim_rooms %}
{% /if %}
volumes:
netdataconfig:
netdatalib:
netdatacache:
- channel: stable
command: |
version: '3'
services:
netdata:
image: netdata/netdata:stable
container_name: netdata
pid: host
network_mode: host
restart: unless-stopped
cap_add:
- SYS_PTRACE
- SYS_ADMIN
security_opt:
- apparmor:unconfined
volumes:
- netdataconfig:/etc/netdata
- netdatalib:/var/lib/netdata
- netdatacache:/var/cache/netdata
- /etc/passwd:/host/etc/passwd:ro
- /etc/group:/host/etc/group:ro
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /etc/os-release:/host/etc/os-release:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
{% if $showClaimingOptions %}
environment:
- NETDATA_CLAIM_TOKEN={% claim_token %}
- NETDATA_CLAIM_URL={% claim_url %}
- NETDATA_CLAIM_ROOMS={% $claim_rooms %}
{% /if %}
volumes:
netdataconfig:
netdatalib:
netdatacache:
- method: Docker Swarm
commands:
- channel: nightly
command: |
version: '3'
services:
netdata:
image: netdata/netdata:edge
container_name: netdata
ports:
- 19999:19999
restart: unless-stopped
cap_add:
- SYS_PTRACE
security_opt:
- apparmor:unconfined
volumes:
- netdataconfig:/etc/netdata
- netdatalib:/var/lib/netdata
- netdatacache:/var/cache/netdata
- /etc/passwd:/host/etc/passwd:ro
- /etc/group:/host/etc/group:ro
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /etc/os-release:/host/etc/os-release:ro
- /etc/hostname:/etc/hostname:ro
environment:
- NETDATA_CLAIM_TOKEN={% claim_token %}
- NETDATA_CLAIM_URL={% claim_url %}
- NETDATA_CLAIM_ROOMS={% $claim_rooms %}
deploy:
mode: global
volumes:
netdataconfig:
netdatalib:
netdatacache:
- channel: stable
command: |
version: '3'
services:
netdata:
image: netdata/netdata:stable
container_name: netdata
ports:
- 19999:19999
restart: unless-stopped
cap_add:
- SYS_PTRACE
security_opt:
- apparmor:unconfined
volumes:
- netdataconfig:/etc/netdata
- netdatalib:/var/lib/netdata
- netdatacache:/var/cache/netdata
- /etc/passwd:/host/etc/passwd:ro
- /etc/group:/host/etc/group:ro
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /etc/os-release:/host/etc/os-release:ro
- /etc/hostname:/etc/hostname:ro
environment:
- NETDATA_CLAIM_TOKEN={% claim_token %}
- NETDATA_CLAIM_URL={% claim_url %}
- NETDATA_CLAIM_ROOMS={% $claim_rooms %}
deploy:
mode: global
volumes:
netdataconfig:
netdatalib:
netdatacache:
additional_info: ''
related_resources: {}
platform_info:
group: 'no_include'
distro: 'docker'
quick_start: 3
- id: deploy-kubernetes
meta:
name: Kubernetes
link: ''
categories:
- deploy.docker-kubernetes
icon_filename: 'kubernetes.svg'
keywords:
- kubernetes
- container
- Orchestrator
install_description: |
**Use helm install to install Netdata on your Kubernetes cluster**
For a new installation use `helm install` or for existing clusters add the content below to your `override.yaml` and then run `helm upgrade -f override.yml netdata netdata/netdata`
methods:
- method: Helm
commands:
- channel: nightly
command: |
helm install netdata netdata/netdata \
--set image.tag=latest{% if $showClaimingOptions %} \
--set parent.claiming.enabled="true" \
--set parent.claiming.token={% claim_token %} \
--set parent.claiming.rooms={% $claim_rooms %} \
--set child.claiming.enabled="true" \
--set child.claiming.token={% claim_token %} \
--set child.claiming.rooms={% $claim_rooms %}{% /if %}
- channel: stable
command: |
helm install netdata netdata/netdata \
--set image.tag=stable{% if $showClaimingOptions %} \
--set parent.claiming.enabled="true" \
--set parent.claiming.token={% claim_token %} \
--set parent.claiming.rooms={% $claim_rooms %} \
--set child.claiming.enabled="true" \
--set child.claiming.token={% claim_token %} \
--set child.claiming.rooms={% $claim_rooms %}{% /if %}
- method: Existing Cluster
commands:
- channel: nightly
command: |
image:
tag: latest
restarter:
enabled: true
{% if $showClaimingOptions %}
parent:
claiming:
enabled: true
token: {% claim_token %}
rooms: {% $claim_rooms %}
child:
claiming:
enabled: true
token: {% claim_token %}
rooms: {% $claim_rooms %}
{% /if %}
- channel: stable
command: |
image:
tag: stable
restarter:
enabled: true
{% if $showClaimingOptions %}
parent:
claiming:
enabled: true
token: {% claim_token %}
rooms: {% $claim_rooms %}
child:
claiming:
enabled: true
token: {% claim_token %}
rooms: {% $claim_rooms %}
{% /if %}
additional_info: ''
related_resources: {}
most_popular: true
platform_info:
group: ''
distro: ''
quick_start: 4
- id: deploy-windows
meta:
name: Windows
link: 'https://www.microsoft.com/en-us/windows'
categories:
- deploy.operating-systems
icon_filename: 'windows.svg'
keywords:
- windows
install_description: |
1. Install [Windows Exporter](https://github.com/prometheus-community/windows_exporter) on every Windows host you want to monitor.
2. Install Netdata agent on Linux, FreeBSD or Mac.
3. Configure Netdata to collect data remotely from your Windows hosts by adding one job per host to windows.conf file. See the [configuration section](https://learn.netdata.cloud/docs/data-collection/monitor-anything/System%20Metrics/Windows-machines#configuration) for details.
4. Enable [virtual nodes](https://learn.netdata.cloud/docs/data-collection/windows-systems#virtual-nodes) configuration so the windows nodes are displayed as separate nodes.
methods:
- *ks_wget
- *ks_curl
additional_info: ''
related_resources: {}
most_popular: true
platform_info:
group: ''
distro: ''
quick_start: 2
- id: deploy-freebsd
meta:
name: FreeBSD
link: 'https://www.freebsd.org/'
categories:
- deploy.operating-systems
icon_filename: 'freebsd.svg'
most_popular: true
keywords:
- freebsd
install_description: |
## Install dependencies
Please install the following packages using the command below:
```pkg install bash e2fsprogs-libuuid git curl autoconf automake pkgconf pidof liblz4 libuv json-c cmake gmake```
This step needs root privileges. Please respond in the affirmative for any relevant prompts during the installation process.
Run the following command on your node to install and claim Netdata:
methods:
- *ks_curl
- method: fetch
commands:
- channel: nightly
command: >
fetch -o /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh
--nightly-channel{% if $showClaimingOptions %} --claim-token {% claim_token %} --claim-rooms {% $claim_rooms %} --claim-url {% claim_url %}{% /if %}
- channel: stable
command: >
fetch -o /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh
--stable-channel{% if $showClaimingOptions %} --claim-token {% claim_token %} --claim-rooms {% $claim_rooms %} --claim-url {% claim_url %}{% /if %}
additional_info: |
Netdata can also be installed via [FreeBSD ports](https://www.freshports.org/net-mgmt/netdata).
related_resources: {}
platform_info:
group: 'include'
distro: 'freebsd'
quick_start: 6