Last active
May 5, 2020 01:34
-
-
Save s5unty/fc39e92efabac15c41a8c94724cf1039 to your computer and use it in GitHub Desktop.
parse the mfscli output and write the metrics
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# usage: | |
# $ mfscli -np -SIM -SIG | mtail -one_shot -progs mfs.mtail -logs - | |
# OR | |
# $ mtail -progs mfs.mtail -logs mfscli.log | |
# $ mfscli -np -SIM -SIG > mfscli.log | |
# | |
# -SIM {{{ | |
text metadata_servers_state by ip, version | |
gauge metadata_servers_cpu_all by ip, version | |
gauge metadata_servers_cpu_sys by ip, version | |
gauge metadata_servers_cpu_user by ip, version | |
gauge metadata_servers_last_meta_save by ip, version | |
gauge metadata_servers_last_save_durateion by ip, version | |
/^/ + | |
/metadata servers:\t/ + | |
/(?P<ip>\d+\.\d+\.\d+\.\d+)\t/ + # | |
/(?P<version>[^\t]+)\t/ + # | |
/(?P<state>[^\t]+)\t/ + # | |
/(?P<ltime>[^\t]+)\t/ + # | |
/(?P<metadata_version>[^\t]+)\t/ + # | |
/(?P<metadata_delay>[^\t]+)\t/ + # | |
/(?P<ram_used>\d+)\t/ + # | |
/all:(?P<cpu_all>[^%]+)% / + # | |
/sys:(?P<cpu_sys>[^%]+)% / + # | |
/user:(?P<cpu_user>[^%]+)%\t/ + # | |
/(?P<last_meta_save>[^\t]+)\t/ + # | |
/(?P<last_save_duration>[^\t]+)\t/ + # | |
/(?P<last_save_status>[^\t]+)\t/ + # | |
/(?P<export_checksum>[^\t]+)/ + # | |
/$/ { | |
metadata_servers_state[$ip][$version] = $state | |
metadata_servers_cpu_all[$ip][$version] = $cpu_all | |
metadata_servers_cpu_sys[$ip][$version] = $cpu_sys | |
metadata_servers_cpu_user[$ip][$version] = $cpu_user | |
metadata_servers_last_meta_save[$ip][$version] = $last_meta_save | |
metadata_servers_last_save_durateion[$ip][$version] = $last_save_duration | |
} | |
# }}} | |
# -SIG {{{ | |
gauge master_info_ram_used | |
gauge master_info_cpu_used_system | |
gauge master_info_cpu_used_user | |
gauge master_info_total_space | |
gauge master_info_avail_space | |
gauge master_info_free_space | |
gauge master_info_trash_space | |
gauge master_info_trash_files | |
gauge master_info_sustained_space | |
gauge master_info_sustained_files | |
gauge master_info_all_fs_objects | |
gauge master_info_directories | |
gauge master_info_files | |
gauge master_info_chunks | |
gauge master_info_all_chunk_copies | |
gauge master_info_regular_chunk_copies | |
gauge master_info_last_successful_store | |
gauge master_info_last_save_duration | |
/^/ + | |
/master info:\t/ { | |
/RAM used\t(\d+$)/ { | |
master_info_ram_used = $1 | |
} | |
/CPU used \(system\)\t(.+$)/ { | |
master_info_cpu_used_system = $1 | |
} | |
/CPU used \(user\)\t(.+$)/ { | |
master_info_cpu_used_user = $1 | |
} | |
/total space\t(.+$)/ { | |
master_info_total_space = $1 | |
} | |
/avail space\t(.+$)/ { | |
master_info_avail_space = $1 | |
} | |
/free space\t(.+$)/ { | |
master_info_free_space = $1 | |
} | |
/trash space\t(.+$)/ { | |
master_info_trash_space = $1 | |
} | |
/trash files\t(.+$)/ { | |
master_info_trash_files = $1 | |
} | |
/sustained space\t(.+$)/ { | |
master_info_sustained_space = $1 | |
} | |
/sustained files\t(.+$)/ { | |
master_info_sustained_files = $1 | |
} | |
/all fs objects\t(.+$)/ { | |
master_info_all_fs_objects = $1 | |
} | |
/directories\t(.+$)/ { | |
master_info_directories = $1 | |
} | |
/files\t(.+$)/ { | |
master_info_files = $1 | |
} | |
/chunks\t(.+$)/ { | |
master_info_chunks = $1 | |
} | |
/all chunk copies\t(.+$)/ { | |
master_info_all_chunk_copies = $1 | |
} | |
/regular chunk copies\t(.+$)/ { | |
master_info_regular_chunk_copies = $1 | |
} | |
/last successful store\t(.+$)/ { | |
master_info_last_successful_store = $1 | |
} | |
/last save duration\t(.+$)/ { | |
master_info_last_save_duration = $1 | |
} | |
} | |
# }}} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment