Compare commits
2 Commits
f12f3e5019
...
9342a93783
Author | SHA1 | Date | |
---|---|---|---|
9342a93783 | |||
9745bf9b79 |
@ -7,7 +7,7 @@ CREATE TABLE host (
|
||||
CREATE TABLE host_uptime (
|
||||
id SERIAL PRIMARY KEY,
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
host_id INT NOT NULL REFERENCES host(id),
|
||||
host_id INT NOT NULL REFERENCES host(id) ON UPDATE CASCADE,
|
||||
-- uptime in seconds
|
||||
uptime INT NOT NULL
|
||||
);
|
||||
@ -16,7 +16,7 @@ CREATE INDEX host_uptime_host_id_created_at_idx ON host_uptime(host_id, created_
|
||||
CREATE TABLE host_mem (
|
||||
id SERIAL PRIMARY KEY,
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
host_id INT NOT NULL REFERENCES host(id),
|
||||
host_id INT NOT NULL REFERENCES host(id) ON UPDATE CASCADE,
|
||||
-- available memory in kB
|
||||
mem_avail INT NOT NULL
|
||||
);
|
||||
@ -25,7 +25,7 @@ CREATE INDEX host_mem_host_id_created_at_idx ON host_mem(host_id, created_at);
|
||||
CREATE TABLE host_disk (
|
||||
id SERIAL PRIMARY KEY,
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
host_id INT NOT NULL REFERENCES host(id),
|
||||
host_id INT NOT NULL REFERENCES host(id) ON UPDATE CASCADE,
|
||||
-- free disk space in kB
|
||||
disk_free INT NOT NULL
|
||||
);
|
||||
@ -34,7 +34,7 @@ CREATE INDEX host_disk_host_id_created_at_idx ON host_disk(host_id, created_at);
|
||||
CREATE TABLE host_cpu (
|
||||
id SERIAL PRIMARY KEY,
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
host_id INT NOT NULL REFERENCES host(id),
|
||||
host_id INT NOT NULL REFERENCES host(id) ON UPDATE CASCADE,
|
||||
-- cpu load for last minute
|
||||
cpu_load_1m FLOAT NOT NULL
|
||||
);
|
||||
|
33
status
33
status
@ -5,49 +5,34 @@ set -e
|
||||
export $(cat .env | xargs)
|
||||
|
||||
psql -w <<EOF
|
||||
WITH host_upsert AS (
|
||||
INSERT INTO host (name) VALUES ('$(hostname)')
|
||||
ON CONFLICT (name) DO UPDATE SET name = EXCLUDED.name
|
||||
RETURNING id
|
||||
)
|
||||
INSERT INTO host (name) VALUES ('$(hostname)')
|
||||
ON CONFLICT (name) DO NOTHING;
|
||||
EOF
|
||||
|
||||
psql -w <<EOF
|
||||
INSERT INTO host_uptime (host_id, uptime)
|
||||
SELECT id, '$(cat /proc/uptime | awk -F. '{print $1}')'
|
||||
FROM host_upsert
|
||||
FROM host WHERE name = '$(hostname)'
|
||||
RETURNING *;
|
||||
EOF
|
||||
|
||||
psql -w <<EOF
|
||||
WITH host_upsert AS (
|
||||
INSERT INTO host (name) VALUES ('$(hostname)')
|
||||
ON CONFLICT (name) DO UPDATE SET name = EXCLUDED.name
|
||||
RETURNING id
|
||||
)
|
||||
INSERT INTO host_mem (host_id, mem_avail)
|
||||
SELECT id, '$(cat /proc/meminfo | grep 'MemAvailable' | awk '{print $2}')'
|
||||
FROM host_upsert
|
||||
FROM host WHERE name = '$(hostname)'
|
||||
RETURNING *;
|
||||
EOF
|
||||
|
||||
psql -w <<EOF
|
||||
WITH host_upsert AS (
|
||||
INSERT INTO host (name) VALUES ('$(hostname)')
|
||||
ON CONFLICT (name) DO UPDATE SET name = EXCLUDED.name
|
||||
RETURNING id
|
||||
)
|
||||
INSERT INTO host_disk (host_id, disk_free)
|
||||
SELECT id, '$(df / | awk 'NR==2{print $4}')'
|
||||
FROM host_upsert
|
||||
FROM host WHERE name = '$(hostname)'
|
||||
RETURNING *;
|
||||
EOF
|
||||
|
||||
psql -w <<EOF
|
||||
WITH host_upsert AS (
|
||||
INSERT INTO host (name) VALUES ('$(hostname)')
|
||||
ON CONFLICT (name) DO UPDATE SET name = EXCLUDED.name
|
||||
RETURNING id
|
||||
)
|
||||
INSERT INTO host_cpu (host_id, cpu_load_1m)
|
||||
SELECT id, '$(top -bn1 | head -1 | awk -F'load average: ' '{print $2}' | awk -F, '{print $1}')'
|
||||
FROM host_upsert
|
||||
FROM host WHERE name = '$(hostname)'
|
||||
RETURNING *;
|
||||
EOF
|
||||
|
Loading…
x
Reference in New Issue
Block a user