Commit ba3ae033 authored by jithu.tagore's avatar jithu.tagore

Update infra_as_service_monitor.py

parent dc092403
......@@ -55,6 +55,7 @@ filesystem = config["disk"]["filesystem"]
server = config["type"]["server"]
include_all_filesystem = config["disk"]["include_all_filesystem"]
service_list = config["service"]["service_list"].split(",")
container_list=config["docker_container"]["container_list"].split(",")
status_dict = {}
container_restart = []
data = []
......@@ -173,28 +174,54 @@ def restart(service_name):
def docker_container():
docker_client = docker.from_env()
containers = docker_client.containers.list(all=True)
for i in containers:
print(i)
if i.attrs["State"]["Status"] =="restarting" or i.attrs["State"]["Status"] =="exited":
container_restart.append(i)
start=i.attrs["State"]["StartedAt"]
end=i.attrs["State"]["FinishedAt"]
start_date = dateutil.parser.isoparse(start)
end_date = dateutil.parser.isoparse(end)
time=((end_date-start_date).total_seconds())
if i.attrs["State"]["Status"] =="running" or i.attrs["State"]["Status"] =="created":
start_date = dateutil.parser.isoparse(start)
end_date = datetime.datetime.now(tz=datetime.timezone.utc)
time=(end_date.astimezone(datetime.timezone.utc) - start_date.astimezone(datetime.timezone.utc)).total_seconds()
if time>3600:
time=time/3600
timing=str(int(time))+"hour"
elif time<60:
timing=str(int(time))+"seconds"
elif time>60:
time=time/60
timing=str(int(time))+"minute"
data.append([i.name, i.id, i.attrs["State"]["Status"],timing])
if len(container_list)!=0:
for each in container_list:
container = docker_client.containers.get(each)
if container in containers:
if container.attrs["State"]["Status"] =="restarting" or container.attrs["State"]["Status"] =="exited":
container_restart.append(i)
start=i.attrs["State"]["StartedAt"]
end=i.attrs["State"]["FinishedAt"]
start_date = dateutil.parser.isoparse(start)
end_date = dateutil.parser.isoparse(end)
time=((end_date-start_date).total_seconds())
if container.attrs["State"]["Status"] =="running" or container.attrs["State"]["Status"] =="created":
start_date = dateutil.parser.isoparse(start)
end_date = datetime.datetime.now(tz=datetime.timezone.utc)
time=(end_date.astimezone(datetime.timezone.utc) - start_date.astimezone(datetime.timezone.utc)).total_seconds()
if time>3600:
time=time/3600
timing=str(int(time))+"hour"
elif time<60:
timing=str(int(time))+"seconds"
elif time>60:
time=time/60
timing=str(int(time))+"minute"
data.append([i.name, i.id, i.attrs["State"]["Status"],timing])
else:
for each in containers:
if each.attrs["State"]["Status"] =="restarting" or each.attrs["State"]["Status"] =="exited":
container_restart.append(i)
start=i.attrs["State"]["StartedAt"]
end=i.attrs["State"]["FinishedAt"]
start_date = dateutil.parser.isoparse(start)
end_date = dateutil.parser.isoparse(end)
time=((end_date-start_date).total_seconds())
if each.attrs["State"]["Status"] =="running" or each.attrs["State"]["Status"] =="created":
start_date = dateutil.parser.isoparse(start)
end_date = datetime.datetime.now(tz=datetime.timezone.utc)
time=(end_date.astimezone(datetime.timezone.utc) - start_date.astimezone(datetime.timezone.utc)).total_seconds()
if time>3600:
time=time/3600
timing=str(int(time))+"hour"
elif time<60:
timing=str(int(time))+"seconds"
elif time>60:
time=time/60
timing=str(int(time))+"minute"
data.append([i.name, i.id, i.attrs["State"]["Status"],timing])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment