diff --git a/docs/ocis/_index.md b/docs/ocis/_index.md index dc7040a772..57727f9961 100644 --- a/docs/ocis/_index.md +++ b/docs/ocis/_index.md @@ -24,19 +24,10 @@ We run a huge [test suite](https://github.com/owncloud/core/tree/master/tests), {{< mermaid class="text-center">}} graph TD proxy --> - konnectd & ocis-phoenix & thumbnails & ocs & webdav + konnectd & ocis-phoenix & thumbnails & ocs & webdav & storage & accounts & store & settings -ocis-phoenix --> ocis-reva-fronted -ocis-reva-fronted --> ocis-reva-gateway konnectd --> glauth +storage --> REVA -ocis-reva-gateway --> accounts -ocis-reva-gateway --> ocis-reva-authbasic -ocis-reva-gateway --> ocis-reva-auth-bearer - -ocis-reva-gateway --> ocis-reva-sharing -ocis-reva-gateway --> ocis-reva-storage-home-* -ocis-reva-storage-home-* --> ocis-reva-storage-home-*-data -ocis-reva-sharing --> redis {{< /mermaid >}} diff --git a/docs/ocis/deployment/_index.md b/docs/ocis/deployment/_index.md index 1ebcd9fa41..d308ed69f0 100644 --- a/docs/ocis/deployment/_index.md +++ b/docs/ocis/deployment/_index.md @@ -9,16 +9,15 @@ geekdocFilePath: _index.md {{< toc >}} -## Deployments Scenarios and Examples -This section handles deployments and operations for admins. If you are looking for a development setup, start with +## Deployments scenarios and examples +This section handles deployments and operations for admins. If you are looking for a development setup, start with [Getting started](https://owncloud.github.io/ocis/getting-started/). -### Setup oCIS -oCIS deployments are super simple, yet there are many configrations possible for advanced setups. +### Setup oCIS on your server +oCIS deployments are super simple, yet there are many configurations possible for advanced setups. -- Basic setup - download and run -- Pick services and manage them individually -- SSL offloading with Traefik -- Use an external IDP +- [Basic oCIS setup]({{< ref "basic-remote-setup.md" >}}) - configure domain, certificates and port +- [oCIS setup with Traefik for ssl termination]({{< ref "ocis_traefik.md" >}}) +- [oCIS setup with external OIDC IDP]({{< ref "ocis_external_idp.md" >}}) ### Migrate an existing ownCloud 10 You can run ownCloud 10 and oCIS together. This allows you to use new parts of oCIS already with ownCloud 10 and also to have a smooth transition for users from ownCloud 10 to oCIS. diff --git a/docs/ocis/deployment/bridge.md b/docs/ocis/deployment/bridge.md index 9f276170a5..079e3c1026 100644 --- a/docs/ocis/deployment/bridge.md +++ b/docs/ocis/deployment/bridge.md @@ -1,6 +1,6 @@ --- title: "Bridge" -date: 2020-02-27T20:35:00+01:00 +date: 2022-02-27T20:35:00+01:00 weight: 30 geekdocRepo: https://github.com/owncloud/ocis geekdocEditPath: edit/master/docs/ocis/deployment diff --git a/docs/ocis/deployment/ocis_external_konnectd.md b/docs/ocis/deployment/ocis_external_idp.md similarity index 69% rename from docs/ocis/deployment/ocis_external_konnectd.md rename to docs/ocis/deployment/ocis_external_idp.md index 6f8b2eb64b..e61ba1808b 100644 --- a/docs/ocis/deployment/ocis_external_konnectd.md +++ b/docs/ocis/deployment/ocis_external_idp.md @@ -1,59 +1,36 @@ --- -title: "ocis with konnectd on external node deployment scenario" +title: "oCIS with external IDP" date: 2020-10-12T14:39:00+01:00 weight: 26 geekdocRepo: https://github.com/owncloud/ocis geekdocEditPath: edit/master/docs/ocis/deployment -geekdocFilePath: ocis_external_konnectd.md +geekdocFilePath: ocis_external_idp.md --- {{< toc >}} -This scenario shows how to setup ocis with konnectd as idp running on a separate node. Both node are having separate domains pointing on the servers. +This scenario shows how to setup oCIS and konnectd as external IDP (identity provider). Both have separate domains and will be configured to work together. ## Overview -* ocis and konnectd running on linux nodes behind traefik as reverse proxy -* Cloudflare DNS is resolving the domains -* Letsencrypt provides ssl certificates for the domains -* Traefik docker container terminates ssl and forwards http requests to the services +* Server 1: oCIS running behind traefik as reverse proxy +* Server 2: IDP running behind traefik as reverse proxy +* Valid ssl certificates for the domains for ssl termination -## Nodes +[Find this example on GitHub](https://github.com/owncloud/ocis/tree/master/deployments/examples/ocis_external_konnectd) + + + +## Server Deployment ### Requirements -* Server running Ubuntu 20.04 is public availible with a static ip address -* Two A-records for both domains are pointing on the servers ip address -* Create user +* 2 Linux servers, each with docker and docker-compose installed +* Two domains set up and pointing to the target server - `$ sudo adduser username` +See also [example server setup]({{< ref "preparing_server.md" >}}) -* Add user to sudo group - - `$ sudo usermod -aG sudo username` - -* Add users pub key to `~/.ssh/authorized_keys` -* Setup ssh to permit authorisation only by ssh key -* Install docker - - `$ sudo apt install docker.io` - -* Add user to docker group - - `$ sudo usermod -aG docker username` - -* Install docker-compose via - - `$ sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose` - - (docker compose version 1.27.4 as of today) -* Make docker-compose executable - - `$ sudo chmod +x /usr/local/bin/docker-compose` - -* Environment variables for OCIS Stack are provided by .env file - -### Setup on ocis server +### Install oCIS server * Clone ocis repository @@ -77,7 +54,7 @@ This scenario shows how to setup ocis with konnectd as idp running on a separate `docker-compose up -d` -### Setup on idp server +### Install IDP server * Clone ocis repository @@ -105,11 +82,7 @@ This scenario shows how to setup ocis with konnectd as idp running on a separate `docker-compose up -d` -### Stack - -On both nodes, a traefik dokcer container is terminating ssl and forwards the http requests to the services. The nodes are named according to their services. - -### Config +### Configuration #### Repository structure @@ -192,3 +165,8 @@ ocis: - 9125:9125 ... ``` + +## Local setup +For simple local ocis setup see [Getting started]({{< ref "../getting-started.md" >}}) + +Local setup coming soon \ No newline at end of file diff --git a/docs/ocis/deployment/ocis_oc10_backend.md b/docs/ocis/deployment/ocis_oc10_backend.md index 3a2e28ff71..08144c7692 100644 --- a/docs/ocis/deployment/ocis_oc10_backend.md +++ b/docs/ocis/deployment/ocis_oc10_backend.md @@ -1,5 +1,5 @@ --- -title: "ocis frontend with oc10 backend deployment scenario" +title: "ownCloud Web with ownCloud 10" date: 2020-10-12T14:04:00+01:00 weight: 25 geekdocRepo: https://github.com/owncloud/ocis @@ -9,58 +9,35 @@ geekdocFilePath: ocis_frontend_oc10_backend.md {{< toc >}} -This deployment scenario shows how to use ocis as frontend for an existing ownCloud 10 production installation. It enables -ownCloud 10 users to log in and work with their files using the new ocis-web UI. While the scenario includes +This deployment scenario shows how to use ownCloud Web as frontend for an existing ownCloud 10 production installation. It enables +ownCloud 10 users to log in and work with their files using the new ownCloud Web. While the scenario includes an ownCloud 10 instance, it only exists to show the necessary configuration for your already existing ownCloud 10 installation. -The described setup can also be used to do a zero-downtime migration from ownCloud 10 to ocis. - ## Overview -### Node Setup +* oCIS setup serving ownCloud Web +* ownCloud 10 setup connected to oCIS +* DNS is resolving one domain for ocis and one for oc10 +* Valid ssl certificates for the domains for ssl termination -* ocis and oc10 running as docker containers behind traefik as reverse proxy -* Cloudflare DNS is resolving one domain for ocis and one for oc10 -* Letsencrypt is providing valid ssl certificate for both domains +[Find this example on GitHub](https://github.com/owncloud/ocis/tree/master/deployments/examples/ocis_external_konnectd) -## Node Deployment +## Server Deployment ### Requirements -* Server running Ubuntu 20.04 is publicly available with a static ip address -* Two A-records for both domains are pointing to the servers ip address -* Create user +* Linux server(s) with docker and docker-compose installed +* Two domains set up and pointing to your server(s) - `$ sudo adduser username` - -* Add user to sudo group - - `$ sudo usermod -aG sudo username` - -* Add users pub key to `~/.ssh/authorized_keys` -* Setup ssh to permit authorisation only by ssh key -* Install docker - - `$ sudo apt install docker.io` - -* Add user to docker group - - `$ sudo usermod -aG docker username` - -* Install docker-compose via - - `$ sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose` - - (docker compose version 1.27.4 as of today) -* Make docker-compose executable - - `$ sudo chmod +x /usr/local/bin/docker-compose` - -* Environment variables for oCIS Stack are provided by .env file +See also [example server setup]({{< ref "preparing_server.md" >}}) ### Setup on server +The application stack is separated in docker containers. One is a traefik proxy which is terminating ssl and forwards the https requests to the internal docker network. Additionally, traefik is creating two certificates that are stored in the file `letsencrypt/acme.json` of the users home directory. In a local setup, this traefik is not included. +The next container is the ocis server which is exposing the webservice on port 9200 to traefik and provides the oidc provider `konnectd` to owncloud. +oc10 is running as a three container setup out of owncloud-server, a db container and a redis container as memcache storage. + * Clone ocis repository `git clone https://github.com/owncloud/ocis.git` @@ -84,11 +61,6 @@ The described setup can also be used to do a zero-downtime migration from ownClo The domains from your `.env` will be used for building the configuration files during the docker start. -### Stack - -The application stack is separated in docker containers. One is a traefik proxy which is terminating ssl and forwards the https requests to the internal docker network. Additionally, traefik is creating two certificates that are stored in the file `letsencrypt/acme.json` of the users home directory. In a local setup, this traefik is not included. -The next container is the ocis server which is exposing the webservice on port 9200 to traefik and provides the oidc provider `konnectd` to owncloud. -oc10 is running as a three container setup out of owncloud-server, a db container and a redis container as memcache storage. ### Config @@ -366,7 +338,8 @@ Constraints: In this setup it's mandatory that the user has an email address set Especially the default admin user doesn't have an email assigned. If your admin user doesn't have an email address, yet, please set one: `docker-compose exec owncloud occ user:modify admin email "admin@example.org"` -## Local deployment +## Local setup +For simple local ocis setup see [Getting started]({{< ref "../getting-started.md" >}}) If you want to start the bridge setup on your local development machine, there are a few steps necessary: diff --git a/docs/ocis/deployment/ocis_traefik.md b/docs/ocis/deployment/ocis_traefik.md index 8d496768e8..8af55d476e 100644 --- a/docs/ocis/deployment/ocis_traefik.md +++ b/docs/ocis/deployment/ocis_traefik.md @@ -1,5 +1,5 @@ --- -title: "ocis with traefik deployment scenario" +title: "oCIS with Traefik" date: 2020-10-12T14:04:00+01:00 weight: 24 geekdocRepo: https://github.com/owncloud/ocis @@ -11,47 +11,27 @@ geekdocFilePath: ocis_traefik.md ## Overview -* ocis running on a hcloud node behind traefik as reverse proxy -* Cloudflare DNS is resolving the domain -* Letsencrypt provides a ssl certificate for the domain -* Traefik docker container terminates ssl and forwards http requests to ocis +* oCIS running behind traefik as reverse proxy +* Valid ssl certificates for the domains for ssl termination -## Node +[Find this example on GitHub](https://github.com/owncloud/ocis/tree/master/deployments/examples/ocis_traefik) + + + +## Server Deployment ### Requirements -* Server running Ubuntu 20.04 is public availible with a static ip address -* Two A-records for both domains are pointing on the servers ip address -* Create user +* Linux server(s) with docker and docker-compose installed +* Two domains set up and pointing to your server(s) - `$ sudo adduser username` +See also [example server setup]({{< ref "preparing_server.md" >}}) -* Add user to sudo group - `$ sudo usermod -aG sudo username` +### Install oCIS and Traefik -* Add users pub key to `~/.ssh/authorized_keys` -* Setup ssh to permit authorisation only by ssh key -* Install docker - - `$ sudo apt install docker.io` - -* Add user to docker group - - `$ sudo usermod -aG docker username` - -* Install docker-compose via - - `$ sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose` - - (docker compose version 1.27.4 as of today) -* Make docker-compose executable - - `$ sudo chmod +x /usr/local/bin/docker-compose` - -* Environment variables for oCIS Stack are provided by .env file - -### Setup on server +The application stack contains two containers. The first one is a traefik proxy which is terminating ssl and forwards the requests to the internal docker network. Additional, traefik is creating a certificate that is stored in `acme.json` in the folder `letsencrypt` inside the users home directory. +The second one is th ocis server which is exposing the webservice on port 9200 to traefik. * Clone ocis repository @@ -77,12 +57,7 @@ geekdocFilePath: ocis_traefik.md `docker-compose up -d` -### Stack - -The application stack contains two containers. The first one is a traefik proxy which is terminating ssl and forwards the requests to the internal docker network. Additional, traefik is creating a certificate that is stored in `acme.json` in the folder `letsencrypt` inside the users home directory. -The second one is th ocis server which is exposing the webservice on port 9200 to traefic. - -### Config +### Configuration Edit docker-compose.yml file to fit your domain setup @@ -146,3 +121,8 @@ To make it availible for ocis inside of the container, `config` hast to be mount KONNECTD_IDENTIFIER_REGISTRATION_CONF: "/etc/ocis/identifier-registration.yml" ... ``` + +## Local setup +For simple local ocis setup see [Getting started]({{< ref "../getting-started.md" >}}) + +Local setup with Traefik coming soon \ No newline at end of file diff --git a/docs/ocis/deployment/preparing_server.md b/docs/ocis/deployment/preparing_server.md new file mode 100644 index 0000000000..5e6bba68e4 --- /dev/null +++ b/docs/ocis/deployment/preparing_server.md @@ -0,0 +1,67 @@ +--- +title: "Preparing a server" +date: 2020-10-12T14:04:00+01:00 +weight: 10 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/ocis/deployment +geekdocFilePath: preparing_server.md +--- + +{{< toc >}} + + +## Example for Hetzner Cloud +* create server on Hetzner Cloud. Set labels "owner" and "for". Example for hcloud cli: +`hcloud server create --type cx21 --image ubuntu-20.04 --ssh-key admin --name ocis-server --label owner=admin --label for=testing` + +* Configure DNS A-records for needed domains pointing on the servers ip address, for example in CloudFlare + +* Access server via ssh as root + +* Create a new user + + `$ adduser --disabled-password --gecos "" admin` + +* Add user to sudo group + + `$ usermod -aG sudo admin` + +* Install docker + + ``` + apt update + apt install docker.io + ``` + +* Add user to docker group + + `usermod -aG docker admin` + +* Install docker-compose via + + `curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose` + + (docker compose version 1.27.4 as of today) +* Make docker-compose executable + + `chmod +x /usr/local/bin/docker-compose` + + +* Add users pub key to + ``` + mkdir /home/admin/.ssh + echo "" >> /home/admin/.ssh/authorized_keys` + chown admin:admin -R /home/admin/.ssh + ``` + +* Secure ssh daemon by editing `/etc/ssh/sshd_config` + ``` + PermitRootLogin no + ChallengeResponseAuthentication no + PasswordAuthentication no + UsePAM no + ``` + +* restart sshd server to apply settings `systemctl restart sshd` + +* Login as the user you created diff --git a/docs/ocis/development/_index.md b/docs/ocis/development/_index.md index 9730473efe..c3fc859271 100644 --- a/docs/ocis/development/_index.md +++ b/docs/ocis/development/_index.md @@ -8,5 +8,3 @@ geekdocFilePath: _index.md --- {{< toc >}} - -## Deployments Scenarios and Examples diff --git a/docs/ocis/getting-started.md b/docs/ocis/getting-started.md index d3c14b70c7..6b01901d68 100644 --- a/docs/ocis/getting-started.md +++ b/docs/ocis/getting-started.md @@ -9,79 +9,43 @@ geekdocFilePath: getting-started.md {{< toc >}} -## Installation +## Run oCIS + +We are distributing oCIS as binaries and Docker images. + +You can find more deployments examples in the [deployment section](https://owncloud.github.io/ocis/deployment/) + +### Binaries + +The binaries for different platforms are downloadable at [our download mirror](https://download.owncloud.com/ocis/ocis/) or on [GitHub](https://github.com/owncloud/ocis/releases). Latest binaries from the master branch can be found at [our download mirrors testing section](https://download.owncloud.com/ocis/ocis/testing/). + +```console +# for mac +curl https://download.owncloud.com/ocis/ocis/testing/ocis-testing-darwin-amd64 --output ocis +# for linux +curl https://download.owncloud.com/ocis/ocis/testing/ocis-testing-linux-amd64 --output ocis +# make binary executable +chmod +x ocis +./ocis server +``` + +The default primary storage location is `/var/tmp/`. You can change that value by configuration. -So far we are offering two different variants for the installation. You can choose between [Docker](https://www.docker.com/) or pre-built binaries which are stored on our download mirrors and GitHub releases. Maybe we will also provide system packages for the major distributions later if we see the need for it. ### Docker -Docker images for ocis are hosted on https://hub.docker.com/r/owncloud/ocis. +Docker images for oCIS are available on [Docker Hub](https://hub.docker.com/r/owncloud/ocis). The `latest` tag always reflects the current master branch. ```console docker pull owncloud/ocis +docker run --rm -ti -p 9200:9200 owncloud/ocis ``` -#### Dependencies - -- Running ocis currently needs a working Redis caching server -- The default storage location in the container is `/var/tmp/reva/data`. You may want to create a volume to persist the files in the primary storage - -#### Docker compose - -You can use our docker-compose [playground example](https://github.com/owncloud-docker/compose-playground/tree/master/ocis) to run ocis with dependencies with a single command in a docker network. - -```console -git clone git@github.com:owncloud-docker/compose-playground.git -cd compose-playground/ocis -docker-compose -f ocis.yml -f ../cache/redis-ocis.yml up -``` - -### Binaries - -The pre-built binaries for different platforms are downloadable at https://download.owncloud.com/ocis/ocis/ . Specific releases are organized in separate folders. They are in sync which every release tag on GitHub. The binaries from the current master branch can be found in https://download.owncloud.com/ocis/ocis/testing/ - -```console -curl https://download.owncloud.com/ocis/ocis/1.0.0-beta1/ocis-1.0.0-beta1-darwin-amd64 --output ocis -chmod +x ocis -./ocis server -``` - -#### Dependencies - -- Running ocis currently needs a working Redis caching server -- The default promary storage location is `/var/tmp/reva/data`. You can change that value by configuration. - ## Usage -The program provides a few sub-commands on execution. The available configuration methods have already been mentioned above. Generally you can always see a formated help output if you execute the binary via `ocis --help`. - -### Server - -The server command is used to start the http and debug server on two addresses within a single process. The http server is serving the general webservice while the debug server is used for health check, readiness check and to server the metrics mentioned below. For further help please execute: - -{{< highlight txt >}} -ocis server --help -{{< / highlight >}} - -### Health - -The health command is used to execute a health check, if the exit code equals zero the service should be up and running, if the exist code is greater than zero the service is not in a healthy state. Generally this command is used within our Docker containers, it could also be used within Kubernetes. - -{{< highlight txt >}} -ocis health --help -{{< / highlight >}} - -## Quickstart for Developers - -Following https://github.com/owncloud/ocis#development - -```console -git clone https://github.com/owncloud/ocis.git -cd ocis -make generate build -``` +### Login to oCIS Web Open https://localhost:9200 and login using one of the demo accounts: @@ -97,138 +61,40 @@ moss:vista admin:admin ``` -## Runtime +### Basic Commands -Included with the ocis binary is embedded a go-micro runtime that is in charge of starting services as a fork of the master process. This provides complete control over the services. Ocis extensions can be added as part of this runtime. +The program provides a few sub-commands on execution. The available configuration methods have already been mentioned above. Generally you can always see a formatted help output if you execute the binary via `ocis --help`. -```console -./bin/ocis micro -``` +The server command is used to start the http and debug server on two addresses within a single process. The http server is serving the general web service while the debug server is used for health check, readiness check and to server the metrics mentioned below. -This will currently boot: +To start oCIS server: -```console -com.owncloud.api -com.owncloud.http.broker -com.owncloud.proxy -com.owncloud.registry -com.owncloud.router -com.owncloud.runtime -com.owncloud.web -go.micro.http.broker -``` +{{< highlight txt >}} +ocis server +{{< / highlight >}} -Further ocis extensions can be added to the runtime via the ocis command like: +The list command prints all running oCIS services. +{{< highlight txt >}} +ocis list +{{< / highlight >}} -```console -./bin/ocis hello -``` +To stop a particular extension: +{{< highlight txt >}} +ocis server kill phoenix +{{< / highlight >}} -Which will register: +To start a particular extension: +{{< highlight txt >}} +ocis server run phoenix +{{< / highlight >}} -```console -com.owncloud.web.hello -com.owncloud.api.hello -``` +The version command prints the version of your installed oCIS. +{{< highlight txt >}} +ocis --version +{{< / highlight >}} -To the list of available services. +The health command is used to execute a health check, if the exit code equals zero the service should be up and running, if the exist code is greater than zero the service is not in a healthy state. Generally this command is used within our Docker containers, it could also be used within Kubernetes. -## Metrics - -This service provides some [Prometheus](https://prometheus.io/) metrics through the debug endpoint, you can optionally secure the metrics endpoint by some random token, which got to be configured through one of the flag `--debug-token` or the environment variable `OCIS_DEBUG_TOKEN` mentioned above. By default the metrics endpoint is bound to `http://0.0.0.0:8001/metrics`. - -go_gc_duration_seconds -: A summary of the GC invocation durations - -go_gc_duration_seconds_sum -: A summary of the GC invocation durations - -go_gc_duration_seconds_count -: A summary of the GC invocation durations - -go_goroutines -: Number of goroutines that currently exist - -go_info -: Information about the Go environment - -go_memstats_alloc_bytes -: Number of bytes allocated and still in use - -go_memstats_alloc_bytes_total -: Total number of bytes allocated, even if freed - -go_memstats_buck_hash_sys_bytes -: Number of bytes used by the profiling bucket hash table - -go_memstats_frees_total -: Total number of frees - -go_memstats_gc_cpu_fraction -: The fraction of this program's available CPU time used by the GC since the program started - -go_memstats_gc_sys_bytes -: Number of bytes used for garbage collection system metadata - -go_memstats_heap_alloc_bytes -: Number of heap bytes allocated and still in use - -go_memstats_heap_idle_bytes -: Number of heap bytes waiting to be used - -go_memstats_heap_inuse_bytes -: Number of heap bytes that are in use - -go_memstats_heap_objects -: Number of allocated objects - -go_memstats_heap_released_bytes -: Number of heap bytes released to OS - -go_memstats_heap_sys_bytes -: Number of heap bytes obtained from system - -go_memstats_last_gc_time_seconds -: Number of seconds since 1970 of last garbage collection - -go_memstats_lookups_total -: Total number of pointer lookups - -go_memstats_mallocs_total -: Total number of mallocs - -go_memstats_mcache_inuse_bytes -: Number of bytes in use by mcache structures - -go_memstats_mcache_sys_bytes -: Number of bytes used for mcache structures obtained from system - -go_memstats_mspan_inuse_bytes -: Number of bytes in use by mspan structures - -go_memstats_mspan_sys_bytes -: Number of bytes used for mspan structures obtained from system - -go_memstats_next_gc_bytes -: Number of heap bytes when next garbage collection will take place - -go_memstats_other_sys_bytes -: Number of bytes used for other system allocations - -go_memstats_stack_inuse_bytes -: Number of bytes in use by the stack allocator - -go_memstats_stack_sys_bytes -: Number of bytes obtained from system for stack allocator - -go_memstats_sys_bytes -: Number of bytes obtained from system - -go_threads -: Number of OS threads created - -promhttp_metric_handler_requests_in_flight -: Current number of scrapes being served - -promhttp_metric_handler_requests_total -: Total number of scrapes by HTTP status code +{{< highlight txt >}} +ocis health --help +{{< / highlight >}} \ No newline at end of file diff --git a/docs/ocis/metrics.md b/docs/ocis/metrics.md new file mode 100644 index 0000000000..6923e951d6 --- /dev/null +++ b/docs/ocis/metrics.md @@ -0,0 +1,109 @@ +--- +title: "Metrics" +date: 2020-05-04T20:47:00+01:00 +weight: 43 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/ocis +geekdocFilePath: metrics.md +--- + + +## Metrics + +This service provides some [Prometheus](https://prometheus.io/) metrics through the debug endpoint, you can optionally secure the metrics endpoint by some random token, which got to be configured through one of the flag `--debug-token` or the environment variable `OCIS_DEBUG_TOKEN` mentioned above. By default the metrics endpoint is bound to `http://0.0.0.0:8001/metrics`. + +go_gc_duration_seconds +: A summary of the GC invocation durations + +go_gc_duration_seconds_sum +: A summary of the GC invocation durations + +go_gc_duration_seconds_count +: A summary of the GC invocation durations + +go_goroutines +: Number of goroutines that currently exist + +go_info +: Information about the Go environment + +go_memstats_alloc_bytes +: Number of bytes allocated and still in use + +go_memstats_alloc_bytes_total +: Total number of bytes allocated, even if freed + +go_memstats_buck_hash_sys_bytes +: Number of bytes used by the profiling bucket hash table + +go_memstats_frees_total +: Total number of frees + +go_memstats_gc_cpu_fraction +: The fraction of this program's available CPU time used by the GC since the program started + +go_memstats_gc_sys_bytes +: Number of bytes used for garbage collection system metadata + +go_memstats_heap_alloc_bytes +: Number of heap bytes allocated and still in use + +go_memstats_heap_idle_bytes +: Number of heap bytes waiting to be used + +go_memstats_heap_inuse_bytes +: Number of heap bytes that are in use + +go_memstats_heap_objects +: Number of allocated objects + +go_memstats_heap_released_bytes +: Number of heap bytes released to OS + +go_memstats_heap_sys_bytes +: Number of heap bytes obtained from system + +go_memstats_last_gc_time_seconds +: Number of seconds since 1970 of last garbage collection + +go_memstats_lookups_total +: Total number of pointer lookups + +go_memstats_mallocs_total +: Total number of mallocs + +go_memstats_mcache_inuse_bytes +: Number of bytes in use by mcache structures + +go_memstats_mcache_sys_bytes +: Number of bytes used for mcache structures obtained from system + +go_memstats_mspan_inuse_bytes +: Number of bytes in use by mspan structures + +go_memstats_mspan_sys_bytes +: Number of bytes used for mspan structures obtained from system + +go_memstats_next_gc_bytes +: Number of heap bytes when next garbage collection will take place + +go_memstats_other_sys_bytes +: Number of bytes used for other system allocations + +go_memstats_stack_inuse_bytes +: Number of bytes in use by the stack allocator + +go_memstats_stack_sys_bytes +: Number of bytes obtained from system for stack allocator + +go_memstats_sys_bytes +: Number of bytes obtained from system + +go_threads +: Number of OS threads created + +promhttp_metric_handler_requests_in_flight +: Current number of scrapes being served + +promhttp_metric_handler_requests_total +: Total number of scrapes by HTTP status code