aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Cabergs <me@cacharle.xyz>2020-10-28 19:10:38 +0100
committerCharles Cabergs <me@cacharle.xyz>2020-10-28 19:10:38 +0100
commit6a0cc90d98d5bc83939095978b9382b65db5e04c (patch)
tree1f2ad122299922f18fa58f39b9dbc77035bde8c1
parent7de2bedaae3bd64894a497e31a44914d4c033531 (diff)
downloadft_services-6a0cc90d98d5bc83939095978b9382b65db5e04c.tar.gz
ft_services-6a0cc90d98d5bc83939095978b9382b65db5e04c.tar.bz2
ft_services-6a0cc90d98d5bc83939095978b9382b65db5e04c.zip
Added telegraf to all services, Added dashboards and data source in grafana
-rw-r--r--srcs/ftps/Dockerfile14
-rw-r--r--srcs/ftps/entrypoint.sh4
-rw-r--r--srcs/ftps/telegraf.conf46
-rw-r--r--srcs/grafana/Dockerfile15
-rw-r--r--srcs/grafana/entrypoint.sh6
-rw-r--r--srcs/grafana/grafana.dbbin0 -> 1105920 bytes
-rw-r--r--srcs/grafana/telegraf.conf46
-rw-r--r--srcs/influxdb/Dockerfile14
-rw-r--r--srcs/influxdb/entrypoint.sh4
-rw-r--r--srcs/influxdb/telegraf.conf46
-rw-r--r--srcs/mysql/Dockerfile8
-rwxr-xr-xsrcs/mysql/entrypoint.sh2
-rw-r--r--srcs/mysql/telegraf.conf46
-rw-r--r--srcs/nginx/Dockerfile7
-rwxr-xr-xsrcs/nginx/src/entrypoint.sh2
-rw-r--r--srcs/nginx/telegraf.conf46
-rw-r--r--srcs/phpmyadmin/Dockerfile9
-rwxr-xr-xsrcs/phpmyadmin/entrypoint.sh2
-rw-r--r--srcs/phpmyadmin/telegraf.conf46
-rw-r--r--srcs/wordpress/Dockerfile5
-rwxr-xr-xsrcs/wordpress/entrypoint.sh2
-rw-r--r--srcs/wordpress/telegraf.conf46
22 files changed, 404 insertions, 12 deletions
diff --git a/srcs/ftps/Dockerfile b/srcs/ftps/Dockerfile
index 418ae89..92a4de8 100644
--- a/srcs/ftps/Dockerfile
+++ b/srcs/ftps/Dockerfile
@@ -3,7 +3,7 @@ FROM alpine
RUN apk update && \
apk upgrade && \
apk add --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ pure-ftpd && \
- apk add openssl
+ apk add openssl curl
RUN adduser -D -h /home/charles charles && \
echo -e 'pass\npass' | passwd charles && \
@@ -12,7 +12,15 @@ RUN adduser -D -h /home/charles charles && \
RUN openssl req -x509 -nodes -days 7300 -subj "/C=FR/ST=fr/L=Belgiaque/O=19/CN=cacharle" \
-newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
+RUN curl 'https://dl.influxdata.com/telegraf/releases/telegraf-1.16.0_linux_i386.tar.gz' > telegraf.tar.gz && \
+ tar xvf telegraf.tar.gz && \
+ mv 'telegraf-1.16.0' telegraf
+COPY telegraf.conf /etc/telegraf/telegraf.conf
+
+COPY entrypoint.sh /entrypoint.sh
+RUN chmod +x entrypoint.sh
+
EXPOSE 21
+EXPOSE 21000
-# docker run -p 21:21 -p 21000:21000 -p 21001:21001 -p 21002:21002 -p 21003:21003 -p 21004:21004 -t ftps
-CMD ["pure-ftpd", "-p", "21000:21000", "-P", "192.168.99.110", "-Y", "2"]
+CMD "/entrypoint.sh"
diff --git a/srcs/ftps/entrypoint.sh b/srcs/ftps/entrypoint.sh
new file mode 100644
index 0000000..400389e
--- /dev/null
+++ b/srcs/ftps/entrypoint.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+/telegraf/usr/bin/telegraf &
+pure-ftpd -p 21000:21000 -P 192.168.99.110 -Y 2
diff --git a/srcs/ftps/telegraf.conf b/srcs/ftps/telegraf.conf
new file mode 100644
index 0000000..7ebe6e6
--- /dev/null
+++ b/srcs/ftps/telegraf.conf
@@ -0,0 +1,46 @@
+[global_tags]
+
+[agent]
+ interval = "10s"
+ round_interval = true
+ metric_batch_size = 1000
+ metric_buffer_limit = 10000
+ collection_jitter = "0s"
+ flush_interval = "10s"
+ flush_jitter = "0s"
+ precision = ""
+ hostname = ""
+ omit_hostname = false
+
+
+[[outputs.influxdb]]
+ urls = ["http://influxdb-service:8086"]
+ database = "ftps"
+
+[[inputs.cpu]]
+ percpu = true
+ totalcpu = true
+ collect_cpu_time = false
+ report_active = false
+
+
+[[inputs.disk]]
+ ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
+
+
+[[inputs.diskio]]
+
+
+[[inputs.kernel]]
+
+
+[[inputs.mem]]
+
+
+[[inputs.processes]]
+
+
+[[inputs.swap]]
+
+
+[[inputs.system]]
diff --git a/srcs/grafana/Dockerfile b/srcs/grafana/Dockerfile
index 20a5599..49797ca 100644
--- a/srcs/grafana/Dockerfile
+++ b/srcs/grafana/Dockerfile
@@ -7,6 +7,17 @@ RUN apk update && \
tar xvf grafana.tar.gz && \
mv grafana-7.2.1 grafana
-RUN mkdir /grafana/data && touch /grafana/data/grafana.db
+RUN mkdir /grafana/data
+COPY grafana.db /grafana/data/grafana.db
-CMD cd /grafana/bin && ./grafana-server
+RUN curl 'https://dl.influxdata.com/telegraf/releases/telegraf-1.16.0_linux_i386.tar.gz' > telegraf.tar.gz && \
+ tar xvf telegraf.tar.gz && \
+ mv 'telegraf-1.16.0' telegraf
+COPY telegraf.conf /etc/telegraf/telegraf.conf
+
+COPY entrypoint.sh /entrypoint.sh
+RUN chmod +x entrypoint.sh
+
+EXPOSE 3000
+
+CMD "/entrypoint.sh"
diff --git a/srcs/grafana/entrypoint.sh b/srcs/grafana/entrypoint.sh
new file mode 100644
index 0000000..8aeade3
--- /dev/null
+++ b/srcs/grafana/entrypoint.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+/telegraf/usr/bin/telegraf &
+
+cd /grafana/bin
+./grafana-server
diff --git a/srcs/grafana/grafana.db b/srcs/grafana/grafana.db
new file mode 100644
index 0000000..9066ea7
--- /dev/null
+++ b/srcs/grafana/grafana.db
Binary files differ
diff --git a/srcs/grafana/telegraf.conf b/srcs/grafana/telegraf.conf
new file mode 100644
index 0000000..0b2f5d1
--- /dev/null
+++ b/srcs/grafana/telegraf.conf
@@ -0,0 +1,46 @@
+[global_tags]
+
+[agent]
+ interval = "10s"
+ round_interval = true
+ metric_batch_size = 1000
+ metric_buffer_limit = 10000
+ collection_jitter = "0s"
+ flush_interval = "10s"
+ flush_jitter = "0s"
+ precision = ""
+ hostname = ""
+ omit_hostname = false
+
+
+[[outputs.influxdb]]
+ urls = ["http://influxdb-service:8086"]
+ database = "grafana"
+
+[[inputs.cpu]]
+ percpu = true
+ totalcpu = true
+ collect_cpu_time = false
+ report_active = false
+
+
+[[inputs.disk]]
+ ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
+
+
+[[inputs.diskio]]
+
+
+[[inputs.kernel]]
+
+
+[[inputs.mem]]
+
+
+[[inputs.processes]]
+
+
+[[inputs.swap]]
+
+
+[[inputs.system]]
diff --git a/srcs/influxdb/Dockerfile b/srcs/influxdb/Dockerfile
index 6f6defc..e491f22 100644
--- a/srcs/influxdb/Dockerfile
+++ b/srcs/influxdb/Dockerfile
@@ -2,6 +2,16 @@ FROM alpine
RUN apk update && \
apk upgrade && \
- apk add influxdb
+ apk add influxdb curl
-CMD ["influxd", "run"]
+RUN curl 'https://dl.influxdata.com/telegraf/releases/telegraf-1.16.0_linux_i386.tar.gz' > telegraf.tar.gz && \
+ tar xvf telegraf.tar.gz && \
+ mv 'telegraf-1.16.0' telegraf
+COPY telegraf.conf /etc/telegraf/telegraf.conf
+
+COPY entrypoint.sh /entrypoint.sh
+RUN chmod +x entrypoint.sh
+
+EXPOSE 8086
+
+CMD "/entrypoint.sh"
diff --git a/srcs/influxdb/entrypoint.sh b/srcs/influxdb/entrypoint.sh
new file mode 100644
index 0000000..ddd393a
--- /dev/null
+++ b/srcs/influxdb/entrypoint.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+/telegraf/usr/bin/telegraf &
+influxd run
diff --git a/srcs/influxdb/telegraf.conf b/srcs/influxdb/telegraf.conf
new file mode 100644
index 0000000..fef7cb1
--- /dev/null
+++ b/srcs/influxdb/telegraf.conf
@@ -0,0 +1,46 @@
+[global_tags]
+
+[agent]
+ interval = "10s"
+ round_interval = true
+ metric_batch_size = 1000
+ metric_buffer_limit = 10000
+ collection_jitter = "0s"
+ flush_interval = "10s"
+ flush_jitter = "0s"
+ precision = ""
+ hostname = ""
+ omit_hostname = false
+
+
+[[outputs.influxdb]]
+ urls = ["http://influxdb-service:8086"]
+ database = "influxdb"
+
+[[inputs.cpu]]
+ percpu = true
+ totalcpu = true
+ collect_cpu_time = false
+ report_active = false
+
+
+[[inputs.disk]]
+ ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
+
+
+[[inputs.diskio]]
+
+
+[[inputs.kernel]]
+
+
+[[inputs.mem]]
+
+
+[[inputs.processes]]
+
+
+[[inputs.swap]]
+
+
+[[inputs.system]]
diff --git a/srcs/mysql/Dockerfile b/srcs/mysql/Dockerfile
index 372e1ea..dcb4557 100644
--- a/srcs/mysql/Dockerfile
+++ b/srcs/mysql/Dockerfile
@@ -2,13 +2,17 @@ FROM alpine
RUN apk update && \
apk upgrade && \
- apk add mysql mysql-client --no-cache
-
+ apk add mysql mysql-client curl --no-cache
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
COPY my.cnf /etc/my.cnf
+RUN curl 'https://dl.influxdata.com/telegraf/releases/telegraf-1.16.0_linux_i386.tar.gz' > telegraf.tar.gz && \
+ tar xvf telegraf.tar.gz && \
+ mv 'telegraf-1.16.0' telegraf
+COPY telegraf.conf /etc/telegraf/telegraf.conf
+
EXPOSE 3306
CMD ["/entrypoint.sh"]
diff --git a/srcs/mysql/entrypoint.sh b/srcs/mysql/entrypoint.sh
index 80ec84c..13988ed 100755
--- a/srcs/mysql/entrypoint.sh
+++ b/srcs/mysql/entrypoint.sh
@@ -1,5 +1,7 @@
#!/bin/sh
+/telegraf/usr/bin/telegraf &
+
mkdir -p /run/mysqld
mkdir -p /var/lib/mysql
diff --git a/srcs/mysql/telegraf.conf b/srcs/mysql/telegraf.conf
new file mode 100644
index 0000000..e787d5f
--- /dev/null
+++ b/srcs/mysql/telegraf.conf
@@ -0,0 +1,46 @@
+[global_tags]
+
+[agent]
+ interval = "10s"
+ round_interval = true
+ metric_batch_size = 1000
+ metric_buffer_limit = 10000
+ collection_jitter = "0s"
+ flush_interval = "10s"
+ flush_jitter = "0s"
+ precision = ""
+ hostname = ""
+ omit_hostname = false
+
+
+[[outputs.influxdb]]
+ urls = ["http://influxdb-service:8086"]
+ database = "mysql"
+
+[[inputs.cpu]]
+ percpu = true
+ totalcpu = true
+ collect_cpu_time = false
+ report_active = false
+
+
+[[inputs.disk]]
+ ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
+
+
+[[inputs.diskio]]
+
+
+[[inputs.kernel]]
+
+
+[[inputs.mem]]
+
+
+[[inputs.processes]]
+
+
+[[inputs.swap]]
+
+
+[[inputs.system]]
diff --git a/srcs/nginx/Dockerfile b/srcs/nginx/Dockerfile
index f9267f6..c3fa963 100644
--- a/srcs/nginx/Dockerfile
+++ b/srcs/nginx/Dockerfile
@@ -2,7 +2,7 @@ FROM alpine
RUN apk update && \
apk upgrade && \
- apk add nginx openssh openrc
+ apk add nginx openssh openrc curl
COPY ./src /root
@@ -12,6 +12,11 @@ RUN mkdir -p /run/nginx && \
rm /etc/nginx/conf.d/default.conf && \
mv /root/ft_services.conf /etc/nginx/conf.d/ft_services.conf
+RUN curl 'https://dl.influxdata.com/telegraf/releases/telegraf-1.16.0_linux_i386.tar.gz' > telegraf.tar.gz && \
+ tar xvf telegraf.tar.gz && \
+ mv 'telegraf-1.16.0' telegraf
+COPY telegraf.conf /etc/telegraf/telegraf.conf
+
EXPOSE 22
EXPOSE 80
EXPOSE 443
diff --git a/srcs/nginx/src/entrypoint.sh b/srcs/nginx/src/entrypoint.sh
index bfef63c..315f55a 100755
--- a/srcs/nginx/src/entrypoint.sh
+++ b/srcs/nginx/src/entrypoint.sh
@@ -7,6 +7,8 @@ openrc
touch /run/openrc/softlevel
/etc/init.d/sshd start
+/telegraf/usr/bin/telegraf &
+
nginx -t || exit 1
nginx
sleep infinity &
diff --git a/srcs/nginx/telegraf.conf b/srcs/nginx/telegraf.conf
new file mode 100644
index 0000000..b1ef497
--- /dev/null
+++ b/srcs/nginx/telegraf.conf
@@ -0,0 +1,46 @@
+[global_tags]
+
+[agent]
+ interval = "10s"
+ round_interval = true
+ metric_batch_size = 1000
+ metric_buffer_limit = 10000
+ collection_jitter = "0s"
+ flush_interval = "10s"
+ flush_jitter = "0s"
+ precision = ""
+ hostname = ""
+ omit_hostname = false
+
+
+[[outputs.influxdb]]
+ urls = ["http://influxdb-service:8086"]
+ database = "nginx"
+
+[[inputs.cpu]]
+ percpu = true
+ totalcpu = true
+ collect_cpu_time = false
+ report_active = false
+
+
+[[inputs.disk]]
+ ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
+
+
+[[inputs.diskio]]
+
+
+[[inputs.kernel]]
+
+
+[[inputs.mem]]
+
+
+[[inputs.processes]]
+
+
+[[inputs.swap]]
+
+
+[[inputs.system]]
diff --git a/srcs/phpmyadmin/Dockerfile b/srcs/phpmyadmin/Dockerfile
index c47aa37..164b4a6 100644
--- a/srcs/phpmyadmin/Dockerfile
+++ b/srcs/phpmyadmin/Dockerfile
@@ -15,8 +15,6 @@ COPY config.inc.php /var/www
RUN mkdir /etc/phpmyadmin
COPY config.inc.php /etc/phpmyadmin
-EXPOSE 5000
-
COPY nginx.conf /etc/nginx/conf.d
RUN mkdir -p /run/nginx && \
rm /etc/nginx/conf.d/default.conf
@@ -24,4 +22,11 @@ RUN mkdir -p /run/nginx && \
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x entrypoint.sh
+RUN curl 'https://dl.influxdata.com/telegraf/releases/telegraf-1.16.0_linux_i386.tar.gz' > telegraf.tar.gz && \
+ tar xvf telegraf.tar.gz && \
+ mv 'telegraf-1.16.0' telegraf
+COPY telegraf.conf /etc/telegraf/telegraf.conf
+
+EXPOSE 5000
+
CMD "/entrypoint.sh"
diff --git a/srcs/phpmyadmin/entrypoint.sh b/srcs/phpmyadmin/entrypoint.sh
index de7bedf..c89e0d4 100755
--- a/srcs/phpmyadmin/entrypoint.sh
+++ b/srcs/phpmyadmin/entrypoint.sh
@@ -1,5 +1,7 @@
#!/bin/sh
+/telegraf/usr/bin/telegraf &
+
nginx -t || exit 1
openrc
diff --git a/srcs/phpmyadmin/telegraf.conf b/srcs/phpmyadmin/telegraf.conf
new file mode 100644
index 0000000..455f19d
--- /dev/null
+++ b/srcs/phpmyadmin/telegraf.conf
@@ -0,0 +1,46 @@
+[global_tags]
+
+[agent]
+ interval = "10s"
+ round_interval = true
+ metric_batch_size = 1000
+ metric_buffer_limit = 10000
+ collection_jitter = "0s"
+ flush_interval = "10s"
+ flush_jitter = "0s"
+ precision = ""
+ hostname = ""
+ omit_hostname = false
+
+
+[[outputs.influxdb]]
+ urls = ["http://influxdb-service:8086"]
+ database = "phpmyadmin"
+
+[[inputs.cpu]]
+ percpu = true
+ totalcpu = true
+ collect_cpu_time = false
+ report_active = false
+
+
+[[inputs.disk]]
+ ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
+
+
+[[inputs.diskio]]
+
+
+[[inputs.kernel]]
+
+
+[[inputs.mem]]
+
+
+[[inputs.processes]]
+
+
+[[inputs.swap]]
+
+
+[[inputs.system]]
diff --git a/srcs/wordpress/Dockerfile b/srcs/wordpress/Dockerfile
index 00098b0..4b5a043 100644
--- a/srcs/wordpress/Dockerfile
+++ b/srcs/wordpress/Dockerfile
@@ -20,6 +20,11 @@ COPY wp-config.php /var/www/wp-config.php
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x entrypoint.sh
+RUN curl 'https://dl.influxdata.com/telegraf/releases/telegraf-1.16.0_linux_i386.tar.gz' > telegraf.tar.gz && \
+ tar xvf telegraf.tar.gz && \
+ mv 'telegraf-1.16.0' telegraf
+COPY telegraf.conf /etc/telegraf/telegraf.conf
+
EXPOSE 5050
CMD "/entrypoint.sh"
diff --git a/srcs/wordpress/entrypoint.sh b/srcs/wordpress/entrypoint.sh
index de7bedf..c89e0d4 100755
--- a/srcs/wordpress/entrypoint.sh
+++ b/srcs/wordpress/entrypoint.sh
@@ -1,5 +1,7 @@
#!/bin/sh
+/telegraf/usr/bin/telegraf &
+
nginx -t || exit 1
openrc
diff --git a/srcs/wordpress/telegraf.conf b/srcs/wordpress/telegraf.conf
new file mode 100644
index 0000000..e04fb1a
--- /dev/null
+++ b/srcs/wordpress/telegraf.conf
@@ -0,0 +1,46 @@
+[global_tags]
+
+[agent]
+ interval = "10s"
+ round_interval = true
+ metric_batch_size = 1000
+ metric_buffer_limit = 10000
+ collection_jitter = "0s"
+ flush_interval = "10s"
+ flush_jitter = "0s"
+ precision = ""
+ hostname = ""
+ omit_hostname = false
+
+
+[[outputs.influxdb]]
+ urls = ["http://influxdb-service:8086"]
+ database = "wordpress"
+
+[[inputs.cpu]]
+ percpu = true
+ totalcpu = true
+ collect_cpu_time = false
+ report_active = false
+
+
+[[inputs.disk]]
+ ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
+
+
+[[inputs.diskio]]
+
+
+[[inputs.kernel]]
+
+
+[[inputs.mem]]
+
+
+[[inputs.processes]]
+
+
+[[inputs.swap]]
+
+
+[[inputs.system]]