Compare commits

...

16 Commits

Author SHA1 Message Date
Girish Ramakrishnan 9266302c4c Print graphite container id 2015-08-13 15:57:36 -07:00
Girish Ramakrishnan 755dce7bc4 fix graph issue finally 2015-08-13 15:54:27 -07:00
Girish Ramakrishnan dd3e38ae55 Use latest graphite 2015-08-13 15:53:36 -07:00
Girish Ramakrishnan 9dfaa2d20f Create symlink in start.sh (and not container setup) 2015-08-13 15:36:21 -07:00
Girish Ramakrishnan d6a4ff23e2 restart mysql in start.sh and not container setup 2015-08-13 15:16:01 -07:00
Girish Ramakrishnan c2ab7e2c1f restart collectd 2015-08-13 15:04:57 -07:00
Girish Ramakrishnan b9e4662dbb fix graphs again 2015-08-13 15:03:44 -07:00
Girish Ramakrishnan 10df0a527f Fix typo
remove thead_cache_size. it's dynamic anyways
2015-08-13 14:53:05 -07:00
Girish Ramakrishnan 9aad3688e1 Revert "Add hack to make graphs work with latest collectd"
This reverts commit a959418544.
2015-08-13 14:42:47 -07:00
Girish Ramakrishnan e78dbcb5d4 limit threads and max connections 2015-08-13 14:42:36 -07:00
Girish Ramakrishnan 5e8cd09f51 Bump infra version 2015-08-13 14:22:39 -07:00
Girish Ramakrishnan 22f65a9364 Add hack to make graphs work with latest collectd
For some reason df-vda1 is not being collected by carbon. I have tried
all sorts of things and nothing works. This is a hack to get it working.
2015-08-13 13:47:44 -07:00
Girish Ramakrishnan 81b7432044 Turn off performance_schema in mysql 5.6 2015-08-13 13:47:44 -07:00
Girish Ramakrishnan d49b90d9f2 Remove unused nodejs-disks 2015-08-13 10:34:06 -07:00
Girish Ramakrishnan 9face9cf35 systemd has moved around the cgroup hierarchy
https://github.com/docker/docker/issues/9902

There is some rationale here:
https://libvirt.org/cgroups.html
2015-08-13 10:21:33 -07:00
Girish Ramakrishnan 33ac34296e CpuShares is part of HostConfig 2015-08-12 23:47:35 -07:00
10 changed files with 33 additions and 35 deletions
-17
View File
@@ -1937,23 +1937,6 @@
"from": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz", "from": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz",
"resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz" "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz"
}, },
"nodejs-disks": {
"version": "0.2.1",
"from": "https://registry.npmjs.org/nodejs-disks/-/nodejs-disks-0.2.1.tgz",
"resolved": "https://registry.npmjs.org/nodejs-disks/-/nodejs-disks-0.2.1.tgz",
"dependencies": {
"async": {
"version": "0.2.10",
"from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz"
},
"numeral": {
"version": "1.4.8",
"from": "https://registry.npmjs.org/numeral/-/numeral-1.4.8.tgz",
"resolved": "https://registry.npmjs.org/numeral/-/numeral-1.4.8.tgz"
}
}
},
"nodemailer": { "nodemailer": {
"version": "1.3.4", "version": "1.3.4",
"from": "https://registry.npmjs.org/nodemailer/-/nodemailer-1.3.4.tgz", "from": "https://registry.npmjs.org/nodemailer/-/nodemailer-1.3.4.tgz",
-1
View File
@@ -43,7 +43,6 @@
"mysql": "^2.7.0", "mysql": "^2.7.0",
"native-dns": "^0.7.0", "native-dns": "^0.7.0",
"node-uuid": "^1.4.3", "node-uuid": "^1.4.3",
"nodejs-disks": "^0.2.1",
"nodemailer": "^1.3.0", "nodemailer": "^1.3.0",
"nodemailer-smtp-transport": "^1.0.3", "nodemailer-smtp-transport": "^1.0.3",
"oauth2orize": "^1.0.1", "oauth2orize": "^1.0.1",
+3 -3
View File
@@ -3,15 +3,15 @@
# If you change the infra version, be sure to put a warning # If you change the infra version, be sure to put a warning
# in the change log # in the change log
INFRA_VERSION=5 INFRA_VERSION=8
# WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING # WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
# These constants are used in the installer script as well # These constants are used in the installer script as well
BASE_IMAGE=cloudron/base:0.3.1 BASE_IMAGE=cloudron/base:0.3.1
MYSQL_IMAGE=cloudron/mysql:0.3.1 MYSQL_IMAGE=cloudron/mysql:0.3.2
POSTGRESQL_IMAGE=cloudron/postgresql:0.3.1 POSTGRESQL_IMAGE=cloudron/postgresql:0.3.1
MONGODB_IMAGE=cloudron/mongodb:0.3.1 MONGODB_IMAGE=cloudron/mongodb:0.3.1
REDIS_IMAGE=cloudron/redis:0.3.1 # if you change this, fix src/addons.js as well REDIS_IMAGE=cloudron/redis:0.3.1 # if you change this, fix src/addons.js as well
MAIL_IMAGE=cloudron/mail:0.3.1 MAIL_IMAGE=cloudron/mail:0.3.1
GRAPHITE_IMAGE=cloudron/graphite:0.3.2 GRAPHITE_IMAGE=cloudron/graphite:0.3.3
+3
View File
@@ -34,6 +34,9 @@ ln -sfF "${DATA_DIR}/collectd" /etc/collectd
unlink /etc/nginx 2>/dev/null || rm -rf /etc/nginx unlink /etc/nginx 2>/dev/null || rm -rf /etc/nginx
ln -s "${DATA_DIR}/nginx" /etc/nginx ln -s "${DATA_DIR}/nginx" /etc/nginx
########## mysql
cp "${container_files}/mysql.cnf" /etc/mysql/mysql.cnf
########## Enable services ########## Enable services
update-rc.d -f collectd defaults update-rc.d -f collectd defaults
+7
View File
@@ -0,0 +1,7 @@
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
# http://bugs.mysql.com/bug.php?id=68514
[mysqld]
performance_schema=OFF
max_connection=50
+7
View File
@@ -56,6 +56,9 @@ echo "{ \"version\": \"${arg_version}\", \"boxVersionsUrl\": \"${arg_box_version
echo "Cleaning up snapshots" echo "Cleaning up snapshots"
find "${DATA_DIR}/snapshots" -mindepth 1 -maxdepth 1 | xargs --no-run-if-empty btrfs subvolume delete find "${DATA_DIR}/snapshots" -mindepth 1 -maxdepth 1 | xargs --no-run-if-empty btrfs subvolume delete
# restart mysql to make sure it has latest config
service mysql restart
readonly mysql_root_password="password" readonly mysql_root_password="password"
mysqladmin -u root -ppassword password password # reset default root password mysqladmin -u root -ppassword password password # reset default root password
mysql -u root -p${mysql_root_password} -e 'CREATE DATABASE IF NOT EXISTS box' mysql -u root -p${mysql_root_password} -e 'CREATE DATABASE IF NOT EXISTS box'
@@ -86,6 +89,10 @@ EOF
set_progress "28" "Setup collectd" set_progress "28" "Setup collectd"
cp "${script_dir}/start/collectd.conf" "${DATA_DIR}/collectd/collectd.conf" cp "${script_dir}/start/collectd.conf" "${DATA_DIR}/collectd/collectd.conf"
# collectd 5.4.1 has some bug where we simply cannot get it to create df-vda1
mkdir -p "${DATA_DIR}/graphite/whisper/collectd/localhost/"
vda1_id=$(blkid -s UUID -o value /dev/vda1)
ln -sfF "df-disk_by-uuid_${vda1_id}" "${DATA_DIR}/graphite/whisper/collectd/localhost/df-vda1"
service collectd restart service collectd restart
set_progress "30" "Setup nginx" set_progress "30" "Setup nginx"
+3 -4
View File
@@ -193,12 +193,11 @@ LoadPlugin write_graphite
</Plugin> </Plugin>
<Plugin df> <Plugin df>
Device "/dev/vda1" FSType "tmpfs"
Device "/dev/loop0" MountPoint "/dev"
Device "/dev/loop1"
ReportByDevice true ReportByDevice true
IgnoreSelected false IgnoreSelected true
ValuesAbsolute true ValuesAbsolute true
ValuesPercentage true ValuesPercentage true
+4 -2
View File
@@ -27,11 +27,13 @@ if [[ -n "${existing_containers}" ]]; then
fi fi
# graphite # graphite
docker run --restart=always -d --name="graphite" \ graphite_container_id=$(docker run --restart=always -d --name="graphite" \
-p 127.0.0.1:2003:2003 \ -p 127.0.0.1:2003:2003 \
-p 127.0.0.1:2004:2004 \ -p 127.0.0.1:2004:2004 \
-p 127.0.0.1:8000:8000 \ -p 127.0.0.1:8000:8000 \
-v "${DATA_DIR}/graphite:/app/data" "${GRAPHITE_IMAGE}" -v "${DATA_DIR}/graphite:/app/data" \
"${GRAPHITE_IMAGE}")
echo "Graphite container id: ${graphite_container_id}"
# mail # mail
mail_container_id=$(docker run --restart=always -d --name="mail" \ mail_container_id=$(docker run --restart=always -d --name="mail" \
+3 -5
View File
@@ -201,11 +201,8 @@ function createContainer(app, callback) {
Tty: true, Tty: true,
Image: app.manifest.dockerImage, Image: app.manifest.dockerImage,
Cmd: null, Cmd: null,
Volumes: {},
VolumesFrom: [],
Env: env.concat(addonEnv), Env: env.concat(addonEnv),
ExposedPorts: exposedPorts, ExposedPorts: exposedPorts
CpuShares: 512 // relative to 1024 for system processes
}; };
debugApp(app, 'Creating container for %s', app.manifest.dockerImage); debugApp(app, 'Creating container for %s', app.manifest.dockerImage);
@@ -342,7 +339,8 @@ function startContainer(app, callback) {
RestartPolicy: { RestartPolicy: {
"Name": "always", "Name": "always",
"MaximumRetryCount": 0 "MaximumRetryCount": 0
} },
CpuShares: 512 // relative to 1024 for system processes
}; };
var container = docker.getContainer(app.containerId); var container = docker.getContainer(app.containerId);
+3 -3
View File
@@ -1,6 +1,6 @@
LoadPlugin "table" LoadPlugin "table"
<Plugin table> <Plugin table>
<Table "/sys/fs/cgroup/memory/docker/<%= containerId %>/memory.stat"> <Table "/sys/fs/cgroup/memory/system.slice/docker-<%= containerId %>.scope/memory.stat">
Instance "<%= appId %>-memory" Instance "<%= appId %>-memory"
Separator " \\n" Separator " \\n"
<Result> <Result>
@@ -10,7 +10,7 @@ LoadPlugin "table"
</Result> </Result>
</Table> </Table>
<Table "/sys/fs/cgroup/memory/docker/<%= containerId %>/memory.max_usage_in_bytes"> <Table "/sys/fs/cgroup/memory/system.slice/docker-<%= containerId %>.scope/memory.max_usage_in_bytes">
Instance "<%= appId %>-memory" Instance "<%= appId %>-memory"
Separator "\\n" Separator "\\n"
<Result> <Result>
@@ -20,7 +20,7 @@ LoadPlugin "table"
</Result> </Result>
</Table> </Table>
<Table "/sys/fs/cgroup/cpuacct/docker/<%= containerId %>/cpuacct.stat"> <Table "/sys/fs/cgroup/cpuacct/system.slice/docker-<%= containerId %>.scope/cpuacct.stat">
Instance "<%= appId %>-cpu" Instance "<%= appId %>-cpu"
Separator " \\n" Separator " \\n"
<Result> <Result>