ES获取磁盘使用率情况

private void diskUage()
    {
        ClusterStateResponse stateResponse = client.admin().cluster().prepareState().get();
        DiscoveryNodes nodes = stateResponse.getState().nodes();
        NodesStatsResponse state = client.admin().cluster().prepareNodesStats().setFs(true).get();
        System.out.println("hostIp  " + "available  " +  "used  " + "total  " + "master");
        for(DiscoveryNode node : nodes)
        {

            System.out.print(node.address() + "  ");
            Path path = state.getNodesMap().get(node.id()).getFs().getTotal();
            System.out.print(path.getAvailable().gb() + "  ");
            System.out.print(path.getTotal().gb() - path.getFree().gb() + "  ");
            System.out.print(path.getTotal().gb() + "  ");
            System.out.println(nodes.getMasterNodeId().equals(node.id()) ? "m" : "-");
        }

    }

显示结果:

hostIp  available  used  total  master
172.16.3.5:9300  null null 42  51  98  -
172.16.4.108:9300  null null 45  48  98  m

原文地址:https://www.cnblogs.com/woniu4/p/8312563.html

时间: 2024-10-15 21:44:52

ES获取磁盘使用率情况的相关文章

Linux通过函数调用获取磁盘使用情况

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #ifnndef WIN32 #include <sys/statfs.h> #include <sys/vfs.h> #endif #define DEFAULT_DISK_PATH "/work" typedef struct statfs DISK,*pD

PowerShell 获取磁盘使用情况

<#  .Name     get-diskinfo  .Example     PS C:\sicrping> .\diskinfo.ps1 -computername localhost         DeviceID FreeDB SizeDB         -------- ------ ------         C:            7     48         D:           37     63         E:          693    93

获取磁盘使用率(Linux C)

#define SYS_DISK_BUFF_LEN 256 #define SYS_DISK_NAME_LEN 80 #define SYS_100_PERSENT 100 int get_sysDiskUsage() { FILE * fp; char filesystem[SYS_DISK_NAME_LEN],available[SYS_DISK_NAME_LEN],use[SYS_DISK_NAME_LEN],mounted[SYS_DISK_NAME_LEN],buf[SYS_DISK_

python笔记--磁盘使用率

方法一: 使用commands.getoutput调用shell命令df获取磁盘使用率: import commands >>> import commands >>> disk_use=commands.getoutput('df -h') >>> disk_use 'Filesystem      Size  Used Avail Use% Mounted on\n/dev/sda2        18G  5.7G   12G  34% /\nt

编程实现获取linux服务器cpu、内存和磁盘使用率

proc文件系统介绍 /proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文件系统的方式为内核与进程提供通信的接口.用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数.由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取/proc目录中的文件时,proc文件系统是动态从系统内核读出所需信息并提交的. /proc目录中有一些以数字命名的目录,它们是进程目录.系统中当前运行的每一个进程在/proc下都对应一个以进程号为目录名的目录/proc/pi

python获取CPU,内存,磁盘使用率

#!/usr/bin/env python # coding:utf-8 import psutil total_cpu=psutil.cpu_times().user+psutil.cpu_times().idle user_cpu=psutil.cpu_times().user cpu_syl=user_cpu/total_cpu*100 mem = psutil.virtual_memory()   #使用psutil.virtual_memory方法获取内存完整信息 mem_total=

linux服务器性能(网卡流量、CPU、内存、磁盘使用率)监控

广义的网站的监控涵盖所有的非业务行为的数据采集与管理,包括数据分析师和产品设计师使用的网站用户行为日志.业务运行数据,以及供运维工程师和开发工程师使用的性能统计数据等. 本文主要是通过shell脚本来收集服务器性能指标,如系统load.内存占用.磁盘IO.CPU占用,并将其写入一个文件中,及时判断应用情况,防患于未然 . 实现步骤如下: 第一步:编写shell脚本,如下: vim check.sh,添加下面脚本之后保存 1 #!/bin/bash 2 #这个脚本使用来统计CPU.磁盘.内存使用率

监控磁盘使用率解决方案

描述:有 100 台centos服务器, 相互之间内网 ssh 互通, 用户名密码已知,服务器ip 列表已知, 请设计一个技术方案,输出磁盘使用率超过 90%的服务器.要求写出详细的技术方案,涉及到的命令和脚本请写好代码,第三方库请介绍安装使用说明. 方案 方案思路: 测试邮箱是否可用 设置定时任务每五分钟执行以下脚本查看占用情况 当发现占用比超过90%发送告警邮件 安装ansible服务,编译yml文件批量执行任务 测试邮件 #这里我们使用qq邮箱作为收件方 vim /etc/mail.rc

Linux监听磁盘使用情况

前阵子服务器磁盘写满了,导致项目出了很多奇怪的问题,比如文件上传不了(这个很好理解),还有登录时验证码无法加载(现在依旧不知道原因,项目的验证码图片是只在内存中生成的BufferedImage对象,不知道为什么和磁盘有关) 于是趁今天有空,就给服务器加上了监听磁盘使用情况的脚本,在到达一定使用率后,会发出邮件提醒,告知研发或者运维去即时处理,避免不必要的麻烦. 找了一篇挺详细的博文做参考: http://www.heminjie.com/system/linux/1923.html 主要是分以下