@cryptotaxi247 / netdata-1 / commits / 902468bfd

fix for not parsing properly the docker id; fixes #812

Costa Tsaousis committed Aug 21, 2016 at 20:50 UTC 902468bfdce6c7c9f2a0ad0b173620942d10b4e4
1 file changed +7 -4
plugins.d/cgroup-name.sh
+7 -4
@@ -29,6 +29,7 @@ function get_name_classic {
29 local DOCKERID="$1"
30 echo >&2 "Running command: docker ps --filter=id=\"${DOCKERID}\" --format=\"{{.Names}}\""
31 NAME="$( docker ps --filter=id="${DOCKERID}" --format="{{.Names}}" )"
32 + return 0
33 }
34
35 function get_name_api {
@@ -36,18 +37,20 @@ function get_name_api {
37 if [ ! -S "/var/run/docker.sock" ]
38 then
39 echo >&2 "Can't find /var/run/docker.sock"
39 - return
40 + return 1
41 fi
42 echo >&2 "Running API command: /containers/${DOCKERID}/json"
43 JSON=$(echo -e "GET /containers/${DOCKERID}/json HTTP/1.0\r\n" | nc -U /var/run/docker.sock | egrep '^{.*')
44 NAME=$(echo $JSON | jq -r .Name,.Config.Hostname | grep -v null | head -n1 | sed 's|^/||')
45 + return 0
46 }
47
48 if [ -z "${NAME}" ]
49 then
48 - if [[ "${CGROUP}" =~ ^.*docker[_-/\.][a-fA-F0-9]+[_-\.]?.*$ ]]
50 + if [[ "${CGROUP}" =~ ^.*docker[-_/\.][a-fA-F0-9]+[-_\.]?.*$ ]]
51 then
50 - DOCKERID="$( echo "${CGROUP}" | sed "s|^.*docker[_-/]\([a-fA-F0-9]\+\)[_-\.]\?.*$|\1|" )"
52 + DOCKERID="$( echo "${CGROUP}" | sed "s|^.*docker[-_/]\([a-fA-F0-9]\+\)[-_\.]\?.*$|\1|" )"
53 + # echo "DOCKERID=${DOCKERID}"
54
55 if [ ! -z "${DOCKERID}" -a \( ${#DOCKERID} -eq 64 -o ${#DOCKERID} -eq 12 \) ]
56 then
@@ -55,7 +58,7 @@ if [ -z "${NAME}" ]
58 then
59 get_name_classic $DOCKERID
60 else
58 - get_name_api $DOCKERID
61 + get_name_api $DOCKERID || get_name_classic $DOCKERID
62 fi
63 if [ -z "${NAME}" ]
64 then