Skip to content

Commit f5c84a6

Browse files
author
anandkumarpatel
committed
Merge pull request #144 from CodeNow/metrics
adding custom metrics
2 parents 4eca1be + 5301bd1 commit f5c84a6

4 files changed

Lines changed: 52 additions & 5 deletions

File tree

ansible/metrics.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
---
2-
- hosts: docks
2+
- hosts: [docks, api, eru]
33
roles:
44
- { role: custom_metrics }
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/bash
2+
set -e
3+
4+
echo "don't use this script. change it (and test) with filesize, not length"
5+
# du -d /docker/containers/$id/$id-json.log ?? -- anand
6+
exit 0
7+
8+
# don't run this if datadog is not installed
9+
if [ ! -e /usr/bin/dd-agent ]; then exit 0; fi
10+
11+
# don't run this if docker is not installed
12+
if [ ! -e /usr/bin/docker ]; then exit 0; fi
13+
14+
all_lines='0'
15+
16+
for id in $(docker ps -q); do
17+
file=$(docker inspect $id | awk 'match($0, /"LogPath": "(.+)",/, a) { print a[1]; }')
18+
lines=$(wc -l $file | awk '{ print $1 }')
19+
all_lines=$(echo $all_lines + $lines | bc)
20+
done
21+
22+
data="bryan.docker.logs.lines:$all_lines|g"
23+
echo "$data" | nc -u -w 1 localhost 8125
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/bash
2+
set -e
3+
4+
# don't run this if datadog is not installed
5+
if [ ! -e /usr/bin/dd-agent ]; then exit 0; fi
6+
7+
docker_pid=$(ps ax | awk '/\/usr\/bin\/docker.+\-d.+/{ print $1 }')
8+
9+
docker_vmrss_value=$(awk '/VmRSS/{ print $2 }' /proc/$docker_pid/status)
10+
data="bryan.docker.proc.vmrss:$docker_vmrss_value|g"
11+
echo "$data" | nc -u -w 1 localhost 8125
12+
13+
docker_fdsize_value=$(awk '/FDSize/{ print $2 }' /proc/$docker_pid/status)
14+
data="bryan.docker.proc.fdsize:$docker_fdsize_value|g"
15+
echo "$data" | nc -u -w 1 localhost 8125
16+
17+
docker_vmsize_value=$(awk '/VmSize/{ print $2 }' /proc/$docker_pid/status)
18+
data="bryan.docker.proc.vmsize:$docker_vmsize_value|g"
19+
echo "$data" | nc -u -w 1 localhost 8125

ansible/roles/custom_metrics/tasks/main.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,17 @@
1111
mode=0500
1212
with_items:
1313
- docker_rss
14+
# - docker_log_lines
15+
- docker_proc_status
1416

1517
- name: put cron in place
1618
sudo: yes
1719
cron:
18-
name="{{ item }}"
19-
state=present
20-
job="/opt/scripts/{{ item }}.sh > /dev/null"
20+
name="{{ item.name }}"
21+
minute={{ item.minutes }}
22+
state={{ item.state | default("present") }}
23+
job="/opt/scripts/{{ item.name }}.sh > /dev/null"
2124
with_items:
22-
- docker_rss
25+
- { name: docker_rss, minutes: '*' }
26+
# - { name: docker_log_lines, minutes: '*/5', state: absent }
27+
- { name: docker_proc_status, minutes: '*' }

0 commit comments

Comments
 (0)