poniedziałek, 13 lutego 2017

login to docker container as root

gitvmd1(/root)# docker exec -it --user root 72fde109eefb bash

[root@72fde109eefb jboss]# id
uid=0(root) gid=0(root) groups=0(root)

curl docker monitoring

[ansible@wildvmq5.polsatc ~]$ curl --digest http://admin:password@192.168.82.126:9990/management -d '{"operation":"read-resource", "include-runtime":"true", "address":[{"core-service":"platform-mbean"},{"type":"memory"}], "json.pretty":1}' -H Content-Type:application/json

{
    "outcome" : "success",
    "result" : {
        "heap-memory-usage" : {
            "init" : 1098907648,
            "used" : 2722441184,
            "committed" : 4260102144,
            "max" : 4260102144
        },
        "non-heap-memory-usage" : {
            "init" : 2555904,
            "used" : 1181620648,
            "committed" : 1251344384,
            "max" : -1
        },
        "object-name" : "java.lang:type=Memory",
        "object-pending-finalization-count" : 0,
        "verbose" : true
    }
}

[ansible@wildvmq5.polsatc ~]$ curl  --digest http://admin:password@192.168.82.126:9990/management --header "Content-Type: application/json" -d '{"operation":"read-attribute","name":"server-state","json.pretty":1}'
{
    "outcome" : "success",
    "result" : "running"
}

docker heap simple monitoring.

#!/bin/bash
for c in `docker ps -q`
do
        heapused=$(docker exec -i $c /opt/wildfly9/bin/jboss-cli.sh -c "/core-service=platform-mbean/type=memory:read-attribute(name=heap-memory-usage)" | grep "used" | awk '{print $3}' | sed 's/L,//')

        heapmax=$(docker exec -i  $c /opt/wildfly9/bin/jboss-cli.sh -c "/core-service=platform-mbean/type=memory:read-attribute(name=heap-memory-usage)" | grep "max" | awk '{print $3}' | sed 's/L//')
        freememory=$((heapmax - heapused))



        if [ $freememory -le 128000000 ]

        then
                echo "JVM Heap memory getting low: Remaining: $freememory bytes"
        else
                echo " $c - ok"
        fi
done