summaryrefslogtreecommitdiffstats
path: root/src/go/collectors/go.d.plugin/config/go.d/sd/docker.conf
diff options
context:
space:
mode:
Diffstat (limited to 'src/go/collectors/go.d.plugin/config/go.d/sd/docker.conf')
-rw-r--r--src/go/collectors/go.d.plugin/config/go.d/sd/docker.conf183
1 files changed, 183 insertions, 0 deletions
diff --git a/src/go/collectors/go.d.plugin/config/go.d/sd/docker.conf b/src/go/collectors/go.d.plugin/config/go.d/sd/docker.conf
new file mode 100644
index 0000000000..b67ca92fec
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/config/go.d/sd/docker.conf
@@ -0,0 +1,183 @@
+name: 'docker'
+
+discover:
+ - discoverer: docker
+ docker:
+ tags: "unknown"
+ address: "unix:///var/run/docker.sock"
+
+classify:
+ - name: "Skip"
+ selector: "unknown"
+ tags: "skip"
+ match:
+ - tags: "skip"
+ expr: |
+ {{ $netNOK := eq .NetworkMode "host" -}}
+ {{ $protoNOK := not (eq .PortProtocol "tcp") -}}
+ {{ $portNOK := empty .PrivatePort -}}
+ {{ $addrNOK := or (empty .IPAddress) (glob .PublicPortIP "*:*") -}}
+ {{ or $netNOK $protoNOK $portNOK $addrNOK }}
+ - name: "Applications"
+ selector: "!skip unknown"
+ tags: "-unknown app"
+ match:
+ - tags: "apache"
+ expr: '{{ match "sp" .Image "httpd httpd:* */apache */apache:* */apache2 */apache2:*" }}'
+ - tags: "cockroachdb"
+ expr: '{{ match "sp" .Image "cockroachdb/cockroach cockroachdb/cockroach:*" }}'
+ - tags: "consul"
+ expr: '{{ match "sp" .Image "consul consul:* */consul */consul:*" }}'
+ - tags: "coredns"
+ expr: '{{ match "sp" .Image "*/coredns */coredns:*" }}'
+ - tags: "couchbase"
+ expr: '{{ match "sp" .Image "couchbase couchbase:*" }}'
+ - tags: "couchdb"
+ expr: '{{ match "sp" .Image "couchdb couchdb:*" }}'
+ - tags: "elasticsearch"
+ expr: '{{ match "sp" .Image "elasticsearch elasticsearch:* */elasticsearch */elasticsearch:*" }}'
+ - tags: "opensearch"
+ expr: '{{ match "sp" .Image "*/opensearch */opensearch:*" }}'
+ - tags: "lighttpd"
+ expr: '{{ match "sp" .Image "*/lighttpd */lighttpd:*" }}'
+ - tags: "mongodb"
+ expr: '{{ match "sp" .Image "mongo mongo:* */mongodb */mongodb:*" }}'
+ - tags: "mysql"
+ expr: '{{ match "sp" .Image "mysql mysql:* */mysql */mysql:* mariadb mariadb:* */mariadb */mariadb:* percona percona:* */percona-mysql */percona-mysql:*" }}'
+ - tags: "nginx"
+ expr: '{{ match "sp" .Image "nginx nginx:*" }}'
+ - tags: "pgbouncer"
+ expr: '{{ match "sp" .Image "*/pgbouncer */pgbouncer:*" }}'
+ - tags: "pika"
+ expr: '{{ match "sp" .Image "pikadb/pika pikadb/pika:*" }}'
+ - tags: "postgres"
+ expr: '{{ match "sp" .Image "postgres postgres:* */postgres */postgres:* */postgresql */postgresql:*" }}'
+ - tags: "proxysql"
+ expr: '{{ match "sp" .Image "*/proxysql */proxysql:*" }}'
+ - tags: "rabbitmq"
+ expr: '{{ match "sp" .Image "rabbitmq rabbitmq:* */rabbitmq */rabbitmq:*" }}'
+ - tags: "redis"
+ expr: '{{ match "sp" .Image "redis redis:* */redis */redis:*" }}'
+ - tags: "tengine"
+ expr: '{{ match "sp" .Image "*/tengine */tengine:*" }}'
+ - tags: "vernemq"
+ expr: '{{ match "sp" .Image "*/vernemq */vernemq:*" }}'
+ - tags: "zookeeper"
+ expr: '{{ match "sp" .Image "*/zookeeper */zookeeper:*" }}'
+compose:
+ - name: "Applications"
+ selector: "app"
+ config:
+ - selector: "apache"
+ template: |
+ module: apache
+ name: docker_{{.Name}}
+ url: http://{{.Address}}/server-status?auto
+ - selector: "cockroachdb"
+ template: |
+ module: cockroachdb
+ name: docker_{{.Name}}
+ url: http://{{.Address}}/_status/vars
+ - selector: "consul"
+ template: |
+ module: consul
+ name: docker_{{.Name}}
+ url: http://{{.Address}}
+ - selector: "coredns"
+ template: |
+ module: coredns
+ name: docker_{{.Name}}
+ url: http://{{.Address}}/metrics
+ - selector: "coredns"
+ template: |
+ module: coredns
+ name: docker_{{.Name}}
+ url: http://{{.Address}}/metrics
+ - selector: "couchbase"
+ template: |
+ module: couchbase
+ name: docker_{{.Name}}
+ url: http://{{.Address}}
+ - selector: "couchdb"
+ template: |
+ module: couchdb
+ name: docker_{{.Name}}
+ url: http://{{.Address}}
+ - selector: "elasticsearch"
+ template: |
+ module: elasticsearch
+ name: docker_{{.Name}}
+ url: http://{{.Address}}
+ - selector: "opensearch"
+ template: |
+ module: elasticsearch
+ name: docker_{{.Name}}
+ url: https://{{.Address}}
+ tls_skip_verify: yes
+ username: admin
+ password: admin
+ - selector: "lighttpd"
+ template: |
+ module: lighttpd
+ name: docker_{{.Name}}
+ url: http://{{.Address}}/server-status?auto
+ - selector: "mongodb"
+ template: |
+ module: mongodb
+ name: docker_{{.Name}}
+ uri: mongodb://{{.Address}}
+ - selector: "mysql"
+ template: |
+ module: mysql
+ name: docker_{{.Name}}
+ dsn: netdata@tcp({{.IPAddress}}:{{.PrivatePort}})/
+ - selector: "nginx"
+ template: |
+ module: nginx
+ name: docker_{{.Name}}
+ url: http://{{.Address}}/stub_status
+ - selector: "pgbouncer"
+ template: |
+ module: pgbouncer
+ name: docker_{{.Name}}
+ dsn: postgres://netdata:postgres@{{.IPAddress}}:{{.PrivatePort}}/pgbouncer
+ - selector: "pika"
+ template: |
+ module: pika
+ name: docker_{{.Name}}
+ address: redis://@{{.IPAddress}}:{{.PrivatePort}}
+ - selector: "postgres"
+ template: |
+ module: postgres
+ name: docker_{{.Name}}
+ dsn: postgres://netdata:postgres@{{.IPAddress}}:{{.PrivatePort}}/postgres
+ - selector: "proxysql"
+ template: |
+ module: proxysql
+ name: docker_{{.Name}}
+ dsn: stats:stats@tcp({{.IPAddress}}:{{.PrivatePort}})/
+ - selector: "rabbitmq"
+ template: |
+ module: rabbitmq
+ name: docker_{{.Name}}
+ url: http://{{.Address}}
+ - selector: "redis"
+ template: |
+ module: redis
+ name: docker_{{.Name}}
+ address: redis://@{{.IPAddress}}:{{.PrivatePort}}
+ - selector: "tengine"
+ template: |
+ module: tengine
+ name: docker_{{.Name}}
+ url: http://{{.Address}}/us
+ - selector: "vernemq"
+ template: |
+ module: vernemq
+ name: docker_{{.Name}}
+ url: http://{{.Address}}/metrics
+ - selector: "zookeeper"
+ template: |
+ module: vernemq
+ name: docker_{{.Name}}
+ address: {{.Address}}