diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..b43bbe7 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,13 @@ +## Contribute Code + +You are welcome to contribute to Fluence! + +Things you need to know: + +1. You need to **agree to the [Contributor License Agreement](https://gist.github.com/fluencelabs-org/3f4cbb3cc14c1c0fb9ad99d8f7316ed7) (CLA)**. This is a common practice in all major Open Source projects. At the current moment, we are unable to accept contributions made on behalf of a company. Only individual contributions will be accepted. + +2. **Not all proposed contributions can be accepted**. Some features may, e.g., just fit a third-party add-on better. The contribution must fit the overall direction of Fluence and really improve it. The more effort you invest, the better you should clarify in advance whether the contribution fits: the best way would be to just open an issue to discuss the contribution you plan to make. + +### Contributor License Agreement + +When you contribute, you have to be aware that your contribution is covered by **[Apache License 2.0](./LICENSE)**, but might relicensed under few other software licenses mentioned in the **Contributor License Agreement**. In particular, you need to agree to the Contributor License Agreement. If you agree to its content, you simply have to click on the link posted by the CLA assistant as a comment to the pull request. Click it to check the CLA, then accept it on the following screen if you agree to it. The CLA assistant will save this decision for upcoming contributions and will notify you if there is any change to the CLA in the meantime. diff --git a/README.md b/README.md index f74f01a..b603b8f 100644 --- a/README.md +++ b/README.md @@ -1,89 +1,40 @@ -# [rust-peer distro](https://github.com/fluencelabs/node-distro) +# Rust Peer Distro -The distributive and packaging of the -[rust-peer](https://github.com/fluencelabs/rust-peer). +The distributive and packaging of the [Rust peer](https://github.com/fluencelabs/rust-peer). -Currently provides Network Dashboard as a side-car. - -## Image tags - -| Container flavour | IPFS daemon | services | binaries | -| ----------------- | ----------- | -------------------------------- | ------------------------------------------ | -| minimal | ❌ | aqua-ipfs, trust-graph, registry | curl, ipfs | -| ipfs | ✅ | aqua-ipfs, trust-graph, registry | curl, ipfs | -| rich | ✅ | aqua-ipfs, trust-graph, registry | curl, ipfs, ceramic, bitcoin cli, geth cli | - -`latest` points to the latest version of `ipfs` flavour - -### minimal - -Contains rust-peer itself and some builtin services: - -- [aqua-ipfs](https://github.com/fluencelabs/aqua-ipfs) -- [trust-graph](https://github.com/fluencelabs/trust-graph) -- [registry](https://github.com/fluencelabs/registry) - -For those who want to run IPFS node separately. Serves as a base image for all -other image flavours. - -`FLUENCE_ENV_AQUA_IPFS_*` variables must be defined and point to externally -running IPFS daemon in order for aqua-ipfs to work. If not defined aqua-ipfs -builtin will be removed. - -| variable | default | description | -| ---------------------------------------------- | --------------------------------- | --------------------------------------------------------------------------------------------------------------- | -| `FLUENCE_ENV_AQUA_IPFS_EXTERNAL_API_MULTIADDR` | `/dns4/ipfs.fluence.dev/tcp/5001` | advertised to clients (eg frontend apps) to use in uploading files (`ipfs.put`), managing pins (`ipfs.pin`) etc | -| `FLUENCE_ENV_AQUA_IPFS_LOCAL_API_MULTIADDR` | `/dns4/ipfs.fluence.dev/tcp/5001` | used by aqua-ipfs builtin to connect to IPFS node | - -### ipfs - -rust-peer packaged with -[IPFS node](https://docs.ipfs.io/how-to/command-line-quick-start/#take-your-node-online) -running inside container. - -| variable | default | description | -| ---------------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | -| `IPFS_PATH` | `/config/ipfs` | IPFS node data directory | -| `IPFS_LOG_PATH` | `/log/ipfs` | directory where IPFS will store its logs | -| `IPFS_MIGRATE_FS` | `false` | automatically run [fs-repo-migrations](https://github.com/ipfs/fs-repo-migrations) on start | -| `IPFS_ADDRESSES_SWARM` | `/ip4/0.0.0.0/tcp/4001,/ip4/0.0.0.0/tcp/4001/ws` | IPFS swarm multiaddr | -| `IPFS_ADDRESSES_API` | `/ip4/0.0.0.0/tcp/5001` | IPFS API multiaddr | -| `IPFS_ADDRESSES_GATEWAY` | `/ip4/0.0.0.0/tcp/8080` | IPFS gateway multiaddr | -| `IPFS_ADDRESSES_ANNOUNCE` | `/ip4/127.0.0.1/tcp/4001,/ip4/127.0.0.1/tcp/4001/ws` | IPFS p2p multiaddr of the IPFS swarm protocol | -| `FLUENCE_ENV_AQUA_IPFS_EXTERNAL_API_MULTIADDR` | `/ip4/127.0.0.1/tcp/5001` | advertised to clients (eg frontend apps) to use in uploading files (`ipfs.put`), managing pins (`ipfs.pin`) etc | -| `FLUENCE_ENV_AQUA_IPFS_LOCAL_API_MULTIADDR` | `/ip4/127.0.0.1/tcp/5001` | used by aqua-ipfs builtin to connect to IPFS node | - -### rich - -rust-peer packaged with IPFS node, -[Ceramic](https://developers.ceramic.network/learn/welcome/) CLI and some other -binaries like bitcoin-cli or -[geth](https://geth.ethereum.org/docs/interface/command-line-options). - -| variable | default | description | -| ---------------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | -| `CERAMIC_HOST` | | ceramic daemon address | -| `IPFS_PATH` | `/config/ipfs` | IPFS node data directory | -| `IPFS_LOG_PATH` | `/log/ipfs` | directory where IPFS will store its logs | -| `IPFS_MIGRATE_FS` | `false` | automatically run [fs-repo-migrations](https://github.com/ipfs/fs-repo-migrations) on start | -| `IPFS_ADDRESSES_SWARM` | `/ip4/0.0.0.0/tcp/4001,/ip4/0.0.0.0/tcp/4001/ws` | IPFS swarm multiaddr | -| `IPFS_ADDRESSES_API` | `/ip4/0.0.0.0/tcp/5001` | IPFS API multiaddr | -| `IPFS_ADDRESSES_GATEWAY` | `/ip4/0.0.0.0/tcp/8080` | IPFS gateway multiaddr | -| `IPFS_ADDRESSES_ANNOUNCE` | `/ip4/127.0.0.1/tcp/4001,/ip4/127.0.0.1/tcp/4001/ws` | IPFS announce multiaddr | -| `FLUENCE_ENV_AQUA_IPFS_EXTERNAL_API_MULTIADDR` | `/ip4/127.0.0.1/tcp/5001` | advertised to clients (eg frontend apps) to use in uploading files (`ipfs.put`), managing pins (`ipfs.pin`) etc | -| `FLUENCE_ENV_AQUA_IPFS_LOCAL_API_MULTIADDR` | `/ip4/127.0.0.1/tcp/5001` | used by aqua-ipfs builtin to connect to IPFS node | - -## How to run - -Copy [`docker-compose.yml`](https://github.com/fluencelabs/node-distro/blob/main/docker-compose.yml) locally and run +## Installation and usage ```bash -docker-compose up -d +docker run -d --name rust-peer -e RUST_LOG="info" -p 7777:7777 -p 9999:9999 fluencelabs/rust-peer:latest --local ``` -That will run 2 containers: local rust-peer and Network Dashboard connected to -it. +To get a list of commands that can be passed to rust-peer run: -## How to open dashboard +```bash +docker run --rm --name rust-peer fluencelabs/rust-peer:latest --help +``` + +See deployment instructions and tips at [deploy](deploy). + +## Documentation + +- Rust peer distro [image flavours](docs/flavours.md) +- [Builtin services](docs/builtins.md) + +Comprehensive documentation on everything related to Fluence can be found [here](https://fluence.dev/). Check also our [YouTube channel](https://www.youtube.com/@fluencelabs). + + +## Support + +Please, file an [issue](https://github.com/fluencelabs/rust-peer-distro/issues) if you find a bug. You can also contact us at [Discord](https://discord.com/invite/5qSnPZKh7u) or [Telegram](https://t.me/fluence_project). We will do our best to resolve the issue ASAP. + + +## Contributing + +Any interested person is welcome to contribute to the project. Please, make sure you read and follow some basic [rules](./CONTRIBUTING.md). The Contributor License Agreement can be found [here](./FluenceCLA). + + +## License + +All software code is copyright (c) Fluence Labs, Inc. under the [Apache-2.0](./LICENSE) license. -Open [http://localhost:8080](http://localhost:8080) in your browser diff --git a/deploy/README.md b/deploy/README.md new file mode 100644 index 0000000..af7701e --- /dev/null +++ b/deploy/README.md @@ -0,0 +1,10 @@ +# Running Rust Peer + +Currently there is only one way to try out the Rust peer. It is by running it with [docker-compose](docker-compose/). An example configuration for popular orchestration platforms like [HasiCorp Nomad](https://www.nomadproject.io/) and K8S are coming soon! Meanwhile, you can adapt [this docker-compose file](docker-compose/docker-compose.yml) for the platform of your choice. + + +## Configuring Rust Peer Distro Image + +Checkout [this doc](../docs/flavours.md) to learn more about Rust peer image +flavours and environment variables used to configure the images. + diff --git a/deploy/docker-compose/README.md b/deploy/docker-compose/README.md new file mode 100644 index 0000000..9e6dae7 --- /dev/null +++ b/deploy/docker-compose/README.md @@ -0,0 +1,40 @@ +# Run rust-peer with docker-compose + +This docker-compose file starts a local network of three rust-peers. + +## Installing docker and docker-compose + +Follow official instruction for +[docker](https://docs.docker.com/engine/install/) and +[docker-compose](https://docs.docker.com/compose/install/linux/#install-using-the-repository). + +## Running local rust-peer network + +1. Either `git clone` this repository locally and run `cd deploy/docker-compose` + or download [`docker-compose.yml`](docker-compose.yml) directly. + +2. Ensure you have the most up-to-date container images: + + ```bash + docker-compose pull + ``` + +3. Run the network: + + ```bash + docker-compose up -d + ``` + +## Accessing local rust-peer network + +Using fluence-cli follow the +[example workflow](https://github.com/fluencelabs/fluence-cli/blob/main/docs/EXAMPLE.md#currently-supported-workflow-example) +appending `--relay ` to `run` commands. + +Local network multiaddresses: + +| container | multiaddress | +| --------- | ----------------------------------------------------------------------------------- | +| peer-1 | /ip4/127.0.0.1/tcp/9991/ws/p2p/12D3KooWBM3SdXWqGaawQDGQ6JprtwswEg3FWGvGhmgmMez1vRbR | +| peer-2 | /ip4/127.0.0.1/tcp/9992/ws/p2p/12D3KooWQdpukY3p2DhDfUfDgphAqsGu5ZUrmQ4mcHSGrRag6gQK | +| peer-3 | /ip4/127.0.0.1/tcp/9993/ws/p2p/12D3KooWRT8V5awYdEZm6aAV9HWweCEbhWd7df4wehqHZXAB7yMZ | diff --git a/deploy/docker-compose/docker-compose.yml b/deploy/docker-compose/docker-compose.yml new file mode 100644 index 0000000..1ad83e0 --- /dev/null +++ b/deploy/docker-compose/docker-compose.yml @@ -0,0 +1,39 @@ +services: + peer-1: + image: fluencelabs/rust-peer:latest + ports: + - 7771:7771 + - 9991:9991 + command: + - --aqua-pool-size=2 + - -t=7771 + - -w=9991 + - --local + # 12D3KooWBM3SdXWqGaawQDGQ6JprtwswEg3FWGvGhmgmMez1vRbR + - -k=hK62afickoeP2uZbmSkAYXxxqP8ozq16VRN7qfTP719EHC5V5tjrtW57BSjUr8GvsEXmJRbtejUWyPZ2rZMyQdq + + peer-2: + image: fluencelabs/rust-peer:latest + ports: + - 7772:7772 + - 9992:9992 + command: + - --aqua-pool-size=2 + - -t=7772 + - -w=9992 + - --bootstraps=/dns/peer-1/tcp/7771 + # 12D3KooWQdpukY3p2DhDfUfDgphAqsGu5ZUrmQ4mcHSGrRag6gQK + - -k=2WijTVdhVRzyZamWjqPx4V4iNMrajegNMwNa2PmvPSZV6RRpo5M2fsPWdQr22HVRubuJhhSw8BrWiGt6FPhFAuXy + + peer-3: + image: fluencelabs/rust-peer:latest + ports: + - 7773:7773 + - 9993:9993 + command: + - --aqua-pool-size=2 + - -t=7773 + - -w=9993 + - --bootstraps=/dns/peer-1/tcp/7771 + # 12D3KooWRT8V5awYdEZm6aAV9HWweCEbhWd7df4wehqHZXAB7yMZ + - -k=2n2wBVanBeu2GWtvKBdrYK9DJAocgG3PrTUXMharq6TTfxqTL4sLdXL9BF23n6rsnkAY5pR9vBtx2uWYDQAiZdrX diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 3840e08..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,63 +0,0 @@ -version: "3.8" - -# management secret key is NAB5rGwT4qOEB+6nLQawkTfCOV2eiFSjgQK8bfEdZXY= -services: - fluence: # /ip4/127.0.0.1/tcp/9990/ws/p2p/12D3KooWHBG9oaVx4i3vi6c1rSBUm7MLBmyGmmbHoZ23pmjDCnvK - command: -f ed25519 -k 29Apzfedhw2Jxh94Jj4rNSmavQ1TkNe8ALYRA7bMegobwp423aLrURxLk32WtXgXHDqoSz7GAT9fQfoMhVd1e5Ww -m 12D3KooWFRgVmb1uWcmCbmJqLr8tBQghL6ysSpK2VyE2VZbaQ6wy -t 7770 -w 9990 --local - container_name: fluence - environment: - RUST_BACKTRACE: full - RUST_LOG: info,network=trace,aquamarine=info,aquamarine::actor=info,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,particle_server::behaviour::identify=info,libp2p_mplex=info,libp2p_identify=info,walrus=info,particle_protocol::libp2p_protocol::upgrade=info,kademlia::behaviour=info - WASM_LOG: info - image: fluencelabs/rust-peer:ipfs_v0.0.74 - ports: - - 4001:4001 # ipfs swarm - - 5001:5001 # ipfs rpc - - 7770:7770 # tcp - - 9990:9990 # ws - - 18080:18080 # /metrics - restart: always - volumes: - - fluence:/.fluence - networks: - - fluence - - env.json: - restart: "no" - # depends_on: - # - fluence - image: busybox:stable - volumes: - - env.json:/env - command: - - sh - - -c - - | - cat < /env/env.json - { - "nodes": [ - { - "multiaddr": "/dns4/localhost/tcp/9990/ws/p2p/12D3KooWHBG9oaVx4i3vi6c1rSBUm7MLBmyGmmbHoZ23pmjDCnvK", - "peerId": "12D3KooWHBG9oaVx4i3vi6c1rSBUm7MLBmyGmmbHoZ23pmjDCnvK" - } - ] - } - EOF - - dashboard: - depends_on: - - env.json - image: fluencelabs/dashboard:latest - volumes: - - env.json:/dist/env - networks: - - fluence - ports: - - 8080:8080 - -volumes: - fluence: null - env.json: null - -networks: - fluence: null diff --git a/docs/builtins.md b/docs/builtins.md new file mode 100644 index 0000000..437e18d --- /dev/null +++ b/docs/builtins.md @@ -0,0 +1,22 @@ +# Builtin services + +Rust peer distro comes with preconfigured builtin services. + +## [registry](https://github.com/fluencelabs/registry) + +Registry implements service discovery. + +## [aqua-ipfs](https://github.com/fluencelabs/aqua-ipfs) + +This is a native IPFS integration with [Aqua](https://fluence.dev/docs/aqua-book/introduction) language. It is used to orchestrate IPFS file transfer with Aqua scripts. + +Image flavours [ipfs](flavours.md#ipfs) and [rich](flavours.md#rich) have an IPFS daemon running as a sidecar and `aqua-ipfs` configured to use this sidecar IPFS daemon. [minimal](flavours.md#minimal) connects to an IPFS daemon hosted by [Fluence Labs](https://fluence.network). + +In case you want to use a separately running IPFS daemon, you need to inject two variables: + +- `FLUENCE_ENV_AQUA_IPFS_EXTERNAL_API_MULTIADDR` - advertised to clients (e.g., frontend apps) to use in uploading files (`ipfs.put`), managing pins (`ipfs.pin`) etc. +- `FLUENCE_ENV_AQUA_IPFS_LOCAL_API_MULTIADDR` - used by the `aqua-ipfs` builtin to connect to IPFS node + +## [trust-graph](https://github.com/fluencelabs/trust-graph) + +It can be used to create a trusted network, to manage service permissions with TLS certificates and other security related things. diff --git a/docs/flavours.md b/docs/flavours.md new file mode 100644 index 0000000..8e021f3 --- /dev/null +++ b/docs/flavours.md @@ -0,0 +1,60 @@ +# Rust Peer Distro Flavours + +Each flavour is represented by a docker image tag. See the [docker hub](https://hub.docker.com/r/fluencelabs/rust-peer) and the [releases](https://github.com/fluencelabs/rust-peer-distro/releases) page. + +Each flavour builds upon its previous flavour. In particular, `ipfs` has everything that `minimal` has, and `rich` has everything that `minimal` and `ipfs` have. + +| flavour | IPFS daemon | services | binaries | +| ------- | ----------- | -------------------------------- | ------------------------------------------ | +| minimal | ❌ | aqua-ipfs, trust-graph, registry | curl, ipfs | +| ipfs | ✅ | aqua-ipfs, trust-graph, registry | curl, ipfs | +| rich | ✅ | aqua-ipfs, trust-graph, registry | curl, ipfs, ceramic, bitcoin cli, geth cli | + +Tag `latest` points to the latest version of `ipfs` flavour. + +## minimal + +It contains Rust peer itself and some [builtin services](builtins.md). It serves as a base image for all other image flavours and is intended for those who want to run an IPFS node separately. + +`FLUENCE_ENV_AQUA_IPFS_*` variables must be defined and point to externally +running IPFS daemon in order for `aqua-ipfs` to work. If not defined, **aqua-ipfs +builtin will be removed**. + +| variable | default | description | +| ---------------------------------------------- | --------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `FLUENCE_ENV_AQUA_IPFS_EXTERNAL_API_MULTIADDR` | `/dns4/ipfs.fluence.dev/tcp/5001` | advertised to clients (eg frontend apps) to use in uploading files (`ipfs.put`), managing pins (`ipfs.pin`) etc | +| `FLUENCE_ENV_AQUA_IPFS_LOCAL_API_MULTIADDR` | `/dns4/ipfs.fluence.dev/tcp/5001` | used by aqua-ipfs builtin to connect to IPFS node | + +## ipfs + +This is a Rust peer packaged with an [IPFS node](https://docs.ipfs.io/how-to/command-line-quick-start/#take-your-node-online) running inside a container. + +| variable | default | description | +| ---------------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `IPFS_PATH` | `/config/ipfs` | IPFS node data directory | +| `IPFS_LOG_PATH` | `/log/ipfs` | directory where IPFS will store its logs | +| `IPFS_MIGRATE_FS` | `false` | automatically run [fs-repo-migrations](https://github.com/ipfs/fs-repo-migrations) on start | +| `IPFS_ADDRESSES_SWARM` | `/ip4/0.0.0.0/tcp/4001,/ip4/0.0.0.0/tcp/4001/ws` | IPFS swarm multiaddr | +| `IPFS_ADDRESSES_API` | `/ip4/0.0.0.0/tcp/5001` | IPFS API multiaddr | +| `IPFS_ADDRESSES_GATEWAY` | `/ip4/0.0.0.0/tcp/8080` | IPFS gateway multiaddr | +| `IPFS_ADDRESSES_ANNOUNCE` | `/ip4/127.0.0.1/tcp/4001,/ip4/127.0.0.1/tcp/4001/ws` | IPFS p2p multiaddr of the IPFS swarm protocol | +| `FLUENCE_ENV_AQUA_IPFS_EXTERNAL_API_MULTIADDR` | `/ip4/127.0.0.1/tcp/5001` | advertised to clients (eg frontend apps) to use in uploading files (`ipfs.put`), managing pins (`ipfs.pin`) etc | +| `FLUENCE_ENV_AQUA_IPFS_LOCAL_API_MULTIADDR` | `/ip4/127.0.0.1/tcp/5001` | used by aqua-ipfs builtin to connect to IPFS node | + +## rich + +This is a Rust peer packaged with an IPFS node, [Ceramic](https://developers.ceramic.network/learn/welcome/) CLI and some other binaries like bitcoin-cli or +[geth](https://geth.ethereum.org/docs/interface/command-line-options). + +| variable | default | description | +| ---------------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `CERAMIC_HOST` | | ceramic daemon address | +| `IPFS_PATH` | `/config/ipfs` | IPFS node data directory | +| `IPFS_LOG_PATH` | `/log/ipfs` | directory where IPFS will store its logs | +| `IPFS_MIGRATE_FS` | `false` | automatically run [fs-repo-migrations](https://github.com/ipfs/fs-repo-migrations) on start | +| `IPFS_ADDRESSES_SWARM` | `/ip4/0.0.0.0/tcp/4001,/ip4/0.0.0.0/tcp/4001/ws` | IPFS swarm multiaddr | +| `IPFS_ADDRESSES_API` | `/ip4/0.0.0.0/tcp/5001` | IPFS API multiaddr | +| `IPFS_ADDRESSES_GATEWAY` | `/ip4/0.0.0.0/tcp/8080` | IPFS gateway multiaddr | +| `IPFS_ADDRESSES_ANNOUNCE` | `/ip4/127.0.0.1/tcp/4001,/ip4/127.0.0.1/tcp/4001/ws` | IPFS announce multiaddr | +| `FLUENCE_ENV_AQUA_IPFS_EXTERNAL_API_MULTIADDR` | `/ip4/127.0.0.1/tcp/5001` | advertised to clients (eg frontend apps) to use in uploading files (`ipfs.put`), managing pins (`ipfs.pin`) etc | +| `FLUENCE_ENV_AQUA_IPFS_LOCAL_API_MULTIADDR` | `/ip4/127.0.0.1/tcp/5001` | used by aqua-ipfs builtin to connect to IPFS node | diff --git a/fluence/Config.default.toml b/fluence/Config.default.toml deleted file mode 100644 index abd4949..0000000 --- a/fluence/Config.default.toml +++ /dev/null @@ -1,85 +0,0 @@ -## ed25519, rsa, secp256k1 private keys available for this node. Generation is available only for ed25519 and secp256k1. -## Either value or path should be defined. Value is base58 bytes. -## ed25519 format is set by default -# root_key_pair.format = "ed25519" -# root_key_pair.value = "..." -# root_key_pair.path = "/.fluence/v1/secret_key.ed25519" -root_key_pair.generate_on_absence = true - -# builtins_key_pair.format = "ed25519" -# builtins_key_pair.value = "..." -# builtins_key_pair.path = "/.fluence/v1/secret_key.ed25519" -builtins_key_pair.generate_on_absence = true - -autodeploy_particle_ttl = "60s" -## Services will store their data here -# default is /.fluence/v1/services -# services_base_dir = "./services" -## AIR Interpreter will store its data here. NOTE: 'stepper' is an old name for interpreter. -# default is /.fluence/v1/stepper -# avm_base_dir = "./stepper" -## directory for TrustGraph certificates -# default is /.fluence/v1/certificates -# certificate_dir = "./certificates" -## directory for builtins -# default is /.fluence/v1/builtins -builtins_base_dir = "/builtins" - -# default is /.fluence/spell -# spell_base_dir = "/spell" - -## Path to AIR interpreter .wasm is set to specific version by default -## air_interpreter_path = "./aquamarine_${air_interpreter_wasm::VERSION}.wasm" - -tcp_port = 7777 -listen_ip = "0.0.0.0" -socket_timeout = "20s" -bootstrap_nodes = [ - "/dns4/net01.fluence.dev/tcp/7001", - "/dns4/net01.fluence.dev/tcp/7770", - "/dns4/net02.fluence.dev/tcp/7001", - "/dns4/net03.fluence.dev/tcp/7001", - "/dns4/net04.fluence.dev/tcp/7001", - "/dns4/net05.fluence.dev/tcp/7001", - "/dns4/net06.fluence.dev/tcp/7001", - "/dns4/net07.fluence.dev/tcp/7001", - "/dns4/net08.fluence.dev/tcp/7001", - "/dns4/net09.fluence.dev/tcp/7001", - "/dns4/net10.fluence.dev/tcp/7001" -] - -websocket_port = 9999 -#external_address = "85.85.35.35" -prometheus_port = 18080 -aquavm_pool_size = 16 - -## Maximum heap size in bytes available for an interpreter instance. -# default is not specified and defined by runtime (1600 pages: 65536*1600 ~ 100 Mb, Wasm page size is 64 Kb) -# aquavm_max_heap_size = "500 Mb" -## Maximum heap size in bytes available for a WASM module. -# Checks heap size required by module if specified, default is not specified. -# module_max_heap_size = "10 Mb" -## Default heap size in bytes available for a WASM module unless otherwise specified. -# default is not specified and defined by runtime -# module_default_heap_size = "5 Mb" - -## How often send memory metrics to prometheus -#metrics_timer_resolution = "60s" - -## environment variables that will be passed to each service -## TODO: separate by service or move to service config -services_envs = { name = "value" } - -[bootstrap_config] -reconnect_delay = "5s 500ms" -bootstrap_delay = "30s 45ms" -bootstrap_max_delay = "60s" - -[root_weights] -12D3KooWB9P1xmV3c7ZPpBemovbwCiRRTKd3Kq2jsVPQN4ZukDfy = 1 -12D3KooWBUJifCTgaxAUrcM9JysqCcS4CS8tiYH5hExbdWCAoNwb = 20 - -[protocol_config] -upgrade_timeout = "10s" -keep_alive_timeout = "10s" -outbound_substream_timeout = "10s" diff --git a/fluence/deploy/.gitignore b/fluence/deploy/.gitignore deleted file mode 100644 index 6d1ce60..0000000 --- a/fluence/deploy/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*.pyc -prometheus/data - diff --git a/fluence/deploy/.python-version b/fluence/deploy/.python-version deleted file mode 100644 index a616492..0000000 --- a/fluence/deploy/.python-version +++ /dev/null @@ -1 +0,0 @@ -2.7.18 diff --git a/fluence/deploy/Config.toml b/fluence/deploy/Config.toml deleted file mode 100644 index 3023ae7..0000000 --- a/fluence/deploy/Config.toml +++ /dev/null @@ -1,57 +0,0 @@ -autodeploy_particle_ttl = "60s" -builtins_base_dir = "/builtins" -aquavm_pool_size = 6 -aquavm_max_heap_size = "500 Mb" - -packet_split_size = 16384 - -[kademlia] -max_packet_size = 10040964096 # 100 Mb -query_timeout = "10s" -connection_idle_timeout = "1h" -peer_fail_threshold = 3 -ban_cooldown = "60s" - -[transport_config] -max_established_per_peer = 2 - -[root_key_pair] -format = "ed25519" -path = "/node.key" - -[builtins_key_pair] -format = "ed25519" -generate_on_absence = true - -[root_weights] -12D3KooWDMWjFq1QZG5szbQRbyQ1A8wyrEJSQaFXwMyqkFeLoHTt = 3 -12D3KooWLH6rijQ7eTAdA2pcg31ohZCTkWZywYvwTB3sUEjrn5PU = 4 -12D3KooWBUJifCTgaxAUrcM9JysqCcS4CS8tiYH5hExbdWCAoNwb = 6 -12D3KooWCKCeqLPSgMnDjyFsJuWqREDtKNHx1JEBiwaMXhCLNTRb = 7 -12D3KooWLuLi6jvv53LPUtmx9TeV87L7kwiwRiEDBb4BkWGcG7BQ = 4 -12D3KooWQT3rhVmP4qrhCX9ki6oaPAF6w1WbSXZVe8MwG9GJcBHZ = 4 -12D3KooWBSdm6TkqnEFrgBuSkpVE3dR1kr6952DsWQRNwJZjFZBv = 2 -12D3KooWB9P1xmV3c7ZPpBemovbwCiRRTKd3Kq2jsVPQN4ZukDfy = 10 -12D3KooWBeLmDMSUfX6wKcPGQKScRedwKhazdoVr6DGsP7zQi88u = 4 -12D3KooWJbJFaZ3k5sNd8DjQgg3aERoKtBAnirEvPV8yp76kEXHB = 7 -12D3KooWHKcazBBDS64k6vaYWoN4JowG2PsYWf9UkrBaYFAVG19T = 4 -12D3KooWKbExFt4VnVtsoDoNkYUqqNTEu74AncC1xkXTRKpgbddj = 4 -12D3KooWMhVpgfQxBLkQkJed8VFNvgN4iE6MD7xCybb1ZYWW2Gtz = 1 -12D3KooWMxYgPHEmeaU56xjyYY5CxfzxfeRK7ZiqpohSQEy1XkUd = 10 -12D3KooWBAvmzZ4dqAFGSHUc5EX1jfMwmzSqhuTHLdafUz96FALs = 3 -12D3KooWEXNUbCXooUwHrHBbrmjsrpHXoEphPwbjQXEGyzbqKnE9 = 20 -12D3KooWBNuzQgzdM8Uzi2Lbsk8VX42SwdZYQDVfn69BLJWKSCVi = 3 -12D3KooWBcV7Tz5jn8zbQKtWp9nrAmojm63GKC7EJ8aJ1f9WdyAD = 4 -12D3KooWFnAdKdxExJioeGiS6zZG8n98LAaWLdtHFPfdXqXrNgf6 = 3 -12D3KooWMtzMU25aDx4sL2LBvxZNSSZirFm7YPkkEwRYdJg4CJiJ = 4 -12D3KooWF7gjXhQ4LaKj6j7ntxsPpGk34psdQicN2KNfBi9bFKXg = 10 -12D3KooWHk9BjDQBUqnavciRPhAYFvqKBe4ZiPPvde7vDaqgn5er = 5 -12D3KooWG9hh8R1y2VesEnMRjmoxZBikSLgoazYEhpUWZHCDjEia = 40 -12D3KooWGR7gsjvAR4XkZfbo5TUxzepr35ocL7U7oo6qZVuBrxud = 40 -12D3KooWGzNvhSDsgFoHwpWHAyPf1kcTYCGeRBPfznL8J6qdyu2H = 2 -12D3KooWKHRipkS48MNZANFwSLTkTzfgzHcLs8wZ1nUU9DzUPb4G = 3 -12D3KooWBaeyjd7FgKXxMcqjt4wLmpGZvxjUjngduRRqfyYSiSxR = 40 -12D3KooWRd6dzpnAyUhC42S7JzHAk38egyRSJadTgwPzkxCrY8Mg = 4 -12D3KooWDcohxBq6W45MnSrUQsnL63caM3BVEZW7dB9tgP5ky7KL = 40 -12D3KooWKnRcsTpYx9axkJ6d69LPfpPXrkVLe96skuPTAo76LLVH = 10 -12D3KooWQbFexscJvgiTW3empzEP9o48uYU4EA9Z77bPc9mPQZTe = 4 diff --git a/fluence/deploy/Dockerfile b/fluence/deploy/Dockerfile deleted file mode 100644 index a1c6b44..0000000 --- a/fluence/deploy/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM python:2-alpine as BUILD -RUN apk add gcc musl-dev libffi-dev rust cargo make openssl-dev -COPY ./requirements.txt ./requirements.txt -RUN pip install --user -r requirements.txt - -FROM python:2-alpine -RUN apk --no-cache add openssh-client -COPY --from=BUILD /root/.local /root/.local -COPY . /deploy -ENV PATH=/root/.local/bin:$PATH -WORKDIR /deploy -ENTRYPOINT ["/deploy/entrypoint.sh"] -CMD ["--list"] # execute `fab --list` by default diff --git a/fluence/deploy/README.md b/fluence/deploy/README.md deleted file mode 100644 index 11fce59..0000000 --- a/fluence/deploy/README.md +++ /dev/null @@ -1,33 +0,0 @@ -# How to deploy Fluence -1. Edit deployment_config.json to your needs (explanations: TBD) -2. Install docker: `fab install_docker` -3. Edit `fluence.yml` and `fluence_bootstrap.yml` to your needs -4. Deploy fluence: `fab deploy_fluence` -5. If you need https, deploy caddy: `fab deploy_caddy` -6. If you need slack notifications about containers state, deploy watchdog: `fab deploy_watchdog` - -# Fluence deployment scripts and configs -`deployment_config.json` – contains list of IPs to use for deployment -`fab deploy_fluence` – deploys fluence, mediated by `fluence.yml` and `fluence_bootstrap.yml` -`fab install_docker` – installs docker and docker-compose (+ haveged) -`fab deploy_watchdog` – deploys a watchdog to monitor containers (change `SECRET` to desired webhook URL) -`fab deploy_caddy` – deploys Caddy 2.0, configured in code - -# Prometheus -`/prometheus` contains basic configuration file, HTML consoles are TBD - -# How to deploy Fluence with docker -1. Edit `fluence.yml` and `fluence_bootstrap.yml` to your needs -2. Build image: `docker build -t deploy .` -3. Run `docker run -v $HOME/.ssh:/root/.ssh:ro deploy deploy_fluence` (you can use `deploy_caddy` or `deploy_watchdog` instead of `deploy_fluence` as well) - -# macOS without docker -If you're on macOS, and want to avoid using Docker, then this section is for you. - -You will need to use `pyenv` to access Python 2. - -1. `brew install pyenv openssl@1.1` -2. `pyenv install 2.7.18` -3. `pyenv local 2.7.18` -3. `pyenv exec pip2 install -r requirements.txt --global-option=build_ext --global-option="-L/opt/homebrew/opt/openssl@1.1/lib" --global-option="-I/opt/homebrew/opt/openssl@1.1/include"` -4. `pyenv exec fab deploy_fluence` diff --git a/fluence/deploy/compose.py b/fluence/deploy/compose.py deleted file mode 100644 index dccba2a..0000000 --- a/fluence/deploy/compose.py +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright 2021 Fluence Labs Limited -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import with_statement -from fabric.contrib.files import append -from fabric.api import * -from fabric.utils import * -import json -import time -import yaml -import copy - -CONFIG = { - 'services': { - 'fluence': { - 'environment': { - 'RUST_BACKTRACE': 'full', - 'WASM_LOG': 'info', - 'RUST_LOG': 'info,network=trace,execution=trace,tide=warn,aquamarine=info,aquamarine::actor=info,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info ,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,particle_server::behaviour::identify=info,libp2p_mplex=info,libp2p_identify=info,walrus=info,particle_protocol::libp2p_protocol::upgrade=info', - 'IPFS_ADDRESSES_ANNOUNCE': '/ip4/{host}/tcp/{ipfs_swarm_port},/ip4/{host}/tcp/{ipfs_swarm_port}/ws', - 'FLUENCE_ENV_AQUA_IPFS_EXTERNAL_API_MULTIADDR': '/ip4/{host}/tcp/{ipfs_port}', - 'CERAMIC_HOST': '{ceramic_host}', - }, - 'command': '-c /Config.toml -f ed25519 -k {keypair} -x {host} -t {tcp_port} -w {ws_port} -m {management_key}', - 'volumes': [ - '{container_name}:/.fluence', - '{container_name}_config:/config', - ], - 'container_name': '{container_name}', - 'image': '{container_image}', - 'ports': [ - '{tcp_port}:{tcp_port}', - '{ws_port}:{ws_port}', - '{ipfs_port}:5001', - '{ipfs_swarm_port}:4001', - '{ipfs_gateway_port}:8080', - '{metrics_port}:18080' - ], - 'restart': 'always' - } - }, - 'version': '3.5', - 'volumes': { - '{container_name}': None, - '{container_name}_config': None, - } -} - -def gen_compose_file(out, container_image, scale, is_bootstrap, bootstraps, host, management_key, keypairs, ceramic_host): - assert len(container_image) > 0, "container image must not be empty, was: '{}'".format(container_image) - - if is_bootstrap == True: - container = 'fluence_bootstrap' - tcp_port = 7770 - ws_port = 9990 - ipfs_port = 5550 - ipfs_swarm_port = 4440 - ipfs_gateway_port = 8880 - metrics_port = 28880 - else: - container = 'fluence' - tcp_port = 7001 - ws_port = 9001 - ipfs_port = 5001 - ipfs_swarm_port = 4001 - ipfs_gateway_port = 8001 - metrics_port = 28081 - - - config = copy.deepcopy(CONFIG) - service = config['services']['fluence'] - del config['services']['fluence'] - config['volumes'] = {} - - for i in range(0, scale): - container_name = container + '-{}'.format(i) - - config['services'][container_name] = copy.deepcopy(service) - container_config = config['services'][container_name] - - container_config['container_name'] = container_name - container_config['image'] = container_image.encode('utf-8') - container_config['volumes'] = map( - lambda v: v.format(container_name=container_name), - container_config['volumes'] - ) - - container_config['command'] = container_config['command'].format( - keypair=keypairs[i], - management_key=management_key, - host=host, - tcp_port=tcp_port, - ws_port=ws_port - ) - if len(bootstraps) > 0: - container_config['command'] += ' --bootstraps {}'.format(' '.join(bootstraps)) - - container_config['ports'] = map(lambda p: p.format( - tcp_port=tcp_port, - ws_port=ws_port, - ipfs_port=ipfs_port, - ipfs_swarm_port=ipfs_swarm_port, - ipfs_gateway_port=ipfs_gateway_port, - metrics_port=metrics_port - ), container_config['ports']) - - for key in container_config['environment']: - container_config['environment'][key] = container_config['environment'][key].format( - host=host, - ipfs_port=ipfs_port, - ipfs_swarm_port=ipfs_swarm_port, - ipfs_gateway_port=ipfs_gateway_port, - ceramic_host=ceramic_host, - ) - - for key in CONFIG['volumes']: - key = key.format(container_name=container_name) - config['volumes'][key] = None - - tcp_port += 1 - ws_port += 1 - ipfs_port += 1 - ipfs_swarm_port += 1 - ipfs_gateway_port += 1 - metrics_port += 1 - - puts("Writing config to {}".format(out)) - with hide('running'): - run('rm {} || true'.format(out)) - append(out, yaml.dump(config)) - diff --git a/fluence/deploy/deployment_config.json b/fluence/deploy/deployment_config.json deleted file mode 100644 index 79f3783..0000000 --- a/fluence/deploy/deployment_config.json +++ /dev/null @@ -1,186 +0,0 @@ -{ - "target": "stage", - - "environments": [ - { - "name": "krasnodar", - "container_image": "fluencelabs/rust-peer:rich_0.0.77", - "containers_per_host": 1, - "external_bootstraps": [ - "/ip4/164.90.171.139/tcp/7770" - ], - "hosts": [ - "164.90.171.139", - "178.128.194.190", - "46.101.159.139", - "161.35.222.178", - "164.90.164.229", - "164.90.168.55", - "161.35.212.85", - "164.90.165.150", - "164.90.172.126", - "164.90.171.156" - ], - "user": "root", - "bootstrap": "164.90.171.139", - "management_key": "12D3KooWFRgVmb1uWcmCbmJqLr8tBQghL6ysSpK2VyE2VZbaQ6wy", - "ceramic_host": "https://ceramic-krasnodar.fluence.dev", - "caddy": [ - { "host": "kras-00.fluence.dev", "ports": [9001, 9990, 5001, 5550, 8880, 8001], "addr": "164.90.171.139" }, - { "host": "kras-01.fluence.dev", "ports": [9001, 5001, 8001], "addr": "178.128.194.190" }, - { "host": "kras-02.fluence.dev", "ports": [9001, 5001, 8001], "addr": "46.101.159.139" }, - { "host": "kras-03.fluence.dev", "ports": [9001, 5001, 8001], "addr": "161.35.222.178" }, - { "host": "kras-04.fluence.dev", "ports": [9001, 5001, 8001], "addr": "164.90.164.229" }, - { "host": "kras-05.fluence.dev", "ports": [9001, 5001, 8001], "addr": "164.90.168.55" }, - { "host": "kras-06.fluence.dev", "ports": [9001, 5001, 8001], "addr": "161.35.212.85" }, - { "host": "kras-07.fluence.dev", "ports": [9001, 5001, 8001], "addr": "164.90.165.150" }, - { "host": "kras-08.fluence.dev", "ports": [9001, 5001, 8001], "addr": "164.90.172.126" }, - { "host": "kras-09.fluence.dev", "ports": [9001, 5001, 8001], "addr": "164.90.171.156" } - ], - "keypairs": { - "fluence_bootstrap.yml": [ - "4EMUFTvXM3D6M8NHwNCMwjkjdSUSHJrnzdHh7L3XcY9E3iUNncUohQ7EcjJaovVwzzqdTcbki5iAnUUHEb59j4pQ" - ], - "fluence.yml": [ - "29JvD17kkvFXnTNDRhmVehLTinFzaq8trNNADzDEpFTm8cTVJuLVxzf4AysDg9daerBRa2xhgj9QYGCKXkbbUXbd", - "2zzZEHJFsxnKSihpC2GkcQtgaUYBwW742ne5ZB2bjRGwnbgMEmn1MqoHxm5MbnMwEB4DLP2cxKYN4Ag7MGWus8PQ", - "ir4of5Kcqu4Zjkg4GwWujTKUvggqHzHPKS9vpN9G96dMGi9pKqnDRrXpgjKTogzY7i1AnrTfoD464GgjFcK8QUf", - "58kzJ5Xxvj7Mmrq2NTVTa9JRdmnpWQAsnWEUauuqbgwbqqHKZoYC498Yfa6wLJiEBQiuLGCqrBTqmktngYN32Xnz", - "aD93EK3cEFCM4aHFqR3SNs8xUvoFTdhLcm1pn2wsJ8kwxVGC4mCgRC6znxBAfp9ja83wCBsDqrBW3NysqkbG5Gk", - "47L1SWMPu3VfMQRqE7a5bgE6H7K56v9wU5SoFUrJVdDs3obVCM4afMfajBApj1q8Q4itKoD5zb9ydVefZirHLBNa", - "3pSZ7S4zQGSYvt7GDqrxYVJitUCv1YC9oVcoeziDvfwrS5u3knKkFXEQ164ZBZCaTGaKZk9RR3awvhW34gtYDhMN", - "G1LbuJiYq3PHWPzfBkp8j22Wr6Lb8xvyW6vcuLBWLwupz2sy2Ku2SRTw5x28zk91uS8X3AaLEupuHC8Z31FC72W", - "2Y78rG3QrrGzzvVJhvbEdvnya11Z2a3qR3bjP5Yr5PF46BomTF4MXRJb4qiUQFBZfqUuzYBDs7SP1odfixAr3U7Y", - "2RLVwr5F2yxU6ZLEkdCA7GP2X3DTBCJsZ3PmNtjg8Bbbj9VPcfE928cEci1AoqbstNbT28cNm5ji8d6cLknRxJNb", - "2SBto5Nx8gY1TYJCmnhBQMDzkTghAFbQZFu1eLN9piWUz8vdySBQYeXQXrYXb2Yoh1wzQmST5uReRNYWVTHQEdzf", - "36mqbXaCw4p8cJJCNMUPF9Eoj5stbL5BL8digfkrtudR4AFcAS8p2Ja1FHGVVqtqaGWY9haQQwPmw8RT4Gkfdd5T", - "2JQXbwU8FHbTimtwz75SyYP25MZ8RmKKPYE3aXf2eCrpjUfkoZ85aXQkxJPjZiJe5JbES5N6LZLvevtAPZLznSTa", - "2tFtYR2S8kboncrv4xLkTxHuAVXN8KRxFwC2xPGYiHsXLLvYUHYsFQKHgMwn17tG4ZzMXTwYZcDC5BPTDRKiJP1f", - "3vXDEMu7ya5dRQRzpAvazvL5GbmXF6T8nXeESNUxUMax6qHgdfVDywA3zddrZmgAwfcHaxz7sPYtyjaPU9Z7jCj5", - "4ZUye9KKXhCSNs1Cdu2L2kioBUrhNKfYtFLUbujC7QbnweYS3VEWvNbi2Lq5VaEd6iHKMEfz8tzWPoaKut8JpmoS", - "5VxTSWtAwzfqv9cXMZJTFU7BqEv85d59KN1mkreJXeUAVFMnfmW8fwtDV8njnAJErSUokmYTgpYXEkbmcL3nm5WX", - "3Bvaa3HbwBazLxKsHUQkw6swqxV5msqcKBtANDLzqQysDn5XRkp1HBHViKiy7b71zD93oQKHgmQao4jzYBffrVMT", - "4UDVbiMtz6RjfBM1oM6kX781D8qRaZh6d8H51YdLWvQZVPjeMug6pqYooBMg4sjVXnoFkcZ2AHyTkQLn6ZVuWPGP", - "5Cnpvd3VH3SRk2qLjnL7CjD8hyMVNY9StnqebZ4sNndyxMfa5PKeFo34S1EVXwUdWdUeog9q59bTPaWyx51RweQf", - "2JxUxVCYVhFzw8J1jz83Sb73XpBiHoNXuxwR73JGnJa7xWxSKbkNmSKZXZ4r2whR8Qc44F8oq1F1SdnF75tZEepE" - ] - } - }, - { - "name": "testnet", - "container_image": "fluencelabs/rust-peer:rich_0.0.77", - "containers_per_host": 1, - "external_bootstraps": [ - "/ip4/165.227.164.206/tcp/7770" - ], - "hosts": [ - "165.227.164.206", - "138.197.189.50", - "157.230.23.49", - "159.65.126.102", - "142.93.169.49", - "139.59.148.53", - "206.81.30.129", - "157.230.98.51", - "159.89.2.70", - "157.230.98.75" - ], - "user": "root", - "bootstrap": "165.227.164.206", - "management_key": "12D3KooWFRgVmb1uWcmCbmJqLr8tBQghL6ysSpK2VyE2VZbaQ6wy", - "ceramic_host": "https://ceramic-testnet.fluence.dev", - "caddy": [ - { "host": "net01.fluence.dev", "ports": [9001, 9990, 5550, 5001, 8880, 8001], "addr":"165.227.164.206" }, - { "host": "net02.fluence.dev", "ports": [9001, 5001, 8001], "addr":"138.197.189.50" }, - { "host": "net03.fluence.dev", "ports": [9001, 5001, 8001], "addr":"157.230.23.49" }, - { "host": "net04.fluence.dev", "ports": [9001, 5001, 8001], "addr":"159.65.126.102" }, - { "host": "net05.fluence.dev", "ports": [9001, 5001, 8001], "addr":"142.93.169.49" }, - { "host": "net06.fluence.dev", "ports": [9001, 5001, 8001], "addr":"139.59.148.53" }, - { "host": "net07.fluence.dev", "ports": [9001, 5001, 8001], "addr":"206.81.30.129" }, - { "host": "net08.fluence.dev", "ports": [9001, 5001, 8001], "addr":"157.230.98.51" }, - { "host": "net09.fluence.dev", "ports": [9001, 5001, 8001], "addr":"159.89.2.70" }, - { "host": "net10.fluence.dev", "ports": [9001, 5001, 8001], "addr":"157.230.98.75" } - ], - "keypairs": { - "fluence_bootstrap.yml": [ - "wCUPkGaBypwbeuUnmgVyN37j9iavRoqzAkddDUzx3Yir7q1yuTp3H8cdUZERYxeQ8PEiMYcDuiy1DDkfueNh1Y6" - ], - "fluence.yml": [ - "4pJqYfv3wXUpodE6Bi4wE8bJkpHuFbGcXrdFnT9L29j782ge7jdov7FPrbwnvwjUm4UhK5BvJvAYikCcmvCPVx9s", - "2zgzUew3bMSgWcZ34FFS36LiJVkn3YphW2H8TDvL8JF8T4apTDxnm7GRsLppkCNGS5ytAQioxEktYq8Wr8SWAHLv", - "52WaZJDHFFZbwL177g497ctE7zqbMYMwWpVMewjc1U63tWjFUCNPuzB472UkdZWBykjiNWA8qtLYNAQEqQCcWfoP", - "23BFr8LKiiAtULuYJTmLGxqDVHnjFCzNFTZcKq6g82H9kcTNwGq8Axkdow4fh4u4w763jF6uYVK6FuGESAQBMEPB", - "3wR6FT1ZGnEwPqYBNz5YVpA6qJ4uUTLcK1SpWrwJennH5Bk4JgCjKKjUiRcjDk3Cwjbm2LAdrLWTYXHjxbogttQ9", - "3KoMfcGUox46Brcnojs8yuNZN2YTH7kvmxW8g5PiRrDE2dCiQeZzhDkaJvmDDnUaHFRp6UvdmBsDrYWywYoNDqHD", - "5yqQfXyjMGKZaykByyrEjCYqxjHaCxQKxLQ3vfzU4M8U51auCiCeKT5UvnZGgMFbwwrjePUMYPvThyXiimGvq16x", - "g59HxPYa1gxDZbMEtt2sry9tncQ1XwJMqoYh47JVsXnXeTf7svtzdag2pbXr6uN35L43nmKN2W4XW9MX7g5AUPB", - "6mFRjb32PY4eMimBJq6sS6L2yW69ShHk46KTycP6v4unfBF7JYQc2Z8m8i4RPr6snWeH7Mq4ae7wCQLqV2xuCrv", - "5EwruNmAyo9MjXSkUzKJLeUnNaxjjbHovTcfkUozzAcE9NgcoYnBs5bsoNnQpmZssk6KEYcM4dTa8nioYKtMHrKd", - "4iUyBDs1w51QzMtT7j4ydeCGnXw7HYzGANHFVVYVio5H9TKmefQodzW3Y8ir9tAbq31mwBbEW79XhUzCGvi16xyj", - "3hL8p1YoBJ4aY8gpxSzq7JTbobLd4iY2RXgLn9oXPJBVPgihfZU4RYxEYRCM2ccEYbQrpHSKqJF6SHoR1khXoNTp", - "CaexYkVKpcniuywCvx3xb3TBEaCsoEh7jLwoW8SBn68RapqsV6gNaETmyi7jTTvsy6k2tjkq4zd9LU2UkD9LSGc", - "3UNUeYDfxzUEkNvzV5Y3ysUQzZSb5bvpBVJKRqtkpavsigL9oxnnFsbPQsbAXYorZdT8NWx8TuGj2mVVWPJhCeNg", - "3UgMLGKzxoc33G3uqjFNRcESRnZvxVUBXuMd9cXdAUBjUp2DqEzqTWmA6skg4i8YsfkYy4nHqiDbU7oMUzi1RZ2j", - "4GjM64v9dZRu5weHMJuvi9JTa9xnD2yQyehyVDz2LMmukvNuRW4niPanxxFT3i9L8arZjn967fCAQoAug1qcpeJY", - "3ZtwTXfgUQ4SspkgjGH5F28feyrXB69e1m3o1MJzTv5SSZWpaT3X1FhRjKmfohDKgiXA6ddKZiqSFfHjewTLMnaJ", - "4nzpwEHwfQZXgxJjsSSvz8TiY7A88rYm2JHGz8BF5U8AzgKXNBECF6d8B2ZByrdL1TWXaKuXjNpNp8kAzCXm1JnM", - "4yBQSVmxZ9Ft9up8gv9A4G3BfvAT52rGvHLjteDuL18KvwbZE3vB1u84VxVMjEzAJSB1YuvNoqB8aoRireV7zcLn", - "w1LS56wM6aW1YSCb22buCm2hVnFdWRjLdacahL2a1iM2vu4DNc8tR68yRi31dVtVbR6ZSsmKU2zzYKeEuDNoFNw", - "55ssYzrcKRc68xMgXA8KC3QjuBNffxzAtUtvWvRSo4vdDBuoZTe8KCwHJR7vEUhKErWqWFmjMQtH9GCBKhdokxeJ" - ] - } - }, - { - "name": "stage", - "container_image": "docker.fluence.dev/rust-peer:rich_debug-refactored-marine_901_1", - "containers_per_host": 5, - "hosts": [ - "134.209.186.43" - ], - "user": "root", - "bootstrap": "134.209.186.43", - "external_bootstraps": [ - "/ip4/134.209.186.43/tcp/7770" - ], - "management_key": "12D3KooWFRgVmb1uWcmCbmJqLr8tBQghL6ysSpK2VyE2VZbaQ6wy", - "ceramic_host": "https://ceramic-stage.fluence.dev", - "caddy": [ - { - "host": "stage.fluence.dev", - "ports": [ - 9990, 9001, 9002, 9003, 9004, 9005, - 5550, 5001, 5002, 5003, 5004, 5005, - 8880, 8001, 8002, 8003, 8004, 8005 - ], - "addr": "134.209.186.43" - } - ], - "keypairs": { - "fluence_bootstrap.yml": [ - "1eye6JeqbLhXM4gF6C1n9UKMvHdp8niwH9XXh2159eJcYG3Zk4nCNSrG5qfwvkrFka3L6xVssJ2fpHTvpPPhz5p" - ], - "fluence.yml": [ - "3suwMJBLUSYb2LHdAdCzstEUbMzxmKj144GUJKMGp4syRF45pW249F1je2BBxwAF3pZyFSdzn88sfQNpWByHVKDC", - "e8AFF1TqoF9QTcMG12968KRn1MHemLgzTTW18ef9ji7cRYKc8GdkVcecCvDUj1GyMVvNQHU7dozE94tKz8aj6DS", - "4BMesaouUWJo6ps12sSntZMLJ2EpNivehx1o89NbnxyDbMD5JmUpeeiXSmW4ZL2cYjyJWxSKwwQGaKbHK3oqcuJo", - "4NsvdS4S3SHrh1FYNFc4881t2Pxf6WriREhbLp6vuVoXeXSi8AAHb81rPr9ju21ZYvJ8dyhYS9AHn41jgddCUiPG", - "3iX1GxpUHGJsX4srDAx4KrJSYmb3xgYqm4ZuYN6snuS9upYPF9sqEYAdPXd8cSPNTmN9QKmKnZGn7URzKUr9f9Q2", - "wBTuv6muKu1BrBrnAtwEGZykHJxnMcxYT8RxdcMwGnDNpPNktS4FoFG36tKoVfofMXHepXuW67PoB9A6T5p7tXu", - "5j7RxESUMQSGPFfegAH7MuWi1oddp7qMeA52iWMvrYdEmcoDYzKrU5vbj2vesu7AjqvsLoPhUdJssqAFs8uWAkEJ", - "4ttKiUoQ9XuSJPeRdtj6QuPBqRJZZD5XhcRM9XG8tLGRwESkPcWbjNArWnPW92kijcvYFQevhok8hrGx8DsaU7Jw", - "2kvaPrtJYHTvq52hCTNCqBo4GxbdBk62QpREQmK6QVZPUxJTo9jcJNDXDLERzgaFJV6izhTxB6ieczMpAg8uW1kb", - "3uAKK4VtrTRiEWZX6JRbGajtz59FcJpe4mMztFUYSkepegqeLKejBVgrsTPxsPpq1ueuEKsTy3jchyebzXqbPRJW", - "3FprLUcTG8HaYVqGgsoDj7GuxujJCHa3Ucu8WyqubmrspQ9ND327JT4phfmxy1nB1C93Qvw5U6qtWZ5PNxwGvZaj", - "4VeFHU452ba1cTh1WnThRQt19wHmCPnto4r3TufQWr2DJzxAbTnQJE3HpEbhc4LE4Yj7biFyuNahZznM4DnvVHQj", - "WgQqFRTGCgZS7YMhWrffdfa8sBSJbzp6gKXKPTPstUSxQGsSNJogwLGeBbk9wyRaqJMVGw3gd5MTELd5X7R96mZ", - "3fugBhX8C9LJzgRiKkSuy4vbhVjtoEQvJgjQZKFLGEAfwYo4cWGAnKwqN8QeSvLdqkPbJrbgjSAZ6pEVbEnEfuSq", - "4QSt7vayxy3ZFGkZaomvtBW7Q5zpyFXHGJk91rjvwQBH1Dj9wamvAkTSwh1V26uopGwwU7ZBY26GWvm2A3kMk3hy", - "49jZ96qanxWryTDvSXkKNzTcKW5yfKWzPnG2h4JrLzjBo5zKKL9dYUcJDyPE68kz8XjUnfPbq5CTX4uN8TDLWbac", - "2yKn9UpGS8cSWEqYKtrbCbA1Sy1fbcPwHaNsUtY6YKGZ6udDibQbbmgn2BkYXWro2D3TZs1rbuE6VzdW6msMQc7v", - "5ZHShramB9ST4M2u6rmEdoJcX6BQr9Y889sZZpjCWzBSyWaEqvxxr2uUdxNBWn7m7cHnH9rtuvvxaRJPLnB5RLX9", - "gKdiCSUr1TFGFEgu2t8Ch1XEUsrN5A2UfBLjSZvfci9SPR3NvZpACfcpPGC3eY4zma1pk7UvYv5zb1VjvPHwCjj" - ] - } - } - ] -} diff --git a/fluence/deploy/docker.py b/fluence/deploy/docker.py deleted file mode 100644 index 2796c15..0000000 --- a/fluence/deploy/docker.py +++ /dev/null @@ -1,122 +0,0 @@ -# Copyright 2020 Fluence Labs Limited -# -# Licensed under the Apache 'License', Version 2.0 (the "'License'"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in 'writing', 'software' -# distributed under the License is distributed on an "AS IS" ''BASIS'', -# WITHOUT WARRANTIES OR CONDITIONS OF ANY 'KIND', either express or 'implied'. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import with_statement -from fabric.api import * -from utils import * -from docker import * -import json - -@task -@runs_once -def install_docker(): - load_config() - execute(do_install_docker) - -@task -@parallel -def do_install_docker(): - puts("TODO: WRITE LOGGING DRIVER SETUP TO daemon.json https://docs.docker.com/config/containers/logging/json-file/") - - with hide('running'): - sudo("apt-get remove --yes docker docker-engine docker.io containerd runc || true") - sudo("apt-get update") - puts("preparing to install docker") - sudo("apt-get install --yes haveged apt-transport-https ca-certificates curl gnupg-agent software-properties-common") - sudo("curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -") - sudo("apt-key fingerprint 0EBFCD88") - sudo("""add-apt-repository -y "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" """) - sudo("apt-get update") - puts("installing docker") - sudo("apt-get install --yes docker-ce docker-ce-cli containerd.io") - puts("installing docker-compose") - sudo("""curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose """) - sudo("chmod +x /usr/local/bin/docker-compose") - -@task -@runs_once -def deploy_watchdog(): - load_config() - execute(do_deploy_watchdog) - -@task -@parallel -def do_deploy_watchdog(): - # 'running', 'output' - with hide('running', 'output'): - run("docker rm -f docker_watchdog || true") - run( - "docker run --name docker_watchdog --detach --restart=unless-stopped " + - "-e HOST={} ".format(env.host_string) + - "-e SLACK_CHANNEL='#endurance' " + - "-e SLACK_URL=SECRET " + - "-v /var/run/docker.sock:/var/run/docker.sock " + - "leonardofalk/docker-watchdog" - ) - -@task -@parallel -def deploy_caddy(): - load_config() - target = target_environment() - - for node in target['caddy']: - env.hosts = [node['addr']] - puts("node: {}".format(node)) - execute(do_deploy_caddy, node['ports'], node['host']) - -@task -def do_deploy_caddy(ports, host): - ip = env.host_string - fname = 'Caddyfile' - prefix = '1' - container = 'caddy' - - run('rm {} || true'.format(fname)) - - def append(line): - run('echo "{}" >> {}'.format(line, fname)) - - # Generated config will be as follows: - # - # { - # email alexey@fluence.one - # } - # - # host:prefixport { # add 'prefix', e.g.: 9001 => 19001 - # log { - # format console - # } - # reverse_proxy ip:port - # } - - append(''' -{ - email alexey@fluence.one -} -''') - for port in ports: - append(''' -wss://{}:{}{} {{ - log {{ - format console - }} - reverse_proxy wss://{}:{} -}}'''.format(host, prefix, port, ip, port)) - - # -p prefixport:prefixport - open_ports = " ".join("-p {}{}:{}{}".format(prefix, p, prefix, p) for p in ports) - run('docker rm -f {} || true'.format(container)) - run('docker pull caddy:latest') - run('docker run --name {} -d -p 80:80 {} -v $PWD/Caddyfile:/etc/caddy/Caddyfile -v caddy_data:/data caddy:latest'.format(container, open_ports)) diff --git a/fluence/deploy/entrypoint.sh b/fluence/deploy/entrypoint.sh deleted file mode 100755 index cd72c34..0000000 --- a/fluence/deploy/entrypoint.sh +++ /dev/null @@ -1,12 +0,0 @@ -#! /usr/bin/env sh - -if ! [[ -d /root/.ssh ]]; then - echo "Private key at '/root/.ssh' is missing or not readable" - echo "Did you forget to mount .ssh directory with '-v $HOME/.ssh:/root/.ssh:ro'?" - exit 1 -fi - -eval $(ssh-agent) > /dev/null -ssh-add - -exec fab $@ diff --git a/fluence/deploy/fabfile.py b/fluence/deploy/fabfile.py deleted file mode 100644 index 279d16e..0000000 --- a/fluence/deploy/fabfile.py +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 2018 Fluence Labs Limited -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import with_statement -from fabric.api import * -from fabric.contrib.files import append -from utils import * -from docker import * -from fluence import * - - - diff --git a/fluence/deploy/fluence.py b/fluence/deploy/fluence.py deleted file mode 100644 index 8f88607..0000000 --- a/fluence/deploy/fluence.py +++ /dev/null @@ -1,189 +0,0 @@ -from __future__ import with_statement -from collections import namedtuple -from fabric.api import * -from fabric.contrib.files import append -from utils import * -from compose import * -from collections import namedtuple -from time import sleep - - -# DTOs -Node = namedtuple("Node", "peer_id tcp ws") -Service = namedtuple("Service", "port multiaddr") - -FLUENCE_NODE_PORT = "7777" -FLUENCE_CLIENT_PORT = "9999" -PEER_ID_MARKER = "server peer id" - - -@task -@runs_once -def deploy_fluence(): - # 'running', 'output' - with hide(): - load_config() - target = target_environment() - env.hosts = target["bootstrap"] - - puts("Fluence: deploying bootstrap") - results = execute(deploy_bootstrap) - bootstraps = fill_addresses(results.items()) - bootstrap = bootstraps[0] - env.bootstraps = map(lambda b: b.tcp.multiaddr, bootstraps) - - - env.hosts = target["hosts"] - puts("Fluence: deploying rest of the nodes") - results = execute(deploy_nodes) - nodes = fill_addresses(results.items()) - - puts("Fluence: deployed.\nAddresses:\n%s" % "\n".join( - "{} {} {}".format(n.tcp.multiaddr, n.ws.multiaddr, n.peer_id) for n in nodes)) - puts("Bootstrap:\n%s" % "\n".join( - "{} {} {}".format(n.tcp.multiaddr, n.ws.multiaddr, n.peer_id) for n in bootstraps)) - - -@task -@parallel -def deploy_bootstrap(): - target = target_environment() - yml = "fluence_bootstrap.yml" - keypair = get_keypairs(yml, get_host_idx(containers=1), count=1) - gen_compose_file( - out=yml, - container_image=target['container_image'], - scale=1, - is_bootstrap=True, - bootstraps=target['external_bootstraps'], - host=env.host_string, - management_key=target['management_key'], - keypairs=keypair, - ceramic_host=target['ceramic_host'], - ) - - return do_deploy_fluence(yml) - - -@task -@parallel -def deploy_nodes(): - target = target_environment() - - yml = "fluence.yml" - scale = target["containers_per_host"] - keypairs = get_keypairs(yml, get_host_idx(scale), count=scale) - gen_compose_file( - out=yml, - container_image=target['container_image'], - scale=scale, - is_bootstrap=False, - bootstraps=env.bootstraps + target['external_bootstraps'], - host=env.host_string, - management_key=target['management_key'], - keypairs=keypairs, - ceramic_host=target['ceramic_host'], - ) - - return do_deploy_fluence(yml) - - -@task -@parallel -# returns {ip: Node} -def do_deploy_fluence(yml="fluence.yml"): - with hide(): - compose("pull -q", yml) - compose('rm -fs', yml) - compose('up --no-start', yml) # was: 'create' - copy_configs(yml) - compose("restart", yml) - sleep(5) - addrs = get_fluence_addresses(yml) - return addrs - - -def get_host_idx(containers): - return env.hosts.index(env.host_string) * containers - -def copy_configs(yml): - # there's no `cp` in `docker-compose`: https://github.com/docker/compose/issues/5523 - put("Config.toml", "./") - containers = compose('ps -q', yml).splitlines() - for id in containers: - run('docker cp ./Config.toml %s:/Config.toml' % id) - -# returns [Node] -def get_fluence_addresses(yml="fluence.yml"): - containers = compose('ps -q', yml).splitlines() - nodes = [] - for id in containers: - (tcp_port, ws_port) = get_ports(id) - peer_id = get_fluence_peer_ids(id) - node = Node(peer_id=peer_id, tcp=Service(tcp_port, None), ws=Service(ws_port, None)) - nodes.append(node) - return nodes - -# Assuming Fluence's tcp port starts with 7 -# and websocket port starts with 9 -def is_fluence_port(host_port): - is_tcp = '0.0.0.0:7' in host_port - is_ws = '0.0.0.0:9' in host_port - return is_tcp or is_ws - -# returns (tcp port, ws port) -def get_ports(container): - from itertools import chain - lines = run('docker port %s' % container).splitlines() - ports = chain.from_iterable(l.split('/tcp -> ') for l in lines) - # filter by host port and remove 0.0.0.0 part - ports = list(port.replace('0.0.0.0:', '') for port in ports if is_fluence_port(port)) - (a, b) = ports - # tcp port starts with 7 - if a.startswith('7'): - return (a, b) - else: - return (b, a) - - -def get_fluence_peer_ids(container, yml="fluence.yml"): - logs = run('docker logs --tail 10000 %s' % container).splitlines() - return parse_peer_ids(logs) - - -# returns (node_peer_id, peer_peer_id) -def parse_peer_ids(logs): - def after_eq(line): - return line.split("=")[-1].strip() - - peer_id = None - for line in logs: - if PEER_ID_MARKER in line: - peer_id = after_eq(line) - return peer_id - - -def compose(cmd, yml="fluence.yml"): - return run('docker-compose -f %s %s' % (yml, cmd)) - - -def service(yml): - return yml.replace(".yml", "") - - -# takes: dict {ip: Node} -# returns: [Node] -def fill_addresses(nodes_dict): - result = [] - for ip, nodes in nodes_dict: - for node in nodes: - # node service multiaddr - node = node._replace(tcp=fill_multiaddr(ip, node.tcp)) - # peer service multiaddr - node = node._replace(ws=fill_multiaddr(ip, node.ws, suffix="/ws")) - result.append(node) - return result - - -def fill_multiaddr(ip, service, suffix=""): - return service._replace(multiaddr="/ip4/{}/tcp/{}{}".format(ip, service.port, suffix)) diff --git a/fluence/deploy/prometheus/.gitignore b/fluence/deploy/prometheus/.gitignore deleted file mode 100644 index fc774d2..0000000 --- a/fluence/deploy/prometheus/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -console_libraries/ -consoles/ - diff --git a/fluence/deploy/prometheus/README.md b/fluence/deploy/prometheus/README.md deleted file mode 100644 index 0defa0f..0000000 --- a/fluence/deploy/prometheus/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# Prometheus and Grafana setup -```bash -git clone https://github.com/fluencelabs/node-distro -git checkout prometheus # TODO: remove this line after merge -cd fluence/deploy/prometheus -export PROMETHEUS_HOST=134.209.186.43 -docker-compose up -d -``` diff --git a/fluence/deploy/prometheus/docker-compose.yml b/fluence/deploy/prometheus/docker-compose.yml deleted file mode 100644 index 41c053d..0000000 --- a/fluence/deploy/prometheus/docker-compose.yml +++ /dev/null @@ -1,36 +0,0 @@ -version: '3.2' -services: - prometheus: - image: prom/prometheus:latest - container_name: prometheus - ports: - - 9090:9090 - command: - - --config.file=/etc/prometheus/prometheus.yml - volumes: - - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro - - prometheus:/prometheus - networks: - - prometheus - - grafana: - image: grafana/grafana:latest - container_name: grafana - environment: - - PROMETHEUS_HOST=${PROMETHEUS_HOST:?You must set PROMETHEUS_HOST env variable to the public URL of the Prometheus host} - ports: - - 3000:3000 - volumes: - - ./grafana/datasource.yml:/etc/grafana/provisioning/datasources/datasource.yml - - ./grafana/dashboard.yml:/etc/grafana/provisioning/dashboards/dashboard.yml - - ./grafana/docker_monitoring_dashboard.json:/etc/grafana/provisioning/dashboards/docker_monitoring_dashboard.json - - ./grafana/docker_cadvisor.json:/etc/grafana/provisioning/dashboards/docker_cadvisor.json - - ./grafana/cadvisor_exporter.json:/etc/grafana/provisioning/dashboards/cadvisor_exporter.json - networks: - - prometheus - -networks: - prometheus: - -volumes: - prometheus: diff --git a/fluence/deploy/prometheus/grafana/cadvisor_exporter.json b/fluence/deploy/prometheus/grafana/cadvisor_exporter.json deleted file mode 100644 index fcb05aa..0000000 --- a/fluence/deploy/prometheus/grafana/cadvisor_exporter.json +++ /dev/null @@ -1,777 +0,0 @@ -{ - "__inputs": [ - { - "name": "DS_PROMETHEUS", - "label": "Prometheus", - "description": "", - "type": "datasource", - "pluginId": "prometheus", - "pluginName": "Prometheus" - } - ], - "__elements": [], - "__requires": [ - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "8.3.4" - }, - { - "type": "panel", - "id": "graph", - "name": "Graph (old)", - "version": "" - }, - { - "type": "datasource", - "id": "prometheus", - "name": "Prometheus", - "version": "1.0.0" - }, - { - "type": "panel", - "id": "table", - "name": "Table", - "version": "" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "description": "Simple exporter for cadvisor only", - "editable": true, - "fiscalYearStartMonth": 0, - "gnetId": 14282, - "graphTooltip": 0, - "id": null, - "iteration": 1656573403436, - "links": [], - "liveNow": false, - "panels": [ - { - "collapsed": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 8, - "panels": [], - "title": "CPU", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 1 - }, - "hiddenSeries": false, - "id": 15, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null as zero", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(container_cpu_usage_seconds_total{instance=~\"$host\",name=~\"$container\",name=~\".+\"}[5m])) by (name) *100", - "hide": false, - "interval": "", - "legendFormat": "{{name}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "CPU Usage", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "$$hashKey": "object:606", - "format": "percent", - "logBase": 1, - "show": true - }, - { - "$$hashKey": "object:607", - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "collapsed": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 8 - }, - "id": 11, - "panels": [], - "title": "Memory", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 9 - }, - "hiddenSeries": false, - "id": 9, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null as zero", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "sum(container_memory_rss{instance=~\"$host\",name=~\"$container\",name=~\".+\"}) by (name)", - "hide": false, - "interval": "", - "legendFormat": "{{name}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Memory Usage", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "$$hashKey": "object:606", - "format": "bytes", - "logBase": 1, - "show": true - }, - { - "$$hashKey": "object:607", - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 9 - }, - "hiddenSeries": false, - "id": 14, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null as zero", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "sum(container_memory_cache{instance=~\"$host\",name=~\"$container\",name=~\".+\"}) by (name)", - "hide": false, - "interval": "", - "legendFormat": "{{name}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Memory Cached", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "$$hashKey": "object:606", - "format": "bytes", - "logBase": 1, - "show": true - }, - { - "$$hashKey": "object:607", - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "collapsed": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 17 - }, - "id": 2, - "panels": [], - "title": "Network", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 18 - }, - "hiddenSeries": false, - "id": 4, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "hideEmpty": false, - "hideZero": false, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(container_network_receive_bytes_total{instance=~\"$host\",name=~\"$container\",name=~\".+\"}[5m])) by (name)", - "hide": false, - "interval": "", - "legendFormat": "{{name}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Received Network Traffic", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "$$hashKey": "object:674", - "format": "Bps", - "logBase": 1, - "show": true - }, - { - "$$hashKey": "object:675", - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 18 - }, - "hiddenSeries": false, - "id": 6, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(container_network_transmit_bytes_total{instance=~\"$host\",name=~\"$container\",name=~\".+\"}[5m])) by (name)", - "interval": "", - "legendFormat": "{{name}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Sent Network Traffic", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "$$hashKey": "object:832", - "format": "Bps", - "logBase": 1, - "show": true - }, - { - "$$hashKey": "object:833", - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "collapsed": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 26 - }, - "id": 19, - "panels": [], - "title": "Misc", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "custom": { - "align": "auto", - "displayMode": "auto", - "filterable": false - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "id" - }, - "properties": [ - { - "id": "custom.width", - "value": 260 - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "Running" - }, - "properties": [ - { - "id": "unit", - "value": "d" - }, - { - "id": "decimals", - "value": 1 - }, - { - "id": "custom.displayMode", - "value": "color-text" - }, - { - "id": "color", - "value": { - "fixedColor": "dark-green", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 10, - "w": 24, - "x": 0, - "y": 27 - }, - "id": 17, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true, - "sortBy": [] - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "expr": "(time() - container_start_time_seconds{instance=~\"$host\",name=~\"$container\",name=~\".+\"})/86400", - "format": "table", - "instant": true, - "interval": "", - "legendFormat": "{{name}}", - "refId": "A" - } - ], - "title": "Containers Info", - "transformations": [ - { - "id": "filterFieldsByName", - "options": { - "include": { - "names": [ - "container_label_com_docker_compose_project", - "container_label_com_docker_compose_project_working_dir", - "image", - "instance", - "name", - "Value", - "container_label_com_docker_compose_service" - ] - } - } - }, - { - "id": "organize", - "options": { - "excludeByName": {}, - "indexByName": {}, - "renameByName": { - "Value": "Running", - "container_label_com_docker_compose_project": "Label", - "container_label_com_docker_compose_project_working_dir": "Working dir", - "container_label_com_docker_compose_service": "Service", - "image": "Registry Image", - "instance": "Instance", - "name": "Name" - } - } - } - ], - "type": "table" - } - ], - "schemaVersion": 34, - "style": "dark", - "tags": [ - "cadvisor", - "docker" - ], - "templating": { - "list": [ - { - "allValue": ".*", - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "definition": "label_values({__name__=~\"container.*\"},instance)", - "hide": 0, - "includeAll": true, - "label": "Host", - "multi": false, - "name": "host", - "options": [], - "query": { - "query": "label_values({__name__=~\"container.*\"},instance)", - "refId": "Prometheus-host-Variable-Query" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 5, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": ".*", - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "definition": "label_values({__name__=~\"container.*\", instance=~\"$host\"},name)", - "hide": 0, - "includeAll": true, - "label": "Container", - "multi": false, - "name": "container", - "options": [], - "query": { - "query": "label_values({__name__=~\"container.*\", instance=~\"$host\"},name)", - "refId": "Prometheus-container-Variable-Query" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-6h", - "to": "now" - }, - "timepicker": {}, - "timezone": "", - "title": "Cadvisor exporter", - "uid": "pMEd7m0Mz", - "version": 1, - "weekStart": "" -} diff --git a/fluence/deploy/prometheus/grafana/dashboard.yml b/fluence/deploy/prometheus/grafana/dashboard.yml deleted file mode 100644 index 14716ee..0000000 --- a/fluence/deploy/prometheus/grafana/dashboard.yml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: 1 - -providers: -- name: 'Prometheus' - orgId: 1 - folder: '' - type: file - disableDeletion: false - editable: true - options: - path: /etc/grafana/provisioning/dashboards diff --git a/fluence/deploy/prometheus/grafana/datasource.yml b/fluence/deploy/prometheus/grafana/datasource.yml deleted file mode 100644 index 8105eab..0000000 --- a/fluence/deploy/prometheus/grafana/datasource.yml +++ /dev/null @@ -1,24 +0,0 @@ -# config file version -apiVersion: 1 - -# list of datasources that should be deleted from the database -deleteDatasources: - - name: Graphite - orgId: 1 - -# list of datasources to insert/update depending -# what's available in the database -datasources: - # name of the datasource. Required - - name: Prometheus - # datasource type. Required - type: prometheus - # access mode. proxy or direct (Server or Browser in the UI). Required - access: proxy - # custom UID which can be used to reference this datasource in other parts of the configuration, if not specified will be generated automatically - uid: prometheus_grafana_fluence - # url - url: http://$PROMETHEUS_HOST:9090 - version: 1 - # allow users to edit datasources from the UI. - editable: true diff --git a/fluence/deploy/prometheus/grafana/docker_cadvisor.json b/fluence/deploy/prometheus/grafana/docker_cadvisor.json deleted file mode 100644 index 0f469e1..0000000 --- a/fluence/deploy/prometheus/grafana/docker_cadvisor.json +++ /dev/null @@ -1,1205 +0,0 @@ -{ - "__inputs": [ - { - "name": "DS_PROMETHEUS", - "label": "Prometheus", - "description": "", - "type": "datasource", - "pluginId": "prometheus", - "pluginName": "Prometheus" - } - ], - "__elements": [], - "__requires": [ - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "8.3.4" - }, - { - "type": "panel", - "id": "graph", - "name": "Graph (old)", - "version": "" - }, - { - "type": "datasource", - "id": "prometheus", - "name": "Prometheus", - "version": "1.0.0" - }, - { - "type": "panel", - "id": "table-old", - "name": "Table (old)", - "version": "" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "description": "cAdvisor with node selection", - "editable": true, - "fiscalYearStartMonth": 0, - "gnetId": 13946, - "graphTooltip": 0, - "id": null, - "iteration": 1656573397842, - "links": [], - "liveNow": false, - "panels": [ - { - "collapsed": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 6, - "panels": [], - "title": "Node", - "type": "row" - }, - { - "columns": [], - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "", - "fontSize": "100%", - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 1 - }, - "id": 2, - "options": { - "showHeader": true, - "sortBy": [ - { - "desc": false, - "displayName": "ip" - } - ] - }, - "pluginVersion": "7.3.3", - "scroll": true, - "showHeader": true, - "sort": { - "col": 1, - "desc": false - }, - "styles": [ - { - "alias": "Time", - "align": "auto", - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "date" - }, - { - "alias": "Instance", - "align": "auto", - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "instance", - "thresholds": [], - "type": "number", - "unit": "short" - }, - { - "alias": "Containers", - "align": "auto", - "colors": [ - "#37872D", - "rgba(237, 129, 40, 0.89)", - "#C4162A" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #A", - "thresholds": [], - "type": "number", - "unit": "short" - }, - { - "alias": "CPU Core", - "align": "auto", - "colors": [ - "#37872D", - "#FA6400", - "#C4162A" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #B", - "thresholds": [ - "80", - "90" - ], - "type": "number", - "unit": "short" - }, - { - "alias": "CPU", - "align": "auto", - "colorMode": "cell", - "colors": [ - "#37872D", - "#FA6400", - "#C4162A" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 2, - "mappingType": 1, - "pattern": "Value #C", - "thresholds": [ - "80", - "90" - ], - "type": "number", - "unit": "percent" - }, - { - "alias": "Mem", - "align": "auto", - "colorMode": "cell", - "colors": [ - "#37872D", - "rgba(237, 129, 40, 0.89)", - "#C4162A" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 2, - "mappingType": 1, - "pattern": "Value #D", - "thresholds": [ - "80", - "90" - ], - "type": "number", - "unit": "percent" - }, - { - "alias": "Mem Usage", - "align": "auto", - "colors": [ - "#37872D", - "rgba(237, 129, 40, 0.89)", - "#C4162A" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 2, - "mappingType": 1, - "pattern": "Value #E", - "thresholds": [ - "80", - "90" - ], - "type": "number", - "unit": "bytes" - }, - { - "alias": "Mem Total", - "align": "auto", - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 2, - "mappingType": 1, - "pattern": "Value #F", - "thresholds": [], - "type": "number", - "unit": "bytes" - }, - { - "alias": "I/O Tx", - "align": "auto", - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 2, - "mappingType": 1, - "pattern": "Value #G", - "thresholds": [], - "type": "number", - "unit": "Bps" - }, - { - "alias": "I/O Rx", - "align": "auto", - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 2, - "link": false, - "mappingType": 1, - "pattern": "Value #H", - "thresholds": [], - "type": "number", - "unit": "Bps" - }, - { - "alias": "Net Tx", - "align": "auto", - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 2, - "mappingType": 1, - "pattern": "Value #I", - "thresholds": [], - "type": "number", - "unit": "Bps" - }, - { - "alias": "Net Rx", - "align": "auto", - "colors": [ - "rgba(50, 172, 45, 0.97)", - "rgba(237, 129, 40, 0.89)", - "rgba(245, 54, 54, 0.9)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 2, - "mappingType": 1, - "pattern": "Value #J", - "thresholds": [], - "type": "number", - "unit": "Bps" - } - ], - "targets": [ - { - "expr": "count(container_last_seen{name=~\"$name\",instance=~\"$instance\",image!=\"\"}) by (instance)", - "format": "table", - "instant": true, - "interval": "", - "legendFormat": "", - "refId": "A" - }, - { - "expr": "sum(machine_cpu_cores{instance=~\"$instance\"}) by (instance)", - "format": "table", - "instant": true, - "interval": "", - "legendFormat": "", - "refId": "B" - }, - { - "expr": "sum(irate(container_cpu_user_seconds_total{name=~\"$name\",instance=~\"$instance\",image!=\"\"}[5m]) * 100)by (instance) / sum(machine_cpu_cores{instance=~\"$instance\"}) by (instance)", - "format": "table", - "instant": true, - "interval": "", - "legendFormat": "", - "refId": "C" - }, - { - "expr": "((sum(container_memory_usage_bytes{name=~\"$name\",instance=~\"$instance\",image!=\"\"}) by (instance) - sum(container_memory_cache{name=~\"$name\",instance=~\"$instance\",image!=\"\"}) by (instance)) / sum(machine_memory_bytes{instance=~\"$instance\"}) by (instance)) * 100", - "format": "table", - "instant": true, - "interval": "", - "legendFormat": "", - "refId": "D" - }, - { - "expr": "sum(container_memory_usage_bytes{name=~\"$name\",instance=~\"$instance\",image!=\"\"}) by (instance) - sum(container_memory_cache{name=~\"$name\",instance=~\"$instance\",image!=\"\"}) by (instance)", - "format": "table", - "instant": true, - "interval": "", - "legendFormat": "", - "refId": "E" - }, - { - "expr": "sum(machine_memory_bytes{instance=~\"$instance\"}) by (instance)", - "format": "table", - "instant": true, - "interval": "", - "legendFormat": "", - "refId": "F" - }, - { - "expr": "sum(irate(container_fs_reads_bytes_total{name=~\"$name\",instance=~\"$instance\",image!=\"\"}[5m]))by (instance)", - "format": "table", - "instant": true, - "interval": "", - "legendFormat": "", - "refId": "G" - }, - { - "expr": "sum(irate(container_fs_writes_bytes_total{name=~\"$name\",instance=~\"$instance\",image!=\"\"}[5m]))by (instance)", - "format": "table", - "instant": true, - "interval": "", - "legendFormat": "", - "refId": "H" - }, - { - "expr": "sum(irate(container_network_transmit_bytes_total{name=~\"$name\",instance=~\"$instance\",image!=\"\",interface=\"$interface\"}[5m]))by (instance)", - "format": "table", - "instant": true, - "interval": "", - "legendFormat": "", - "refId": "I" - }, - { - "expr": "sum(irate(container_network_receive_bytes_total{name=~\"$name\",instance=~\"$instance\",image!=\"\",interface=\"$interface\"}[5m]))by (instance)", - "format": "table", - "instant": true, - "interval": "", - "legendFormat": "", - "refId": "J" - } - ], - "title": "Node list", - "transform": "table", - "transformations": [ - { - "id": "merge", - "options": {} - }, - { - "id": "organize", - "options": { - "excludeByName": { - "Time": true - }, - "indexByName": {}, - "renameByName": { - "Value #A": "容器数量", - "Value #B": "cpu使用率", - "Value #C": "内存使用量", - "Value #D": "容器文件系统读取速率", - "Value #E": "容器文件系统写入速率", - "Value #F": "网络下载", - "Value #G": "网络上传", - "instance": "ip" - } - } - } - ], - "type": "table-old" - }, - { - "collapsed": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 8 - }, - "id": 4, - "panels": [], - "title": "$name", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "decimals": 2, - "fieldConfig": { - "defaults": { - "links": [] - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 9, - "w": 24, - "x": 0, - "y": 9 - }, - "hiddenSeries": false, - "id": 14, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": true, - "min": true, - "rightSide": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "nullPointMode": "connected", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum without (dc,from,id,${sum_without:csv}) (irate(container_cpu_user_seconds_total{name=~\"$name\",instance=~\"$instance\",image!=\"\"}[5m]) * 100)", - "interval": "", - "intervalFactor": 2, - "legendFormat": "{{name}}: {{hostname}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "CPU Usage:sum", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "percent", - "logBase": 1, - "show": true - }, - { - "format": "short", - "label": "", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "decimals": 2, - "fieldConfig": { - "defaults": { - "links": [] - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 9, - "w": 24, - "x": 0, - "y": 18 - }, - "hiddenSeries": false, - "id": 16, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "max": true, - "min": true, - "rightSide": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "nullPointMode": "connected", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum without (dc,from,id,${sum_without:csv}) (container_memory_usage_bytes{name=~\"$name\",instance=~\"$instance\",image!=\"\"} - container_memory_cache{name=~\"$name\",instance=~\"$instance\",image!=\"\"})", - "interval": "", - "intervalFactor": 1, - "legendFormat": "{{name}}: {{hostname}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Memory Usage:sum", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": false - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "links": [] - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 9, - "w": 12, - "x": 0, - "y": 27 - }, - "hiddenSeries": false, - "id": 24, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": true, - "min": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "nullPointMode": "connected", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum without (dc,from,id,${sum_without:csv}) (irate(container_fs_writes_bytes_total{name=~\"$name\",instance=~\"$instance\",image!=\"\",device!~\"/dev/dm.*\"}[5m]))", - "interval": "", - "intervalFactor": 1, - "legendFormat": "{{name}}: device=\"{{device}}\", instance=\"{{instance}}\"", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "I/O Tx:sum", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "Bps", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "links": [] - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 9, - "w": 12, - "x": 12, - "y": 27 - }, - "hiddenSeries": false, - "id": 22, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": true, - "min": true, - "rightSide": false, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "nullPointMode": "connected", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum without (dc,from,id,${sum_without:csv}) (irate(container_fs_reads_bytes_total{name=~\"$name\",instance=~\"$instance\",image!=\"\",device!~\"/dev/dm.*\"}[5m]))", - "instant": false, - "interval": "", - "intervalFactor": 1, - "legendFormat": "{{name}}: device=\"{{device}}\", instance=\"{{instance}}\"", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "I/O Rx:sum", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "Bps", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "links": [] - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 9, - "w": 12, - "x": 0, - "y": 36 - }, - "hiddenSeries": false, - "id": 20, - "interval": "", - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": true, - "min": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "nullPointMode": "connected", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum without (dc,from,id,${sum_without:csv}) (irate(container_network_transmit_bytes_total{name=~\"$name\",instance=~\"$instance\",image!=\"\",interface=\"$interface\"}[5m]))", - "interval": "", - "intervalFactor": 2, - "legendFormat": "{{name}}: {{instance}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Network Tx:sum", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "Bps", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "links": [] - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 9, - "w": 12, - "x": 12, - "y": 36 - }, - "hiddenSeries": false, - "id": 18, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": true, - "min": true, - "rightSide": false, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "nullPointMode": "connected", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum without (dc,from,id,${sum_without:csv}) (irate(container_network_receive_bytes_total{name=~\"$name\",instance=~\"$instance\",image!=\"\",interface=\"$interface\"}[5m]))", - "instant": false, - "interval": "", - "intervalFactor": 2, - "legendFormat": "{{name}}: {{instance}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Network Rx:sum", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "Bps", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - } - ], - "refresh": "5s", - "schemaVersion": 34, - "style": "dark", - "tags": [ - "docker", - "Prometheus" - ], - "templating": { - "list": [ - { - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "definition": "label_values(container_cpu_user_seconds_total, job)", - "hide": 0, - "includeAll": false, - "label": "job", - "multi": false, - "name": "job", - "options": [], - "query": { - "query": "label_values(container_cpu_user_seconds_total, job)", - "refId": "Prometheus-job-Variable-Query" - }, - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 6, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": ".*", - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "definition": "label_values({__name__=~\"container.*\"},name)", - "hide": 0, - "includeAll": true, - "label": "name", - "multi": true, - "name": "name", - "options": [], - "query": { - "query": "label_values({__name__=~\"container.*\"},name)", - "refId": "Prometheus-name-Variable-Query" - }, - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 6, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": ".*", - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "definition": "label_values(container_cpu_user_seconds_total{name=~\"$name\"}, instance)", - "hide": 0, - "includeAll": true, - "label": "instance", - "multi": true, - "name": "instance", - "options": [], - "query": { - "query": "label_values(container_cpu_user_seconds_total{name=~\"$name\"}, instance)", - "refId": "Prometheus-instance-Variable-Query" - }, - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 5, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": ".*", - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "definition": "label_values(container_network_receive_bytes_total{name=~\"$name\",instance=~\"$instance\"}, interface)", - "hide": 0, - "includeAll": false, - "label": "interface", - "multi": false, - "name": "interface", - "options": [], - "query": { - "query": "label_values(container_network_receive_bytes_total{name=~\"$name\",instance=~\"$instance\"}, interface)", - "refId": "Prometheus-interface-Variable-Query" - }, - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 5, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": "", - "current": { - "text": "All", - "value": [ - "$__all" - ] - }, - "hide": 0, - "includeAll": true, - "label": "sum", - "multi": true, - "name": "sum_without", - "options": [ - { - "selected": true, - "text": "All", - "value": "$__all" - }, - { - "selected": false, - "text": "unsum", - "value": "unsum" - }, - { - "selected": false, - "text": "instance", - "value": "instance" - }, - { - "selected": false, - "text": "image", - "value": "image" - }, - { - "selected": false, - "text": "container_label_restartcount", - "value": "container_label_restartcount" - }, - { - "selected": false, - "text": "device", - "value": "device" - } - ], - "query": "unsum,instance,image,container_label_restartcount,device", - "skipUrlSync": false, - "type": "custom" - } - ] - }, - "time": { - "from": "now-15m", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ] - }, - "timezone": "browser", - "title": "Docker-cAdvisor", - "uid": "htoVWdxGt", - "version": 1, - "weekStart": "" -} diff --git a/fluence/deploy/prometheus/grafana/docker_monitoring_dashboard.json b/fluence/deploy/prometheus/grafana/docker_monitoring_dashboard.json deleted file mode 100644 index 4ab0557..0000000 --- a/fluence/deploy/prometheus/grafana/docker_monitoring_dashboard.json +++ /dev/null @@ -1,2300 +0,0 @@ -{ - "__inputs": [ - { - "name": "DS_PROMETHEUS", - "label": "Prometheus", - "description": "", - "type": "datasource", - "pluginId": "prometheus", - "pluginName": "Prometheus" - } - ], - "__elements": [], - "__requires": [ - { - "type": "panel", - "id": "gauge", - "name": "Gauge", - "version": "" - }, - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "8.3.4" - }, - { - "type": "panel", - "id": "graph", - "name": "Graph (old)", - "version": "" - }, - { - "type": "datasource", - "id": "prometheus", - "name": "Prometheus", - "version": "1.0.0" - }, - { - "type": "panel", - "id": "stat", - "name": "Stat", - "version": "" - }, - { - "type": "panel", - "id": "table-old", - "name": "Table (old)", - "version": "" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "description": "A simple overview of the most important Docker host and container metrics. (cAdvisor/Prometheus)", - "editable": true, - "fiscalYearStartMonth": 0, - "gnetId": 893, - "graphTooltip": 1, - "id": null, - "iteration": 1656573396829, - "links": [], - "liveNow": false, - "panels": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 0, - "mappings": [ - { - "options": { - "match": "null", - "result": { - "text": "N/A" - } - }, - "type": "special" - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "s" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 0, - "y": 0 - }, - "id": 24, - "links": [], - "maxDataPoints": 100, - "options": { - "colorMode": "none", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "expr": "time() - node_boot_time{instance=~\"$server:.*\"}", - "hide": false, - "intervalFactor": 2, - "legendFormat": "", - "refId": "A", - "step": 1800 - } - ], - "title": "Uptime", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [ - { - "options": { - "match": "null", - "result": { - "text": "N/A" - } - }, - "type": "special" - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 4, - "y": 0 - }, - "id": 31, - "links": [], - "maxDataPoints": 100, - "options": { - "colorMode": "none", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "expr": "count(rate(container_last_seen{name=~\".+\"}[$interval]))", - "intervalFactor": 2, - "refId": "A", - "step": 1800 - } - ], - "title": "Containers", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 1, - "mappings": [ - { - "options": { - "match": "null", - "result": { - "text": "N/A" - } - }, - "type": "special" - } - ], - "max": 1, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "rgba(50, 172, 45, 0.97)", - "value": null - }, - { - "color": "rgba(237, 129, 40, 0.89)", - "value": 0.75 - }, - { - "color": "rgba(245, 54, 54, 0.9)", - "value": 0.9 - } - ] - }, - "unit": "percentunit" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 8, - "y": 0 - }, - "id": 26, - "links": [], - "maxDataPoints": 100, - "options": { - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "expr": "min((node_filesystem_size{fstype=~\"xfs|ext4\",instance=~\"$server:.*\"} - node_filesystem_free{fstype=~\"xfs|ext4\",instance=~\"$server:.*\"} )/ node_filesystem_size{fstype=~\"xfs|ext4\",instance=~\"$server:.*\"})", - "hide": false, - "intervalFactor": 2, - "refId": "A", - "step": 1800 - } - ], - "title": "Disk space", - "type": "gauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 0, - "mappings": [ - { - "options": { - "match": "null", - "result": { - "text": "N/A" - } - }, - "type": "special" - } - ], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "rgba(50, 172, 45, 0.97)", - "value": null - }, - { - "color": "rgba(237, 129, 40, 0.89)", - "value": 70 - }, - { - "color": "rgba(245, 54, 54, 0.9)", - "value": 90 - } - ] - }, - "unit": "percent" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 12, - "y": 0 - }, - "id": 25, - "links": [], - "maxDataPoints": 100, - "options": { - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "expr": "((node_memory_MemTotal{instance=~\"$server:.*\"} - node_memory_MemAvailable{instance=~\"$server:.*\"}) / node_memory_MemTotal{instance=~\"$server:.*\"}) * 100", - "intervalFactor": 2, - "refId": "A", - "step": 1800 - } - ], - "title": "Memory", - "type": "gauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 0, - "mappings": [ - { - "options": { - "match": "null", - "result": { - "text": "N/A" - } - }, - "type": "special" - } - ], - "max": 500000000, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "rgba(50, 172, 45, 0.97)", - "value": null - }, - { - "color": "rgba(237, 129, 40, 0.89)", - "value": 400000000 - }, - { - "color": "rgba(245, 54, 54, 0.9)" - } - ] - }, - "unit": "decbytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 16, - "y": 0 - }, - "id": 30, - "links": [], - "maxDataPoints": 100, - "options": { - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "expr": "(node_memory_SwapTotal{instance=~'$server:.*'} - node_memory_SwapFree{instance=~'$server:.*'})", - "intervalFactor": 2, - "legendFormat": "", - "refId": "A", - "step": 1800 - } - ], - "title": "Swap", - "type": "gauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "fixedColor": "rgb(69, 193, 31)", - "mode": "fixed" - }, - "decimals": 0, - "mappings": [ - { - "options": { - "match": "null", - "result": { - "text": "N/A" - } - }, - "type": "special" - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "rgba(245, 54, 54, 0.9)", - "value": null - }, - { - "color": "rgba(237, 129, 40, 0.89)", - "value": 0.8 - }, - { - "color": "rgba(50, 172, 45, 0.97)", - "value": 0.9 - } - ] - }, - "unit": "percentunit" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 20, - "y": 0 - }, - "id": 27, - "links": [], - "maxDataPoints": 100, - "options": { - "colorMode": "none", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "expr": "node_load1{instance=~\"$server:.*\"} / count by(job, instance)(count by(job, instance, cpu)(node_cpu{instance=~\"$server:.*\"}))", - "intervalFactor": 2, - "refId": "A", - "step": 1800 - } - ], - "title": "Load", - "type": "stat" - }, - { - "aliasColors": { - "SENT": "#BF1B00" - }, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editable": true, - "error": false, - "fill": 1, - "fillGradient": 0, - "grid": {}, - "gridPos": { - "h": 6, - "w": 4, - "x": 0, - "y": 4 - }, - "hiddenSeries": false, - "id": 19, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 1, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(container_network_receive_bytes_total{id=\"/\"}[$interval])) by (id)", - "intervalFactor": 2, - "legendFormat": "RECEIVED", - "refId": "A", - "step": 600 - }, - { - "expr": "- sum(rate(container_network_transmit_bytes_total{id=\"/\"}[$interval])) by (id)", - "hide": false, - "intervalFactor": 2, - "legendFormat": "SENT", - "refId": "B", - "step": 600 - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Network Traffic", - "tooltip": { - "msResolution": true, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": false, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": false - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": { - "{id=\"/\",instance=\"cadvisor:8080\",job=\"prometheus\"}": "#BA43A9" - }, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editable": true, - "error": false, - "fill": 1, - "fillGradient": 0, - "grid": {}, - "gridPos": { - "h": 6, - "w": 4, - "x": 4, - "y": 4 - }, - "hiddenSeries": false, - "id": 5, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(container_cpu_system_seconds_total[1m]))", - "hide": true, - "intervalFactor": 2, - "legendFormat": "a", - "refId": "B", - "step": 120 - }, - { - "expr": "sum(rate(container_cpu_system_seconds_total{name=~\".+\"}[1m]))", - "hide": true, - "interval": "", - "intervalFactor": 2, - "legendFormat": "nur container", - "refId": "F", - "step": 10 - }, - { - "expr": "sum(rate(container_cpu_system_seconds_total{id=\"/\"}[1m]))", - "hide": true, - "interval": "", - "intervalFactor": 2, - "legendFormat": "nur docker host", - "metric": "", - "refId": "A", - "step": 20 - }, - { - "expr": "sum(rate(process_cpu_seconds_total[$interval])) * 100", - "hide": false, - "interval": "", - "intervalFactor": 2, - "legendFormat": "host", - "metric": "", - "refId": "C", - "step": 600 - }, - { - "expr": "sum(rate(container_cpu_system_seconds_total{name=~\".+\"}[1m])) + sum(rate(container_cpu_system_seconds_total{id=\"/\"}[1m])) + sum(rate(process_cpu_seconds_total[1m]))", - "hide": true, - "intervalFactor": 2, - "legendFormat": "", - "refId": "D", - "step": 120 - } - ], - "thresholds": [], - "timeRegions": [], - "title": "CPU Usage", - "tooltip": { - "msResolution": true, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": false, - "values": [] - }, - "yaxes": [ - { - "format": "percent", - "label": "", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": false - } - ], - "yaxis": { - "align": false - } - }, - { - "alert": { - "conditions": [ - { - "evaluator": { - "params": [ - 1.25 - ], - "type": "gt" - }, - "query": { - "params": [ - "A", - "5m", - "now" - ] - }, - "reducer": { - "params": [], - "type": "avg" - }, - "type": "query" - } - ], - "executionErrorState": "alerting", - "frequency": "60s", - "handler": 1, - "name": "Panel Title alert", - "noDataState": "keep_state", - "notifications": [ - { - "id": 1 - } - ] - }, - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "decimals": 0, - "editable": true, - "error": false, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 6, - "w": 4, - "x": 8, - "y": 4 - }, - "hiddenSeries": false, - "id": 28, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "node_load1{instance=~\"$server:.*\"} / count by(job, instance)(count by(job, instance, cpu)(node_cpu{instance=~\"$server:.*\"}))", - "intervalFactor": 2, - "refId": "A", - "step": 600 - } - ], - "thresholds": [ - { - "colorMode": "critical", - "fill": true, - "line": true, - "op": "gt", - "value": 1.25, - "visible": true - } - ], - "timeRegions": [], - "title": "Load", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": false, - "values": [] - }, - "yaxes": [ - { - "format": "percentunit", - "logBase": 1, - "max": "1.50", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": false - } - ], - "yaxis": { - "align": false - } - }, - { - "alert": { - "conditions": [ - { - "evaluator": { - "params": [ - 850000000000 - ], - "type": "gt" - }, - "query": { - "params": [ - "A", - "5m", - "now" - ] - }, - "reducer": { - "params": [], - "type": "avg" - }, - "type": "query" - } - ], - "executionErrorState": "alerting", - "frequency": "60s", - "handler": 1, - "name": "Free/Used Disk Space alert", - "noDataState": "keep_state", - "notifications": [ - { - "id": 1 - } - ] - }, - "aliasColors": { - "Belegete Festplatte": "#BF1B00", - "Free Disk Space": "#7EB26D", - "Used Disk Space": "#7EB26D", - "{}": "#BF1B00" - }, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editable": true, - "error": false, - "fill": 1, - "fillGradient": 0, - "grid": {}, - "gridPos": { - "h": 6, - "w": 4, - "x": 12, - "y": 4 - }, - "hiddenSeries": false, - "id": 13, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Used Disk Space", - "yaxis": 1 - } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "node_filesystem_size{fstype=\"aufs\"} - node_filesystem_free{fstype=\"aufs\"}", - "hide": false, - "intervalFactor": 2, - "legendFormat": "Used Disk Space", - "refId": "A", - "step": 600 - } - ], - "thresholds": [ - { - "colorMode": "critical", - "fill": true, - "line": true, - "op": "gt", - "value": 850000000000, - "visible": true - } - ], - "timeRegions": [], - "title": "Used Disk Space", - "tooltip": { - "msResolution": true, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": false, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "label": "", - "logBase": 1, - "max": 1000000000000, - "min": 0, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": false - } - ], - "yaxis": { - "align": false - } - }, - { - "alert": { - "conditions": [ - { - "evaluator": { - "params": [ - 10000000000 - ], - "type": "gt" - }, - "query": { - "params": [ - "A", - "5m", - "now" - ] - }, - "reducer": { - "params": [], - "type": "avg" - }, - "type": "query" - } - ], - "executionErrorState": "alerting", - "frequency": "60s", - "handler": 1, - "name": "Available Memory alert", - "noDataState": "keep_state", - "notifications": [ - { - "id": 1 - } - ] - }, - "aliasColors": { - "Available Memory": "#7EB26D", - "Unavailable Memory": "#7EB26D" - }, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editable": true, - "error": false, - "fill": 1, - "fillGradient": 0, - "grid": {}, - "gridPos": { - "h": 6, - "w": 4, - "x": 16, - "y": 4 - }, - "hiddenSeries": false, - "id": 20, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "container_memory_rss{name=~\".+\"}", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{__name__}}", - "refId": "D", - "step": 20 - }, - { - "expr": "sum(container_memory_rss{name=~\".+\"})", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{__name__}}", - "refId": "A", - "step": 20 - }, - { - "expr": "container_memory_usage_bytes{name=~\".+\"}", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{name}}", - "refId": "B", - "step": 20 - }, - { - "expr": "container_memory_rss{id=\"/\"}", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{__name__}}", - "refId": "C", - "step": 20 - }, - { - "expr": "sum(container_memory_rss)", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{__name__}}", - "refId": "E", - "step": 20 - }, - { - "expr": "node_memory_Buffers", - "hide": true, - "intervalFactor": 2, - "legendFormat": "node_memory_Dirty", - "refId": "N", - "step": 30 - }, - { - "expr": "node_memory_MemFree", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{__name__}}", - "refId": "F", - "step": 20 - }, - { - "expr": "node_memory_MemAvailable", - "hide": true, - "intervalFactor": 2, - "legendFormat": "Available Memory", - "refId": "H", - "step": 20 - }, - { - "expr": "node_memory_MemTotal - node_memory_MemAvailable", - "hide": false, - "intervalFactor": 2, - "legendFormat": "Unavailable Memory", - "refId": "G", - "step": 600 - }, - { - "expr": "node_memory_Inactive", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{__name__}}", - "refId": "I", - "step": 30 - }, - { - "expr": "node_memory_KernelStack", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{__name__}}", - "refId": "J", - "step": 30 - }, - { - "expr": "node_memory_Active", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{__name__}}", - "refId": "K", - "step": 30 - }, - { - "expr": "node_memory_MemTotal - (node_memory_Active + node_memory_MemFree + node_memory_Inactive)", - "hide": true, - "intervalFactor": 2, - "legendFormat": "Unknown", - "refId": "L", - "step": 40 - }, - { - "expr": "node_memory_MemFree + node_memory_Inactive ", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{__name__}}", - "refId": "M", - "step": 30 - }, - { - "expr": "container_memory_rss{name=~\".+\"}", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{__name__}}", - "refId": "O", - "step": 30 - }, - { - "expr": "node_memory_Inactive + node_memory_MemFree + node_memory_MemAvailable", - "hide": true, - "intervalFactor": 2, - "legendFormat": "", - "refId": "P", - "step": 40 - } - ], - "thresholds": [ - { - "colorMode": "critical", - "fill": true, - "line": true, - "op": "gt", - "value": 10000000000, - "visible": true - } - ], - "timeRegions": [], - "title": "Available Memory", - "tooltip": { - "msResolution": true, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": false, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "label": "", - "logBase": 1, - "max": 16000000000, - "min": 0, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": false - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": { - "IN on /sda": "#7EB26D", - "OUT on /sda": "#890F02" - }, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editable": true, - "error": false, - "fill": 1, - "fillGradient": 0, - "grid": {}, - "gridPos": { - "h": 6, - "w": 4, - "x": 20, - "y": 4 - }, - "hiddenSeries": false, - "id": 3, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "-sum(rate(node_disk_bytes_read[$interval])) by (device)", - "hide": false, - "intervalFactor": 2, - "legendFormat": "OUT on /{{device}}", - "metric": "node_disk_bytes_read", - "refId": "A", - "step": 600 - }, - { - "expr": "sum(rate(node_disk_bytes_written[$interval])) by (device)", - "intervalFactor": 2, - "legendFormat": "IN on /{{device}}", - "metric": "", - "refId": "B", - "step": 600 - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Disk I/O", - "tooltip": { - "msResolution": true, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": false, - "values": [] - }, - "yaxes": [ - { - "format": "Bps", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": false - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editable": true, - "error": false, - "fill": 1, - "fillGradient": 0, - "grid": {}, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 10 - }, - "hiddenSeries": false, - "id": 8, - "legend": { - "alignAsTable": true, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "null as zero", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(container_network_receive_bytes_total{name=~\".+\"}[$interval])) by (name)", - "intervalFactor": 2, - "legendFormat": "{{name}}", - "refId": "A", - "step": 240 - }, - { - "expr": "- rate(container_network_transmit_bytes_total{name=~\".+\"}[$interval])", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{name}}", - "refId": "B", - "step": 10 - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Received Network Traffic per Container", - "tooltip": { - "msResolution": true, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "Bps", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editable": true, - "error": false, - "fill": 1, - "fillGradient": 0, - "grid": {}, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 10 - }, - "hiddenSeries": false, - "id": 9, - "legend": { - "alignAsTable": true, - "avg": false, - "current": false, - "hideEmpty": false, - "hideZero": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "null as zero", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(container_network_transmit_bytes_total{name=~\".+\"}[$interval])) by (name)", - "intervalFactor": 2, - "legendFormat": "{{name}}", - "refId": "A", - "step": 240 - }, - { - "expr": "rate(container_network_transmit_bytes_total{id=\"/\"}[$interval])", - "hide": true, - "intervalFactor": 2, - "legendFormat": "", - "refId": "B", - "step": 10 - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Sent Network Traffic per Container", - "tooltip": { - "msResolution": true, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "Bps", - "label": "", - "logBase": 1, - "show": true - }, - { - "format": "short", - "label": "", - "logBase": 10, - "max": 8, - "min": 0, - "show": false - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editable": true, - "error": false, - "fill": 5, - "fillGradient": 0, - "grid": {}, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 17 - }, - "hiddenSeries": false, - "id": 1, - "legend": { - "alignAsTable": true, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(container_cpu_usage_seconds_total{name=~\".+\"}[$interval])) by (name) * 100", - "hide": false, - "interval": "", - "intervalFactor": 2, - "legendFormat": "{{name}}", - "metric": "", - "refId": "F", - "step": 240 - } - ], - "thresholds": [], - "timeRegions": [], - "title": "CPU Usage per Container", - "tooltip": { - "msResolution": true, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "percent", - "label": "", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": false - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editable": true, - "error": false, - "fill": 3, - "fillGradient": 0, - "grid": {}, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 17 - }, - "hiddenSeries": false, - "id": 34, - "legend": { - "alignAsTable": true, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "null as zero", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "sum(container_memory_swap{name=~\".+\"}) by (name)", - "hide": false, - "intervalFactor": 2, - "legendFormat": "{{name}}", - "refId": "A", - "step": 240 - }, - { - "expr": "container_memory_usage_bytes{name=~\".+\"}", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{name}}", - "refId": "B", - "step": 240 - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Memory Swap per Container", - "tooltip": { - "msResolution": true, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "label": "", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editable": true, - "error": false, - "fill": 3, - "fillGradient": 0, - "grid": {}, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 24 - }, - "hiddenSeries": false, - "id": 10, - "legend": { - "alignAsTable": true, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "null as zero", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.3.4", - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "sum(container_memory_rss{name=~\".+\"}) by (name)", - "hide": false, - "intervalFactor": 2, - "legendFormat": "{{name}}", - "refId": "A", - "step": 240 - }, - { - "expr": "container_memory_usage_bytes{name=~\".+\"}", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{name}}", - "refId": "B", - "step": 240 - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Memory Usage per Container", - "tooltip": { - "msResolution": true, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "label": "", - "logBase": 1, - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "columns": [ - { - "text": "Current", - "value": "current" - } - ], - "editable": true, - "error": false, - "fontSize": "100%", - "gridPos": { - "h": 10, - "w": 8, - "x": 16, - "y": 24 - }, - "id": 36, - "links": [], - "scroll": true, - "showHeader": true, - "sort": { - "col": 0, - "desc": true - }, - "styles": [ - { - "align": "auto", - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 2, - "pattern": "/.*/", - "thresholds": [ - "10000000", - " 25000000" - ], - "type": "number", - "unit": "decbytes" - } - ], - "targets": [ - { - "expr": "sum(container_spec_memory_limit_bytes{name=~\".+\"} - container_memory_usage_bytes{name=~\".+\"}) by (name) ", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{name}}", - "metric": "", - "refId": "A", - "step": 240 - }, - { - "expr": "sum(container_spec_memory_limit_bytes{name=~\".+\"}) by (name) ", - "hide": false, - "intervalFactor": 2, - "legendFormat": "{{name}}", - "refId": "B", - "step": 240 - }, - { - "expr": "container_memory_usage_bytes{name=~\".+\"}", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{name}}", - "refId": "C", - "step": 240 - } - ], - "title": "Limit memory", - "transform": "timeseries_aggregations", - "type": "table-old" - }, - { - "columns": [ - { - "text": "Current", - "value": "current" - } - ], - "editable": true, - "error": false, - "fontSize": "100%", - "gridPos": { - "h": 10, - "w": 8, - "x": 0, - "y": 31 - }, - "id": 37, - "links": [], - "scroll": true, - "showHeader": true, - "sort": { - "col": 0, - "desc": true - }, - "styles": [ - { - "align": "auto", - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 2, - "pattern": "/.*/", - "thresholds": [ - "10000000", - " 25000000" - ], - "type": "number", - "unit": "decbytes" - } - ], - "targets": [ - { - "expr": "sum(container_spec_memory_limit_bytes{name=~\".+\"} - container_memory_usage_bytes{name=~\".+\"}) by (name) ", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{name}}", - "metric": "", - "refId": "A", - "step": 240 - }, - { - "expr": "sum(container_spec_memory_limit_bytes{name=~\".+\"}) by (name) ", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{name}}", - "refId": "B", - "step": 240 - }, - { - "expr": "container_memory_usage_bytes{name=~\".+\"}", - "hide": false, - "intervalFactor": 2, - "legendFormat": "{{name}}", - "refId": "C", - "step": 240 - } - ], - "title": "Usage memory", - "transform": "timeseries_aggregations", - "type": "table-old" - }, - { - "columns": [ - { - "text": "Current", - "value": "current" - } - ], - "editable": true, - "error": false, - "fontSize": "100%", - "gridPos": { - "h": 10, - "w": 8, - "x": 8, - "y": 31 - }, - "id": 35, - "links": [], - "scroll": true, - "showHeader": true, - "sort": { - "col": 1, - "desc": true - }, - "styles": [ - { - "align": "auto", - "colorMode": "cell", - "colors": [ - "rgba(50, 172, 45, 0.97)", - "rgba(237, 129, 40, 0.89)", - "rgba(245, 54, 54, 0.9)" - ], - "decimals": 2, - "pattern": "/.*/", - "thresholds": [ - "80", - "90" - ], - "type": "number", - "unit": "percent" - } - ], - "targets": [ - { - "expr": "sum(100 - ((container_spec_memory_limit_bytes{name=~\".+\"} - container_memory_usage_bytes{name=~\".+\"}) * 100 / container_spec_memory_limit_bytes{name=~\".+\"}) ) by (name) ", - "intervalFactor": 2, - "legendFormat": "{{name}}", - "metric": "", - "refId": "A", - "step": 240 - }, - { - "expr": "sum(container_spec_memory_limit_bytes{name=~\".+\"}) by (name) ", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{name}}", - "refId": "B", - "step": 240 - }, - { - "expr": "container_memory_usage_bytes{name=~\".+\"}", - "hide": true, - "intervalFactor": 2, - "legendFormat": "{{name}}", - "refId": "C", - "step": 240 - } - ], - "title": "Remaining memory", - "transform": "timeseries_aggregations", - "type": "table-old" - } - ], - "refresh": "5m", - "schemaVersion": 34, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "allValue": ".+", - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "definition": "label_values(env)", - "hide": 0, - "includeAll": true, - "label": "Container Group", - "multi": true, - "name": "containergroup", - "options": [], - "query": { - "query": "label_values(env)", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - }, - { - "auto": true, - "auto_count": 50, - "auto_min": "50s", - "current": { - "selected": false, - "text": "auto", - "value": "$__auto_interval_interval" - }, - "hide": 0, - "includeAll": false, - "label": "Interval", - "multi": false, - "name": "interval", - "options": [ - { - "selected": true, - "text": "auto", - "value": "$__auto_interval_interval" - }, - { - "selected": false, - "text": "30s", - "value": "30s" - }, - { - "selected": false, - "text": "1m", - "value": "1m" - }, - { - "selected": false, - "text": "2m", - "value": "2m" - }, - { - "selected": false, - "text": "3m", - "value": "3m" - }, - { - "selected": false, - "text": "5m", - "value": "5m" - }, - { - "selected": false, - "text": "7m", - "value": "7m" - }, - { - "selected": false, - "text": "10m", - "value": "10m" - }, - { - "selected": false, - "text": "30m", - "value": "30m" - }, - { - "selected": false, - "text": "1h", - "value": "1h" - }, - { - "selected": false, - "text": "6h", - "value": "6h" - }, - { - "selected": false, - "text": "12h", - "value": "12h" - }, - { - "selected": false, - "text": "1d", - "value": "1d" - }, - { - "selected": false, - "text": "7d", - "value": "7d" - }, - { - "selected": false, - "text": "14d", - "value": "14d" - }, - { - "selected": false, - "text": "30d", - "value": "30d" - } - ], - "query": "30s,1m,2m,3m,5m,7m,10m,30m,1h,6h,12h,1d,7d,14d,30d", - "refresh": 2, - "skipUrlSync": false, - "type": "interval" - }, - { - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "definition": "label_values(hostname)", - "hide": 0, - "includeAll": true, - "label": "Node", - "multi": true, - "name": "server", - "options": [], - "query": { - "query": "label_values(hostname)", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - } - ] - }, - "time": { - "from": "now-24h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "browser", - "title": "Docker and system monitoring", - "uid": "QWhlQHxnk", - "version": 1, - "weekStart": "" -} diff --git a/fluence/deploy/prometheus/grafana/fluence_stats.json b/fluence/deploy/prometheus/grafana/fluence_stats.json deleted file mode 100644 index 7f98e6c..0000000 --- a/fluence/deploy/prometheus/grafana/fluence_stats.json +++ /dev/null @@ -1,2615 +0,0 @@ -{ - "__inputs": [ - { - "name": "DS_PROMETHEUS", - "label": "Prometheus", - "description": "", - "type": "datasource", - "pluginId": "prometheus", - "pluginName": "Prometheus" - } - ], - "__elements": [], - "__requires": [ - { - "type": "panel", - "id": "bargauge", - "name": "Bar gauge", - "version": "" - }, - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "8.3.4" - }, - { - "type": "panel", - "id": "heatmap", - "name": "Heatmap", - "version": "" - }, - { - "type": "datasource", - "id": "prometheus", - "name": "Prometheus", - "version": "1.0.0" - }, - { - "type": "panel", - "id": "stat", - "name": "Stat", - "version": "" - }, - { - "type": "panel", - "id": "status-history", - "name": "Status history", - "version": "" - }, - { - "type": "panel", - "id": "timeseries", - "name": "Time series", - "version": "" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": null, - "iteration": 1656573396251, - "links": [], - "liveNow": false, - "panels": [ - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 26, - "panels": [], - "title": "Health", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "fillOpacity": 70, - "lineWidth": 1 - }, - "mappings": [ - { - "options": { - "0": { - "index": 1, - "text": "D" - }, - "1": { - "index": 0, - "text": "U" - } - }, - "type": "value" - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "red", - "value": null - }, - { - "color": "green", - "value": 1 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 9, - "w": 8, - "x": 0, - "y": 1 - }, - "id": 4, - "maxDataPoints": 15, - "maxPerRow": 3, - "options": { - "colWidth": 0.9, - "legend": { - "displayMode": "hidden", - "placement": "bottom" - }, - "rowHeight": 0.9, - "showValue": "auto", - "tooltip": { - "mode": "single" - } - }, - "pluginVersion": "8.3.4", - "repeat": "env", - "repeatDirection": "h", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "min_over_time(up{job=\"fluence\", env=~\"$env\"}[$__interval])", - "format": "time_series", - "instant": false, - "interval": "", - "intervalFactor": 1, - "legendFormat": "{{ hostname }}", - "refId": "A" - } - ], - "title": "$env", - "type": "status-history" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 10 - }, - "id": 24, - "panels": [], - "title": "Stats", - "type": "row" - }, - { - "datasource": { - "type": "datasource", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "red", - "value": null - }, - { - "color": "#EAB839", - "value": 5 - }, - { - "color": "green", - "value": 7 - }, - { - "color": "blue", - "value": 20 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 11 - }, - "id": 45, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "connection_pool_connected_peers", - "interval": "", - "legendFormat": "{{ hostname }}", - "refId": "A" - } - ], - "title": "Active Connections", - "type": "stat" - }, - { - "datasource": { - "type": "datasource", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": -1, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineStyle": { - "fill": "solid" - }, - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 11 - }, - "id": 10, - "options": { - "legend": { - "calcs": [ - "lastNotNull" - ], - "displayMode": "table", - "placement": "right", - "sortBy": "Last *", - "sortDesc": true - }, - "tooltip": { - "mode": "single" - } - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum(connection_pool_connected_peers) by (hostname)", - "hide": false, - "interval": "", - "legendFormat": "{{ hostname }}", - "refId": "A" - } - ], - "title": "Active Connections", - "type": "timeseries" - }, - { - "datasource": { - "type": "datasource", - "uid": "prometheus" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "continuous-BlPu" - }, - "decimals": 0, - "mappings": [], - "max": 100000, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 0, - "y": 19 - }, - "id": 14, - "options": { - "displayMode": "lcd", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum by (env) (connectivity_particle_send_success_total)", - "interval": "", - "legendFormat": "{{ env }} sent", - "refId": "A" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum by (env) (connection_pool_received_particles_total)", - "hide": false, - "interval": "", - "legendFormat": "{{ env }} received", - "refId": "C" - } - ], - "title": "Particles", - "type": "bargauge" - }, - { - "datasource": { - "type": "datasource", - "uid": "prometheus" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 8, - "y": 19 - }, - "id": 43, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom" - }, - "tooltip": { - "mode": "single" - } - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum by (env) (rate(connectivity_particle_send_success_total[$__rate_interval]))", - "interval": "1m", - "legendFormat": "{{ env }} sent", - "refId": "A" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum by (env) (rate(connection_pool_received_particles_total[$__rate_interval]))", - "hide": false, - "interval": "1m", - "legendFormat": "{{ env }} received", - "refId": "C" - } - ], - "title": "Particles per second", - "type": "timeseries" - }, - { - "datasource": { - "type": "datasource", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "continuous-GrYlRd" - }, - "mappings": [], - "max": 500, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 4, - "x": 16, - "y": 19 - }, - "id": 2, - "options": { - "displayMode": "lcd", - "orientation": "vertical", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum by (env) (connectivity_particle_send_failure_total) ", - "instant": false, - "interval": "", - "legendFormat": "{{env}}", - "refId": "A" - } - ], - "title": "Particle Send Failures", - "type": "bargauge" - }, - { - "datasource": { - "type": "datasource", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "normal" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 4, - "x": 20, - "y": 19 - }, - "id": 44, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom" - }, - "tooltip": { - "mode": "single" - } - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum by (env) (connectivity_particle_send_failure_total) ", - "instant": false, - "interval": "", - "legendFormat": "{{env}}", - "refId": "A" - } - ], - "title": "Particle Send Failures", - "type": "timeseries" - }, - { - "cards": {}, - "color": { - "cardColor": "#b4ff00", - "colorScale": "sqrt", - "colorScheme": "interpolateTurbo", - "exponent": 0.5, - "mode": "spectrum" - }, - "dataFormat": "tsbuckets", - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "gridPos": { - "h": 10, - "w": 24, - "x": 0, - "y": 27 - }, - "heatmap": {}, - "hideZeroBuckets": false, - "highlightCards": true, - "id": 61, - "legend": { - "show": true - }, - "maxDataPoints": 100, - "reverseYBuckets": false, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum(increase(connection_pool_particle_sizes_bucket{ env =~ \"$env\"}[$__interval])) by (le)", - "format": "heatmap", - "interval": "1m", - "legendFormat": "{{ le }}", - "refId": "A" - } - ], - "title": "Incoming Particle Sizes", - "tooltip": { - "show": true, - "showHistogram": false - }, - "type": "heatmap", - "xAxis": { - "show": true - }, - "yAxis": { - "format": "bytes", - "logBase": 1, - "show": true - }, - "yBucketBound": "auto" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "continuous-GrYlRd" - }, - "mappings": [], - "max": 300, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "#EAB839", - "value": 50 - }, - { - "color": "red", - "value": 200 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 0, - "y": 37 - }, - "id": 20, - "maxDataPoints": 100, - "options": { - "displayMode": "lcd", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "particle_executor_alive_actors { env =~ \"$env\" }", - "interval": "", - "legendFormat": "{{ hostname }}", - "refId": "A" - } - ], - "title": "Alive Actors", - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "continuous-GrYlRd" - }, - "mappings": [], - "max": 200, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 6, - "y": 37 - }, - "id": 8, - "options": { - "displayMode": "lcd", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "connection_pool_particle_queue_size { env =~ \"$env\" } >= 0", - "interval": "", - "legendFormat": "{{ hostname }}", - "refId": "A" - } - ], - "title": "Connection Pool Queue Size", - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "continuous-GrYlRd" - }, - "mappings": [], - "max": 300, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 12, - "y": 37 - }, - "id": 16, - "options": { - "displayMode": "lcd", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "particle_executor_total_actors_mailbox { env=~\"$env\" }", - "interval": "", - "legendFormat": "{{ hostname }}", - "refId": "A" - } - ], - "title": "Actor mailbox size", - "type": "bargauge" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 45 - }, - "id": 53, - "panels": [], - "title": "Execution Stats", - "type": "row" - }, - { - "cards": {}, - "color": { - "cardColor": "#b4ff00", - "colorScale": "sqrt", - "colorScheme": "interpolateTurbo", - "exponent": 0.5, - "mode": "spectrum" - }, - "dataFormat": "tsbuckets", - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "gridPos": { - "h": 10, - "w": 24, - "x": 0, - "y": 46 - }, - "heatmap": {}, - "hideZeroBuckets": false, - "highlightCards": true, - "id": 59, - "legend": { - "show": true - }, - "maxDataPoints": 100, - "reverseYBuckets": false, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum(increase(particle_executor_interpretation_time_sec_bucket{ env =~ \"$env\"}[$__interval])) by (le)", - "format": "heatmap", - "interval": "1m", - "legendFormat": "{{ le }}", - "refId": "A" - } - ], - "title": "Interpretation time", - "tooltip": { - "show": true, - "showHistogram": false - }, - "type": "heatmap", - "xAxis": { - "show": true - }, - "yAxis": { - "format": "dtdurations", - "logBase": 1, - "show": true - }, - "yBucketBound": "auto" - }, - { - "cards": {}, - "color": { - "cardColor": "#bfea03", - "colorScale": "sqrt", - "colorScheme": "interpolateYlOrRd", - "exponent": 0.5, - "mode": "opacity" - }, - "dataFormat": "tsbuckets", - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "gridPos": { - "h": 10, - "w": 24, - "x": 0, - "y": 56 - }, - "heatmap": {}, - "hideZeroBuckets": false, - "highlightCards": true, - "id": 60, - "legend": { - "show": true - }, - "maxDataPoints": 100, - "reverseYBuckets": false, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum(increase(particle_executor_service_call_time_sec_bucket{ env =~ \"$env\"}[$__interval])) by (le)", - "format": "heatmap", - "interval": "1m", - "legendFormat": "{{ le }}", - "refId": "A" - } - ], - "title": "Service call time", - "tooltip": { - "show": true, - "showHistogram": false - }, - "type": "heatmap", - "xAxis": { - "show": true - }, - "yAxis": { - "format": "dtdurations", - "logBase": 1, - "show": true - }, - "yBucketBound": "auto" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "continuous-YlBl" - }, - "decimals": 0, - "mappings": [], - "max": 300000, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 0, - "y": 66 - }, - "id": 65, - "options": { - "displayMode": "lcd", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum by (env) (particle_executor_service_call_success_total)", - "interval": "", - "legendFormat": "{{ env }}", - "refId": "A" - } - ], - "title": "Service Calls", - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "normal" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 8, - "y": 66 - }, - "id": 67, - "maxDataPoints": 200, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom" - }, - "tooltip": { - "mode": "single" - } - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum by (env) (rate(particle_executor_service_call_time_sec_count[$__rate_interval]))", - "interval": "1m", - "legendFormat": "{{ hostname }}", - "refId": "A" - } - ], - "title": "Service Calls per second", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "continuous-GrYlRd" - }, - "mappings": [], - "max": 500, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 4, - "x": 16, - "y": 66 - }, - "id": 69, - "options": { - "displayMode": "lcd", - "orientation": "vertical", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum by (env) (particle_executor_service_call_failure_total) ", - "instant": false, - "interval": "", - "legendFormat": "{{env}}", - "refId": "A" - } - ], - "title": "Service Calls Failures", - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "normal" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 4, - "x": 20, - "y": 66 - }, - "id": 71, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom" - }, - "tooltip": { - "mode": "single" - } - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum by (env) (particle_executor_service_call_failure_total) ", - "instant": false, - "interval": "", - "legendFormat": "{{env}}", - "refId": "A" - } - ], - "title": "Service Call Failures", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "continuous-YlBl" - }, - "decimals": 0, - "mappings": [], - "max": 300000, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 0, - "y": 74 - }, - "id": 72, - "options": { - "displayMode": "lcd", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum by (env) (particle_executor_interpretation_successes_total)", - "interval": "", - "legendFormat": "{{ env }}", - "refId": "A" - } - ], - "title": "Interpretations", - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "normal" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 8, - "y": 74 - }, - "id": 73, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom" - }, - "tooltip": { - "mode": "single" - } - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum by (env) (rate(particle_executor_interpretation_time_sec_count[$__rate_interval]))", - "interval": "1m", - "legendFormat": "{{ env }}", - "refId": "A" - } - ], - "title": "Interpretations per second", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "continuous-GrYlRd" - }, - "mappings": [], - "max": 500, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 4, - "x": 16, - "y": 74 - }, - "id": 75, - "options": { - "displayMode": "lcd", - "orientation": "vertical", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum by (env) (particle_executor_interpretation_failures_total) ", - "instant": false, - "interval": "", - "legendFormat": "{{env}}", - "refId": "A" - } - ], - "title": "Interpretation Failures", - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "normal" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 4, - "x": 20, - "y": 74 - }, - "id": 74, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom" - }, - "tooltip": { - "mode": "single" - } - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum by (env) (particle_executor_interpretation_failures_total) ", - "instant": false, - "interval": "", - "legendFormat": "{{env}}", - "refId": "A" - } - ], - "title": "Interpretation Failures", - "type": "timeseries" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 82 - }, - "id": 41, - "panels": [], - "title": "AquaVM stats", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "continuous-GrYlRd" - }, - "mappings": [], - "max": 200000000, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 9, - "x": 0, - "y": 83 - }, - "id": 48, - "options": { - "displayMode": "lcd", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "aqua_vm_pool_vm_mem_total { env =~ \"$env\" }", - "interval": "", - "legendFormat": "{{ hostname }}", - "refId": "A" - } - ], - "title": "AquaVM total memory", - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [ - { - "__systemRef": "hideSeriesFrom", - "matcher": { - "id": "byNames", - "options": { - "mode": "exclude", - "names": [ - "net-10" - ], - "prefix": "All except:", - "readOnly": true - } - }, - "properties": [ - { - "id": "custom.hideFrom", - "value": { - "legend": false, - "tooltip": false, - "viz": true - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 15, - "x": 9, - "y": 83 - }, - "id": 47, - "options": { - "legend": { - "calcs": [ - "lastNotNull" - ], - "displayMode": "table", - "placement": "right", - "sortBy": "Last *", - "sortDesc": true - }, - "tooltip": { - "mode": "single" - } - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "aqua_vm_pool_vm_mem_total { env =~ \"$env\" }", - "interval": "", - "legendFormat": "{{ hostname }}", - "refId": "A" - } - ], - "title": "AquaVM total memory", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "continuous-GrYlRd" - }, - "mappings": [], - "max": 100000000, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 9, - "x": 0, - "y": 91 - }, - "id": 42, - "options": { - "displayMode": "lcd", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "aqua_vm_pool_vm_mem_max { env =~ \"$env\" }", - "interval": "", - "legendFormat": "{{ hostname }} max", - "refId": "A" - } - ], - "title": "Single AquaVM memory max", - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [ - { - "__systemRef": "hideSeriesFrom", - "matcher": { - "id": "byNames", - "options": { - "mode": "exclude", - "names": [ - "net-10 max" - ], - "prefix": "All except:", - "readOnly": true - } - }, - "properties": [ - { - "id": "custom.hideFrom", - "value": { - "legend": false, - "tooltip": false, - "viz": true - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 15, - "x": 9, - "y": 91 - }, - "id": 49, - "options": { - "legend": { - "calcs": [ - "lastNotNull" - ], - "displayMode": "table", - "placement": "right", - "sortBy": "Last *", - "sortDesc": true - }, - "tooltip": { - "mode": "single" - } - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "aqua_vm_pool_vm_mem_max { env =~ \"$env\" }", - "interval": "", - "legendFormat": "{{ hostname }} max", - "refId": "A" - } - ], - "title": "Single AquaVM memory max", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 0, - "y": 99 - }, - "id": 38, - "options": { - "legend": { - "calcs": [], - "displayMode": "hidden", - "placement": "bottom" - }, - "tooltip": { - "mode": "single" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "irate(aqua_vm_pool_no_free_vm_total { env =~ \"$env\" }[$__rate_interval])", - "interval": "1m", - "legendFormat": "{{ hostname }}", - "refId": "A" - } - ], - "title": "AquaVM Pool Starvation", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "percentage", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "vm" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 9, - "x": 6, - "y": 99 - }, - "id": 36, - "options": { - "legend": { - "calcs": [ - "lastNotNull" - ], - "displayMode": "table", - "placement": "right", - "sortBy": "Last *", - "sortDesc": true - }, - "tooltip": { - "mode": "single" - } - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "aqua_vm_pool_get_vm_total { env =~ \"$env\" } - aqua_vm_pool_put_vm_total { env =~ \"$env\" } - aqua_vm_pool_no_free_vm_total { env =~ \"$env\" }", - "interval": "", - "legendFormat": "{{ hostname }}", - "refId": "A" - } - ], - "title": "Busy AquaVMs", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "max": 16, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "vms" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 9, - "x": 15, - "y": 99 - }, - "id": 32, - "options": { - "legend": { - "calcs": [ - "lastNotNull" - ], - "displayMode": "table", - "placement": "right", - "sortBy": "Last *", - "sortDesc": true - }, - "tooltip": { - "mode": "single" - } - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "aqua_vm_pool_pool_size { env =~ \"$env\" } - aqua_vm_pool_free_vms { env =~ \"$env\" }", - "interval": "", - "legendFormat": "{{ hostname }}", - "refId": "A" - } - ], - "title": "Busy AquaVMs (misbehaves ???)", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "bars", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 0, - "y": 107 - }, - "id": 78, - "options": { - "legend": { - "calcs": [], - "displayMode": "hidden", - "placement": "bottom" - }, - "tooltip": { - "mode": "single" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "irate(aqua_vm_pool_put_vm_total { env =~ \"$env\" }[$__rate_interval])", - "hide": false, - "interval": "1m", - "legendFormat": "{{ hostname }}", - "refId": "A" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": true, - "expr": "", - "hide": false, - "interval": "", - "legendFormat": "{{ hostname }}", - "refId": "B" - } - ], - "title": "put_vm per second", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "bars", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 6, - "y": 107 - }, - "id": 79, - "options": { - "legend": { - "calcs": [], - "displayMode": "hidden", - "placement": "bottom" - }, - "tooltip": { - "mode": "single" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "irate(aqua_vm_pool_get_vm_total { env =~ \"$env\" }[$__rate_interval])", - "hide": false, - "interval": "1m", - "legendFormat": "{{ hostname }}", - "refId": "A" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": true, - "expr": "", - "hide": false, - "interval": "", - "legendFormat": "{{ hostname }}", - "refId": "B" - } - ], - "title": "get_vm per second", - "type": "timeseries" - } - ], - "schemaVersion": 34, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "definition": "label_values({__name__=\"up\"}, env)", - "hide": 0, - "includeAll": true, - "label": "env", - "multi": true, - "name": "env", - "options": [], - "query": { - "query": "label_values({__name__=\"up\"}, env)", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - }, - { - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "definition": "label_values({__name__=\"up\"}, hostname)", - "hide": 0, - "includeAll": true, - "label": "host", - "multi": true, - "name": "host", - "options": [], - "query": { - "query": "label_values({__name__=\"up\"}, hostname)", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - } - ] - }, - "time": { - "from": "now-6h", - "to": "now" - }, - "timepicker": {}, - "timezone": "", - "title": "Fluence Stats", - "uid": "AP0dB2bnz", - "version": 11, - "weekStart": "" -} diff --git a/fluence/deploy/prometheus/grafana/services_metrics_dashboard.json b/fluence/deploy/prometheus/grafana/services_metrics_dashboard.json deleted file mode 100644 index a487904..0000000 --- a/fluence/deploy/prometheus/grafana/services_metrics_dashboard.json +++ /dev/null @@ -1,1178 +0,0 @@ -{ - "__inputs": [ - { - "name": "DS_PROMETHEUS", - "label": "Prometheus", - "description": "", - "type": "datasource", - "pluginId": "prometheus", - "pluginName": "Prometheus" - } - ], - "__elements": [], - "__requires": [ - { - "type": "panel", - "id": "bargauge", - "name": "Bar gauge", - "version": "" - }, - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "8.3.4" - }, - { - "type": "panel", - "id": "heatmap", - "name": "Heatmap", - "version": "" - }, - { - "type": "datasource", - "id": "prometheus", - "name": "Prometheus", - "version": "1.0.0" - }, - { - "type": "panel", - "id": "stat", - "name": "Stat", - "version": "" - }, - { - "type": "panel", - "id": "timeseries", - "name": "Time series", - "version": "" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": null, - "iteration": 1656573395065, - "links": [], - "liveNow": false, - "panels": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "super-light-green", - "value": null - }, - { - "color": "light-green", - "value": 3000 - }, - { - "color": "semi-dark-green", - "value": 5000 - }, - { - "color": "dark-green", - "value": 10000 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 0 - }, - "id": 24, - "maxDataPoints": 100, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum(services_services_count{env =~ \"$env\"})", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{hostname}}", - "refId": "A" - } - ], - "title": "Number of services", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "continuous-BlYlRd" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 150 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 0 - }, - "id": 8, - "maxDataPoints": 100, - "options": { - "displayMode": "lcd", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "services_services_count{env =~ \"$env\"}", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{hostname}}", - "refId": "A" - } - ], - "title": "Number of services", - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "continuous-BlYlRd" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 24, - "x": 0, - "y": 8 - }, - "id": 6, - "options": { - "displayMode": "lcd", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "services_mem_used_total_bytes{env =~ \"$env\"}", - "interval": "", - "legendFormat": "{{hostname}}", - "refId": "A" - } - ], - "title": "Total used memory", - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 24, - "x": 0, - "y": 16 - }, - "id": 23, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom" - }, - "tooltip": { - "mode": "single" - } - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "services_mem_used_total_bytes{env =~ \"$env\"}", - "interval": "", - "legendFormat": "{{hostname}}", - "refId": "A" - } - ], - "title": "Total used memory", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisGridShow": true, - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "opacity", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "smooth", - "lineStyle": { - "fill": "solid" - }, - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "log": 2, - "type": "log" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "max": 4294967296, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 4294967296.0001 - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 24 - }, - "id": 19, - "options": { - "legend": { - "calcs": [], - "displayMode": "hidden", - "placement": "bottom" - }, - "tooltip": { - "mode": "single" - } - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "services_mem_used_total_bytes{env =~ \"$env\"} / services_services_count{env =~ \"$env\"}", - "interval": "", - "legendFormat": "", - "refId": "A" - } - ], - "title": "Average memory usage by services", - "type": "timeseries" - }, - { - "cards": {}, - "color": { - "cardColor": "#b4ff00", - "colorScale": "sqrt", - "colorScheme": "interpolateSpectral", - "exponent": 0.5, - "mode": "spectrum" - }, - "dataFormat": "tsbuckets", - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 24 - }, - "heatmap": {}, - "hideZeroBuckets": true, - "highlightCards": true, - "id": 21, - "legend": { - "show": false - }, - "maxDataPoints": 100, - "reverseYBuckets": false, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": true, - "expr": "sum(increase(services_mem_used_bytes_bucket{env =~ \"$env\"}[5m])) by (le)", - "format": "heatmap", - "interval": "1m", - "legendFormat": "{{le}}", - "refId": "A" - } - ], - "title": "Used memory distribution", - "tooltip": { - "show": true, - "showHistogram": false - }, - "type": "heatmap", - "xAxis": { - "show": true - }, - "yAxis": { - "format": "bytes", - "logBase": 1, - "show": true - }, - "yBucketBound": "auto" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "smooth", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "log": 2, - "type": "log" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "max": 4294967296, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 4294967296 - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 32 - }, - "id": 16, - "maxDataPoints": 200, - "options": { - "legend": { - "calcs": [], - "displayMode": "hidden", - "placement": "bottom" - }, - "tooltip": { - "mode": "single" - } - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "histogram_quantile(0.95, sum(rate(services_mem_used_bytes_bucket{ env =~ \"$env\" }[$__rate_interval])) by (le))", - "format": "heatmap", - "interval": "", - "legendFormat": "", - "refId": "A" - } - ], - "title": "Used memory by services, 95'", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "continuous-BlYlRd" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 32 - }, - "id": 2, - "options": { - "displayMode": "lcd", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum(services_modules_in_services_count_bucket{env =~ \"$env\"}) by (le)", - "format": "heatmap", - "interval": "", - "legendFormat": "{{le}}", - "refId": "A" - } - ], - "title": "Current number of modules per services", - "type": "bargauge" - }, - { - "cards": {}, - "color": { - "cardColor": "#b4ff00", - "colorScale": "sqrt", - "colorScheme": "interpolateRdYlGn", - "exponent": 0.5, - "mode": "spectrum" - }, - "dataFormat": "tsbuckets", - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "", - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 40 - }, - "heatmap": {}, - "hideZeroBuckets": true, - "highlightCards": true, - "id": 13, - "legend": { - "show": false - }, - "maxDataPoints": 100, - "pluginVersion": "8.4.6", - "reverseYBuckets": false, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "services_mem_max_per_module_bytes_bucket{env =~ \"$env\"}", - "format": "heatmap", - "instant": false, - "interval": "", - "legendFormat": "{{le}}", - "refId": "A" - } - ], - "title": "Available memory for modules", - "tooltip": { - "show": true, - "showHistogram": false - }, - "type": "heatmap", - "xAxis": { - "show": true - }, - "yAxis": { - "format": "bytes", - "logBase": 1, - "show": true - }, - "yBucketBound": "auto" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "smooth", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "log": 2, - "type": "log" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "max": 4294967296, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 4294967296 - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 40 - }, - "id": 17, - "options": { - "legend": { - "calcs": [], - "displayMode": "hidden", - "placement": "bottom" - }, - "tooltip": { - "mode": "single" - } - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "histogram_quantile(0.95, sum(rate(services_mem_used_per_module_bytes_bucket{env =~ \"$env\"}[5m])) by (le))", - "format": "heatmap", - "interval": "", - "legendFormat": "", - "refId": "A" - } - ], - "title": "Used memory by modules, 95'", - "type": "timeseries" - }, - { - "cards": {}, - "color": { - "cardColor": "#b4ff00", - "colorScale": "sqrt", - "colorScheme": "interpolateCool", - "exponent": 0.5, - "mode": "spectrum" - }, - "dataFormat": "tsbuckets", - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 48 - }, - "heatmap": {}, - "hideZeroBuckets": true, - "highlightCards": true, - "id": 22, - "legend": { - "show": true - }, - "maxDataPoints": 100, - "reverseYBuckets": false, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum(increase(services_creation_time_msec_bucket{env =~ \"$env\"}[5m])) by (le)", - "format": "heatmap", - "instant": false, - "interval": "1m", - "legendFormat": "{{le}}", - "refId": "A" - } - ], - "title": "Service creation time", - "tooltip": { - "show": true, - "showHistogram": false - }, - "type": "heatmap", - "xAxis": { - "show": true - }, - "yAxis": { - "format": "dtdurations", - "logBase": 2, - "max": "120", - "min": "0", - "show": true - }, - "yBucketBound": "auto" - }, - { - "cards": {}, - "color": { - "cardColor": "#b4ff00", - "colorScale": "sqrt", - "colorScheme": "interpolateRdYlGn", - "exponent": 0.5, - "mode": "spectrum" - }, - "dataFormat": "tsbuckets", - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "", - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 48 - }, - "heatmap": {}, - "hideZeroBuckets": true, - "highlightCards": true, - "id": 14, - "legend": { - "show": false - }, - "maxDataPoints": 100, - "pluginVersion": "8.4.6", - "reverseYBuckets": false, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "services_mem_max_bytes_bucket{env =~ \"$env\"}", - "format": "heatmap", - "instant": false, - "interval": "1m", - "intervalFactor": 1, - "legendFormat": "{{le}}", - "refId": "A" - } - ], - "title": "Available memory for services", - "tooltip": { - "show": true, - "showHistogram": false - }, - "type": "heatmap", - "xAxis": { - "show": true - }, - "yAxis": { - "format": "bytes", - "logBase": 1, - "show": true - }, - "yBucketBound": "auto" - }, - { - "cards": {}, - "color": { - "cardColor": "#b4ff00", - "colorScale": "sqrt", - "colorScheme": "interpolateCool", - "exponent": 0.5, - "mode": "spectrum" - }, - "dataFormat": "tsbuckets", - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 56 - }, - "heatmap": {}, - "hideZeroBuckets": true, - "highlightCards": true, - "id": 11, - "legend": { - "show": true - }, - "maxDataPoints": 100, - "reverseYBuckets": false, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum(increase(services_removal_time_msec_bucket{env =~ \"$env\"}[5m])) by (le)", - "format": "heatmap", - "interval": "1m", - "legendFormat": "{{le}}", - "refId": "A" - } - ], - "title": "Service removal time", - "tooltip": { - "show": true, - "showHistogram": false - }, - "type": "heatmap", - "xAxis": { - "show": true - }, - "yAxis": { - "format": "dtdurations", - "logBase": 2, - "max": "120", - "min": "0", - "show": true - }, - "yBucketBound": "auto" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "dark-green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 6, - "y": 64 - }, - "id": 4, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "center", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum(services_removal_count_total{env =~ \"$env\"})", - "hide": false, - "interval": "", - "legendFormat": "Removed", - "refId": "C" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum (services_creation_failure_count_total{env =~ \"$env\"})", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "Failed to create", - "refId": "A" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum(services_creation_count_total{env =~ \"$env\"})", - "hide": false, - "interval": "", - "legendFormat": "Created", - "refId": "B" - } - ], - "title": "Removed/failed to create/created servies", - "type": "stat" - } - ], - "refresh": false, - "schemaVersion": 34, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "definition": "label_values({__name__=\"up\"}, env)", - "hide": 0, - "includeAll": true, - "label": "env", - "multi": true, - "name": "env", - "options": [], - "query": { - "query": "label_values({__name__=\"up\"}, env)", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - }, - { - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "definition": "label_values({__name__=\"up\"}, hostname)", - "hide": 0, - "includeAll": true, - "label": "host", - "multi": true, - "name": "host", - "options": [], - "query": { - "query": "label_values({__name__=\"up\"}, hostname)", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - } - ] - }, - "time": { - "from": "now-3h", - "to": "now" - }, - "timepicker": {}, - "timezone": "", - "title": "Service metrics", - "uid": "bKk0Bdl7z", - "version": 7, - "weekStart": "" -} \ No newline at end of file diff --git a/fluence/deploy/prometheus/prometheus.yml b/fluence/deploy/prometheus/prometheus.yml deleted file mode 100644 index 13a9f1a..0000000 --- a/fluence/deploy/prometheus/prometheus.yml +++ /dev/null @@ -1,57 +0,0 @@ -scrape_configs: - - job_name: "docker" - static_configs: - - { targets: [ "165.227.164.206:16000" ], labels: { hostname: "net-01", env: "testnet" } } - - { targets: [ "138.197.189.50:16000" ], labels: { hostname: "net-02", env: "testnet" } } - - { targets: [ "157.230.23.49:16000" ], labels: { hostname: "net-03", env: "testnet" } } - - { targets: [ "159.65.126.102:16000" ], labels: { hostname: "net-04", env: "testnet" } } - - { targets: [ "142.93.169.49:16000" ], labels: { hostname: "net-05", env: "testnet" } } - - { targets: [ "139.59.148.53:16000" ], labels: { hostname: "net-06", env: "testnet" } } - - { targets: [ "206.81.30.129:16000" ], labels: { hostname: "net-07", env: "testnet" } } - - { targets: [ "157.230.98.51:16000" ], labels: { hostname: "net-08", env: "testnet" } } - - { targets: [ "159.89.2.70:16000" ], labels: { hostname: "net-09", env: "testnet" } } - - { targets: [ "157.230.98.75:16000" ], labels: { hostname: "net-10", env: "testnet" } } - - - { targets: [ "164.90.171.139:16000" ], labels: { hostname: "krasnodar-00", env: "krasnodar" } } - - { targets: [ "178.128.194.190:16000" ], labels: { hostname: "krasnodar-01", env: "krasnodar" } } - - { targets: [ "46.101.159.139:16000" ], labels: { hostname: "krasnodar-02", env: "krasnodar" } } - - { targets: [ "161.35.222.178:16000" ], labels: { hostname: "krasnodar-03", env: "krasnodar" } } - - { targets: [ "164.90.164.229:16000" ], labels: { hostname: "krasnodar-04", env: "krasnodar" } } - - { targets: [ "164.90.168.55:16000" ], labels: { hostname: "krasnodar-05", env: "krasnodar" } } - - { targets: [ "161.35.212.85:16000" ], labels: { hostname: "krasnodar-06", env: "krasnodar" } } - - { targets: [ "164.90.165.150:16000" ], labels: { hostname: "krasnodar-07", env: "krasnodar" } } - - { targets: [ "164.90.172.126:16000" ], labels: { hostname: "krasnodar-08", env: "krasnodar" } } - - { targets: [ "164.90.171.156:16000" ], labels: { hostname: "krasnodar-09", env: "krasnodar" } } - - - job_name: "fluence" - static_configs: - - { targets: [ "165.227.164.206:28880" ], labels: { hostname: "net-01-bootstrap", env: "testnet" } } - - { targets: [ "165.227.164.206:28081" ], labels: { hostname: "net-01", env: "testnet" } } - - { targets: [ "138.197.189.50:28081" ], labels: { hostname: "net-02", env: "testnet" } } - - { targets: [ "157.230.23.49:28081" ], labels: { hostname: "net-03", env: "testnet" } } - - { targets: [ "159.65.126.102:28081" ], labels: { hostname: "net-04", env: "testnet" } } - - { targets: [ "142.93.169.49:28081" ], labels: { hostname: "net-05", env: "testnet" } } - - { targets: [ "139.59.148.53:28081" ], labels: { hostname: "net-06", env: "testnet" } } - - { targets: [ "206.81.30.129:28081" ], labels: { hostname: "net-07", env: "testnet" } } - - { targets: [ "157.230.98.51:28081" ], labels: { hostname: "net-08", env: "testnet" } } - - { targets: [ "159.89.2.70:28081" ], labels: { hostname: "net-09", env: "testnet" } } - - { targets: [ "157.230.98.75:28081" ], labels: { hostname: "net-10", env: "testnet" } } - - - { targets: [ "134.209.186.43:28880" ], labels: { hostname: "stage-01-bootstrap", env: "stage" } } - - { targets: [ "134.209.186.43:28081" ], labels: { hostname: "stage-01", env: "stage" } } - - { targets: [ "134.209.186.43:28082" ], labels: { hostname: "stage-02", env: "stage" } } - - { targets: [ "134.209.186.43:28083" ], labels: { hostname: "stage-03", env: "stage" } } - - { targets: [ "134.209.186.43:28084" ], labels: { hostname: "stage-04", env: "stage" } } - - { targets: [ "134.209.186.43:28085" ], labels: { hostname: "stage-05", env: "stage" } } - - - { targets: [ "164.90.171.139:28880" ], labels: { hostname: "krasnodar-00", env: "krasnodar" } } - - { targets: [ "164.90.171.139:28081" ], labels: { hostname: "krasnodar-00", env: "krasnodar" } } - - { targets: [ "178.128.194.190:28081" ], labels: { hostname: "krasnodar-01", env: "krasnodar" } } - - { targets: [ "46.101.159.139:28081" ], labels: { hostname: "krasnodar-02", env: "krasnodar" } } - - { targets: [ "161.35.222.178:28081" ], labels: { hostname: "krasnodar-03", env: "krasnodar" } } - - { targets: [ "164.90.164.229:28081" ], labels: { hostname: "krasnodar-04", env: "krasnodar" } } - - { targets: [ "164.90.168.55:28081" ], labels: { hostname: "krasnodar-05", env: "krasnodar" } } - - { targets: [ "161.35.212.85:28081" ], labels: { hostname: "krasnodar-06", env: "krasnodar" } } - - { targets: [ "164.90.165.150:28081" ], labels: { hostname: "krasnodar-07", env: "krasnodar" } } - - { targets: [ "164.90.172.126:28081" ], labels: { hostname: "krasnodar-08", env: "krasnodar" } } - - { targets: [ "164.90.171.156:28081" ], labels: { hostname: "krasnodar-09", env: "krasnodar" } } diff --git a/fluence/deploy/requirements.txt b/fluence/deploy/requirements.txt deleted file mode 100644 index bcd50e3..0000000 --- a/fluence/deploy/requirements.txt +++ /dev/null @@ -1,20 +0,0 @@ -# On Alpine, you'd need to install the following before doing pip install -# apk add gcc musl-dev libffi-dev rust cargo make openssl-dev - -# on macos, you need to specify path to openssl -# -# export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib" -# export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include" -# export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig" - -bcrypt==3.1.7 -cffi==1.14.5 -cryptography==2.2.2 -enum34==1.1.10 -Fabric==1.14.1 -ipaddress==1.0.23 -paramiko==2.4.2 -pycparser==2.20 -PyNaCl==1.4.0 -six==1.15.0 -pyyaml==5.4.1 diff --git a/fluence/deploy/utils.py b/fluence/deploy/utils.py deleted file mode 100644 index d98aa2a..0000000 --- a/fluence/deploy/utils.py +++ /dev/null @@ -1,108 +0,0 @@ -# Copyright 2018 Fluence Labs Limited -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import with_statement -from fabric.api import * -from fabric.utils import * -import json -import time - -def ensure_docker_group(user): - from fabric.api import run - - run("groupadd docker &>/dev/null || true") - run("usermod -aG docker %s || true" % user) - -def chown_docker_sock(user): - from fabric.api import run - - run("chmod a+r /var/run/docker.sock") - run("chown %s:docker /var/run/docker.sock" % user) - -def get_docker_pgid(): - from fabric.api import run - - output = run("grep docker /etc/group | cut -d ':' -f 3") - output = output.stdout.splitlines() - assert len(output) == 1 - return output[0] - -def wait_node_started(api_port): - echo("waiting for node to start ",prefix=True) - while run('curl localhost:%s/' % api_port, quiet=True).failed: - time.sleep(0.5) - echo(".") - echo('\n') - -def echo(s,prefix=False): - puts(s, end='', flush=True, show_prefix=prefix) - -def get_config(environment): - file = open("deployment_config.json", "r") - info_json = file.read().rstrip() - file.close() - return json.loads(info_json)[environment] - -def get_image_tag(env): - if not hasattr(env, 'image_tag'): - return "v0.3.0" - else: - return env.image_tag - -# copies all necessary files for deploying -def copy_resources(): - puts("Copying deployment files to node") - # cleans up old scripts - run('rm -rf scripts') - run('mkdir scripts -p') - run('mkdir scripts/functions -p') - # copy local directory `script` to remote machine - put('scripts/deploy.sh', 'scripts/') - put('scripts/node.yml', 'scripts/') - put('scripts/functions/asserts.sh', 'scripts/functions/') - put('scripts/functions/docker.sh', 'scripts/functions/') - -def home_dir(): - with hide('output'): - return run('echo $HOME').stdout - -def load_config(): - # Set to False to disable `[ip.ad.dre.ss] out:` prefix - env.output_prefix = True - - cfg_file = open("deployment_config.json", "r") - env.config = json.loads(cfg_file.read().rstrip()) - cfg_file.close() - - target = target_environment() - # Set the username - env.user = target["user"] - - if not env.hosts: - # use addresses from config as fabric hosts - env.hosts = target['hosts'] - else: - puts("will use hosts: %s" % env.hosts) - -def target_environment(): - target = env.config["target"] - environment = filter(lambda e: e["name"] == target, env.config["environments"]) - return environment[0] - -def docker_tag(): - return target_environment['docker_tag'] - -def get_keypairs(yml, idx, count): - keypairs = target_environment()['keypairs'][yml] - return keypairs[idx:idx+count] diff --git a/local-network-compose.yml b/local-network-compose.yml deleted file mode 100644 index 7ebac7a..0000000 --- a/local-network-compose.yml +++ /dev/null @@ -1,126 +0,0 @@ -# management secret key is NAB5rGwT4qOEB+6nLQawkTfCOV2eiFSjgQK8bfEdZXY= -services: - fluence-0: # /ip4/127.0.0.1/tcp/9990/ws/p2p/12D3KooWHBG9oaVx4i3vi6c1rSBUm7MLBmyGmmbHoZ23pmjDCnvK - command: --aqua-pool-size 2 -f ed25519 -k 29Apzfedhw2Jxh94Jj4rNSmavQ1TkNe8ALYRA7bMegobwp423aLrURxLk32WtXgXHDqoSz7GAT9fQfoMhVd1e5Ww -m 12D3KooWFRgVmb1uWcmCbmJqLr8tBQghL6ysSpK2VyE2VZbaQ6wy -t 7770 -w 9990 --bootstraps /dns4/fluence-1/tcp/7771 /dns4/fluence-2/tcp/7772 # /dns4/kras-00.fluence.dev/tcp/7770 # uncomment to connect to Krasnodar network - container_name: fluence-0 - environment: - RUST_BACKTRACE: full - # RUST_LOG: info,network=trace,aquamarine=info,aquamarine::actor=info,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,particle_server::behaviour::identify=info,libp2p_mplex=info,libp2p_identify=info,walrus=info,particle_protocol::libp2p_protocol::upgrade=info,kademlia::behaviour=info - RUST_LOG: "warn,network=trace" - WASM_LOG: info - FLUENCE_ENV_AQUA_IPFS_EXTERNAL_API_MULTIADDR: "/ip4/127.0.0.1/tcp/5001" - image: fluencelabs/rust-peer:ipfs_v0.0.74 - ports: - - 7770:7770 # tcp - - 9990:9990 # ws - - 5001:5001 # ipfs rpc - - 4001:4001 # ipfs swarm - - 18080:18080 # /metrics - restart: "no" - volumes: - - fluence-0:/.fluence - - data-0:/config - networks: - - fluence - - fluence-1: # /ip4/127.0.0.1/tcp/9991/ws/p2p/12D3KooWRABanQHUn28dxavN9ZS1zZghqoZVAYtFpoN7FdtoGTFv - command: --aqua-pool-size 2 -f ed25519 -k 5fNENMwkUT4dW3hPs9ZwqV4qA5pdTtUChTazAx9Awe2Vpz1yaJu3VCmcEZow6YgdFBGoZoFAZUZBbF3c2Ebd2iL -m 12D3KooWFRgVmb1uWcmCbmJqLr8tBQghL6ysSpK2VyE2VZbaQ6wy -t 7771 -w 9991 --bootstraps /dns4/fluence-0/tcp/7770 /dns4/fluence-2/tcp/7772 # /dns4/kras-00.fluence.dev/tcp/7770 # uncomment to connect to Krasnodar network - container_name: fluence-1 - environment: - RUST_BACKTRACE: full - # RUST_LOG: info,network=trace,aquamarine=info,aquamarine::actor=info,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,particle_server::behaviour::identify=info,libp2p_mplex=info,libp2p_identify=info,walrus=info,particle_protocol::libp2p_protocol::upgrade=info,kademlia::behaviour=info - RUST_LOG: "warn,network=trace" - WASM_LOG: info - FLUENCE_ENV_AQUA_IPFS_EXTERNAL_API_MULTIADDR: "/ip4/127.0.0.1/tcp/5002" - image: fluencelabs/rust-peer:ipfs_v0.0.74 - ports: - - 7771:7771 # tcp - - 9991:9991 # ws - - 5002:5001 # ipfs rpc - - 4002:4001 # ipfs swarm - - 18081:18080 # /metrics - restart: "no" - volumes: - - fluence-1:/.fluence - - data-1:/config - networks: - - fluence - - fluence-2: # /ip4/127.0.0.1/tcp/9992/ws/p2p/12D3KooWFpQ7LHxcC9FEBUh3k4nSCC12jBhijJv3gJbi7wsNYzJ5 - command: --aqua-pool-size 2 -f ed25519 -k 5DTs9LQS8Ay2dM8xBcikDRwYLMcanhsC6tynSSgpLyBZEv5Ey34LVw1fYcCuUj9A9EfvQJB2bsaGhSRoHQ7D6UE5 -m 12D3KooWFRgVmb1uWcmCbmJqLr8tBQghL6ysSpK2VyE2VZbaQ6wy -t 7772 -w 9992 --bootstraps /dns4/fluence-0/tcp/7770 /dns4/fluence-1/tcp/7771 # /dns4/kras-00.fluence.dev/tcp/7770 # uncomment to connect to Krasnodar network - container_name: fluence-2 - environment: - RUST_BACKTRACE: full - # RUST_LOG: info,network=trace,aquamarine=info,aquamarine::actor=info,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,particle_server::behaviour::identify=info,libp2p_mplex=info,libp2p_identify=info,walrus=info,particle_protocol::libp2p_protocol::upgrade=info,kademlia::behaviour=info - RUST_LOG: "warn,network=trace" - WASM_LOG: info - FLUENCE_ENV_AQUA_IPFS_EXTERNAL_API_MULTIADDR: "/ip4/127.0.0.1/tcp/5003" - image: fluencelabs/rust-peer:ipfs_v0.0.74 - ports: - - 7772:7772 # tcp - - 9992:9992 # ws - - 5003:5001 # ipfs rpc - - 4003:4001 # ipfs swarm - - 18082:18080 # /metrics - restart: "no" - volumes: - - fluence-2:/.fluence - - data-2:/config - networks: - - fluence - - - env.json: - restart: "no" - # depends_on: - # - fluence - image: busybox:stable - volumes: - - env.json:/env - command: - - sh - - -c - - | - cat < /env/env.json - { - "nodes": [ - { - "multiaddr": "/ip4/127.0.0.1/tcp/9990/ws/p2p/12D3KooWHBG9oaVx4i3vi6c1rSBUm7MLBmyGmmbHoZ23pmjDCnvK", - "peerId": "12D3KooWHBG9oaVx4i3vi6c1rSBUm7MLBmyGmmbHoZ23pmjDCnvK" - }, - { - "multiaddr": "/ip4/127.0.0.1/tcp/9991/ws/p2p/12D3KooWRABanQHUn28dxavN9ZS1zZghqoZVAYtFpoN7FdtoGTFv", - "peerId": "12D3KooWRABanQHUn28dxavN9ZS1zZghqoZVAYtFpoN7FdtoGTFv" - }, - { - "multiaddr": "/ip4/127.0.0.1/tcp/9992/ws/p2p/12D3KooWFpQ7LHxcC9FEBUh3k4nSCC12jBhijJv3gJbi7wsNYzJ5", - "peerId": "12D3KooWFpQ7LHxcC9FEBUh3k4nSCC12jBhijJv3gJbi7wsNYzJ5" - } - ] - } - EOF - - dashboard: - depends_on: - - env.json - image: fluencelabs/dashboard:latest - volumes: - - env.json:/dist/env - networks: - - fluence - ports: - - 8080:8080 - -version: "3.5" -volumes: - fluence: null - env.json: null - fluence-0: - fluence-1: - fluence-2: - data-0: - data-1: - data-2: - -networks: - fluence: