Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ showme Public

Rapid diagnostic system status tool (performance monitoring, network scanning, mysql performance monitoring, kubectl status)

License

Notifications You must be signed in to change notification settings

lflxp/showme

Repository files navigation

Introduction

Rapid diagnostic system status tool (performance monitoring, network scanning, mysql performance monitoring, kubectl status)

快速诊断系统状态工具(性能监控、网络扫描、mysql性能监控)

Install

go get -u github.com/lflxp/showme
make install
showme -h

Example

Module

smart.png

特点

  • 支持 kubectl | go | git | kill 等命令的自动补全
  • 无其它任何依赖,一个文件smkubectl搞定所有事情
  • 无复杂繁琐的fzf配置,无需安装fzf命令
  • 自动生成zsh-completion配置,只需简单配置即可,无需复杂zsh|zsh-completion配置
  • 开箱即用,效率提升,简单易用

安装及使用

go install github.com/lflxp/showme@latest

autoload -U compinit && compinit -u
source <(showme completion zsh)

快捷键

~

操作

  • k + ~

  • k g + ~

  • k get + ~

  • k get po+~ (没有空格)

  • k get po + ~ (有空格)

  • k edit po -n

  • k get po -n namespace pod -c + ~

  • k logs -f + ~

  • 【Doing】k8s 【Kubenetes Dashboard】

k8s.png

  • 【Doing】轻量音乐播放器 【本地网易云音乐】

music.png

monitor.png

s1.png

安装

make gopacket

NMAP

基于优秀的nmap工具进行封装,采用gin+api+restful+remote的方式进行远程调用。

PLAYBOOK

基于Ansible-playbook开发的Go原型工具,功能特点有:

showme playbook

  • RPC远程操作
  • Yaml Template
  • Go Template
  • Plugin Register
  • Mini CMDB Required

Gomartix

黑客帝国字母雨

SEARCH

全局模糊搜索

__test() {
 local cmd="${FZF_TEST_COMMAND:-"list"}"
 setopt localoptions pipefail no_aliases 2> /dev/null
 eval "$cmd"
 local ret=$?
 echo
 return $ret
}
# test
fzf-test() {
 LBUFFER="${LBUFFER}$(__test)"
 local ret=$?
 zle reset-prompt
 return $ret
}
zle -N fzf-test
bindkey '^[e' fzf-test

PROXY

基于GOLANG的各种代理工具,处于测试阶段。

Usage

➜ showme git:(master) ✗ showme proxy -h 
* http正向代理
* http 反向代理
* mysql tcp代理(负载均衡、读写分离、分布式调度)
* socket5 代理
* ss fq代理
Usage:
 showme proxy [command]
Available Commands:
 http http正向代理
 httpreverse http反向代理
 mysql mysql proxy
 socket5 socket5 http代理服务器
 ss shadowsocks

Technology Stack

  1. go-prompt
  2. gocui/tcell/tview/ncurses/goncurses
  3. 提示选项分为两种: 一、命令参数 dashboard status 二、配置参数 dashboard --status
  4. github.com/jroimartin/gocui
  5. github.com/gdamore/tcell
  6. vue 【Element-UI】
  7. websocket
  8. gin web api
  9. yaml

新增操作

  1. suggests/commands.go 添加首字符命令添加提示
  2. completers/options.go 添加含【-】的参数
  3. completers/common.go -> FirstCommandFunc 添加命令提示 添加基于首字符的二级字符命令提示
  4. executors 添加目录实现命令gocui展示
  5. executors/executors.go 添加command对应的执行命令

多线程改造

https://blog.csdn.net/lengyuezuixue/article/details/79664409

TODO

  • 结合GuiLite进行美化
  • tty 添加install自动部署systemctl服务的功能
  • 对接Mini CMDB

贡献

若要基于本项目进行开发,需要先建立cobra cli命令选项cobra add ${YOUR_CLI} -p rootCmd

k8s resource list

alertmanagers.monitoring.coreos.com endpoints nodes.metrics.k8s.io replicasets.extensions
apiservices.apiregistration.k8s.io etcdclusters.etcd.database.coreos.com persistentvolumeclaims replicationcontrollers
certificatesigningrequests.certificates.k8s.io events persistentvolumes resourcequotas
clusterrolebindings.rbac.authorization.k8s.io events.events.k8s.io poddisruptionbudgets.policy rolebindings.rbac.authorization.k8s.io
clusterroles.rbac.authorization.k8s.io horizontalpodautoscalers.autoscaling pods roles.rbac.authorization.k8s.io
componentstatuses ingresses.extensions pods.metrics.k8s.io secrets
configmaps jobs.batch podsecuritypolicies.extensions serviceaccounts
controllerrevisions.apps leases.coordination.k8s.io podsecuritypolicies.policy servicemonitors.monitoring.coreos.com
cronjobs.batch limitranges podtemplates services
customresourcedefinitions.apiextensions.k8s.io mutatingwebhookconfigurations.admissionregistration.k8s.io priorityclasses.scheduling.k8s.io statefulsets.apps
daemonsets.apps namespaces prometheuses.monitoring.coreos.com storageclasses.storage.k8s.io
daemonsets.extensions networkpolicies.extensions prometheusrules.monitoring.coreos.com validatingwebhookconfigurations.admissionregistration.k8s.io
deployments.apps networkpolicies.networking.k8s.io redisfailovers.storage.spotahome.com volumeattachments.storage.k8s.io
deployments.extensions nodes replicasets.apps 

go 1.18 hotfix

go get -u golang.org/x/sys
go get -u github.com/go-eden/routine

About

Rapid diagnostic system status tool (performance monitoring, network scanning, mysql performance monitoring, kubectl status)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /