docker_memoryusage['rss'] = docker_p.memory_info().rss docker_memoryusage['vms'] = docker_p.memory_info().vms except psutil.NoSuchProcess: print 'error' return docker_memoryusage if __name__ == "__main__": keys = None ms = MetricSender() try: cli = DockerClient(version='auto', base_url='unix://var/run/docker.sock', timeout=120) du = DockerUtil(cli) du_dds = du.get_disk_usage() docker_memoryusages = getRssVmsofDocker() keys = { 'docker.storage.is_loopback': int(du.is_loopback), 'docker.ping': 1, # Docker is up } # These storage metrics are only available in devicemapper and loopback if du.is_devicemapper or du.is_loopback: keys['docker.storage.data.space.used'] = du_dds.data_space_used keys['docker.storage.data.space.available'] = du_dds.data_space_available keys['docker.storage.data.space.percent_available'] = du_dds.data_space_percent_available keys['docker.storage.data.space.total'] = du_dds.data_space_total keys['docker.storage.metadata.space.used'] = du_dds.metadata_space_used
from openshift_tools.monitoring.zagg_sender import ZaggSender from openshift_tools.timeout import TimeoutException from openshift_tools.monitoring.dockerutil import DockerUtil import json import time if __name__ == "__main__": keys = None zs = ZaggSender() try: cli = AutoVersionClient(base_url="unix://var/run/docker.sock") du = DockerUtil(cli, max_wait=360) # Wait up to 6 minutes time_start = time.time() du.get_disk_usage() time_stop = time.time() elapsed_ms = int((time_stop - time_start) * 1000) keys = {"docker.info_elapsed_ms": elapsed_ms} except (DockerException, TimeoutException) as ex: print "\nERROR talking to docker: %s\n" % ex.message keys = {"docker.info_elapsed_ms": 360000} # 360000 = 6 minutes zs.add_zabbix_keys(keys) print "Sending these metrics:" print json.dumps(keys, indent=4) zs.send_metrics() print "\nDone.\n"
from docker import AutoVersionClient from docker.errors import DockerException from openshift_tools.monitoring.zagg_sender import ZaggSender from openshift_tools.timeout import TimeoutException from openshift_tools.monitoring.dockerutil import DockerUtil import json if __name__ == "__main__": keys = None zs = ZaggSender() try: cli = AutoVersionClient(base_url='unix://var/run/docker.sock') du = DockerUtil(cli) du_dds = du.get_disk_usage() keys = { 'docker.storage.data.space.used': du_dds.data_space_used, 'docker.storage.data.space.available': du_dds.data_space_available, 'docker.storage.data.space.percent_available': du_dds.data_space_percent_available, 'docker.storage.data.space.total': du_dds.data_space_total, 'docker.storage.metadata.space.used': du_dds.metadata_space_used, 'docker.storage.metadata.space.available': du_dds.metadata_space_available, 'docker.storage.metadata.space.percent_available': du_dds.metadata_space_percent_available, 'docker.storage.metadata.space.total': du_dds.metadata_space_total, 'docker.storage.is_loopback': int(du_dds.is_loopback), 'docker.ping': 1, # Docker is up }
from openshift_tools.monitoring.metric_sender import MetricSender from openshift_tools.timeout import TimeoutException from openshift_tools.monitoring.dockerutil import DockerUtil import json import time if __name__ == "__main__": keys = None mts = MetricSender() try: cli = DockerClient(version='auto', base_url='unix://var/run/docker.sock', timeout=120) du = DockerUtil(cli, max_wait=360) # Wait up to 6 minutes time_start = time.time() du.get_disk_usage() time_stop = time.time() elapsed_ms = int((time_stop - time_start) * 1000) keys = { 'docker.info_elapsed_ms': elapsed_ms } except (DockerException, TimeoutException) as ex: print "\nERROR talking to docker: %s\n" % ex.message keys = { 'docker.info_elapsed_ms': 360000 # 360000 = 6 minutes } mts.add_metric(keys) print "Sending these metrics:"