mkr, 命令行的工具

分享于 

7分钟阅读

GitHub

  繁體 雙語
Command Line Tool for Mackerel (under development)
  • 源代码名称:mkr
  • 源代码网址:http://www.github.com/mackerelio/mkr
  • mkr源代码文档
  • mkr源代码下载
  • Git URL:
    git://www.github.com/mackerelio/mkr.git
    Git Clone代码到本地:
    git clone http://www.github.com/mackerelio/mkr
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/mackerelio/mkr
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    mkr

    Latest VersionBuild StatusGo Documentation

    for - 用于编写的mkr的命令行 工具。

    描述

    mkr是一个命令行接口工具,用于 Mackerel。 mkr有助于自动化单调乏味的日常服务器操作,以最佳利用和 of unix工具。 输出格式是 JSON,因此可以使用JSON处理器( 如 jq ) 过滤。

    安装

    从yum或者apt仓库安装插件包。

    5/6

    curl -fsSL https://mackerel.io/assets/files/scripts/setup-yum.sh | sh
    yum install mkr

    Debian 6/7

    curl -fsSL https://mackerel.io/assets/files/scripts/setup-apt.sh | sh
    apt-get install mkr

    Homebrew

    你也可以从我们维护的brew规则中安装,但是我们不正式支持环境。

    brew tap mackerelio/mackerel-agent
    brew install mkr

    基于源代码的

    $ go get github.com/mackerelio/mkr
    $ go install github.com/mackerelio/mkr

    Linux ( Docker )

    https://registry.hub.docker.com/u/mackerel/mkr/

    $ docker run mackerel/mkr --rm --entrypoint="cat"/go/bin/app >/usr/local/bin/mkr && chmod +x/usr/local/bin/mkr
    用法

    首先必须设置MACKEREL_APIKEY环境变量。 不需要在运行 mackerel代理的主机上设置 MACKEREL_APIKEY。 有关详细信息,请参阅下面的内容。

    export MACKEREL_APIKEY=<Put your API key>

    示例

    
    mkr status <hostId>
    
    
    {
    
    
    "id":"2eQGEaLxiYU",
    
    
    "name":"myproxy001",
    
    
    "status":"standby",
    
    
    "roleFullnames": [
    
    
    "My-Service:proxy"
    
    
     ],
    
    
    "isRetired": false,
    
    
    "createdAt":"Nov 15, 2014 at 9:41pm (JST)"
    
    
    }
    
    
    
    
    
    mkr hosts --service My-Service --role proxy
    
    
    [
    
    
     {
    
    
    "id":"2eQGEaLxiYU",
    
    
    "name":"myproxy001",
    
    
    "status":"standby",
    
    
    "roleFullnames": [
    
    
    "My-Service:proxy"
    
    
     ],
    
    
    "isRetired": false,
    
    
    "createdAt":"Nov 15, 2014 at 9:41pm (JST)"
    
    
     },
    
    
     {
    
    
    "id":"2eQGDXqtoXs",
    
    
    "name":"myproxy002",
    
    
    "status":"standby",
    
    
    "roleFullnames": [
    
    
    "My-Service:proxy"
    
    
     ],
    
    
    "isRetired": false,
    
    
    "createdAt":"Nov 15, 2014 at 9:41pm (JST)"
    
    
     },
    
    
    ]
    
    
    
    

    mkr hosts 命令有一个'-f'选项来格式化输出。

    
    mkr hosts -f '{{range. }}{{if (len. Interfaces)}}{{(index. Interfaces 0).IPAddress}}{{end}}{{"t"}}{{.Name}}{{"n"}}{{end}}'
    
    
    10.0.1.1 myproxy001
    
    
    10.0.1.2 myproxy002
    
    
    ...
    
    
    
    
    
    mkr create --status working -R My-Service:db-master mydb001
    
    
    mkr update --status maintenance --roleFullname My-Service:db-master <hostId>
    
    
    
    
    
    cat <<EOF | mkr throw --host <hostId>
    
    
    <name> <value> <time>
    
    
    <name> <value> <time>
    
    
    EOF
    
    
    ...
    
    
    
    cat <<EOF | mkr throw --service My-Service
    
    
    <name> <value> <time>
    
    
    <name> <value> <time>
    
    
    EOF
    
    
    ...
    
    
    
    
    
    mkr fetch --name loadavg5 2eQGDXqtoXs
    
    
    {
    
    
    "2eQGDXqtoXs": {
    
    
    "loadavg5": {
    
    
    "time": 1416061500,
    
    
    "value": 0.025
    
    
     }
    
    
     }
    
    
    }
    
    
    
    
    
    mkr retire <hostId>.. .
    
    
    
    

    示例( 在主机上运行fish代理)

    指定和MACKEREL_APIKEY是不必要的,因为mkr引用/var/lib/mackerel-agent/id 和/etc/mackerel-agent/mackerel-agent.conf 而不是手动指定。

     
    mkr status
    
    
    
     
    
    mkr update --status maintenance <hostIds>...
    
    
    
    
    
    mkr fetch --name loadavg5 <hostId>
    
    
    
    
    cat <<EOF | mkr throw --host <hostId><name> <value> <time>EOF
     
    mkr retire
    
    
    
     

    高级用法

    $ mkr update --st working $(mkr hosts -s My-Service -r proxy | jq -r '.[].id')
    捐赠
    • fork ( https://github.com/mackerelio/mkr/fork )
    • 创建要素分支
    • 提交更改
    • 将你的本地更改与主分支隔离
    • 使用 go test./... 命令运行测试套件,并确认它是否通过
    • 运行 gofmt -s
    • 创建新的拉请求

    许可证

    版权所有 2014 Hatena股份有限公司。

    在Apache许可以证下许可以证版本 2.0 ("许可以证") ;你可以能不使用这里文件,除了符合许可以证。 你可以获得许可证的副本在*

    
    http://www.apache.org/licenses/LICENSE-2.0
    
    
    
    

    在规定的法律或者书面许可下,在许可条款下分发的软件在不保证任何种类的担保或者条件的前提下分发,或者明示或者隐含。 查看许可协议下特定语言的许可权限和限制的许可证。


    COM  tool  COMM  mac  Comma  命令行  
    相关文章