Skip to content
This repository has been archived by the owner on Aug 3, 2024. It is now read-only.

Latest commit

 

History

History
214 lines (164 loc) · 6.63 KB

README.zh-cn.md

File metadata and controls

214 lines (164 loc) · 6.63 KB

merakictl

published

多语言文档:英文, 日本语简体中文.

社区开发的用于Meraki Dashboard API的Golang SDK和命令行工具。 有关供应商支持的API接口,请参见精彩内容:[Meraki仪表板API Python库]https://github.com/meraki/dashboard-api-python)

##下载Merakictl 该SDK可以用作基于CLI的应用程序,而无需任何先前的编程经验。 它可以编译成跨平台(Linux / Mac / Win)静态二进制文件。

当前,我们处于Alpha版本:下载Merakictl

##从源代码运行

####安装 安装Go编程语言。

####设置路径 `` 导出GOPATH = $ HOME / go 导出PATH = $ PATH:$ GOPATH / bin


####下载项目

``
去获取github.com/ddexterpark/merakictl

####编译CLI(可选) 外壳脚本 #Linux / MacOS 去建立main.go mv main / usr / local / sbin / merakictl 导出PATH = / usr / local / bin:/ usr / local / sbin:“ $ PATH”

#Windows 64位
env GOOS = windows GOARCH = amd64编译main.go

#Windows 32位
env GOOS = windows GOARCH = 386去建立main.go
    
## 环境变量

至少,要使用此工具,您将需要为API密钥设置一个环境变量。
您还可以设置一些可选的env var来自定义API调用:

####必填

** MERAKI_API_TOKEN **
外壳脚本
      重击-
      出口MERAKI_API_TOKEN = 1234567890987654321
      回声$ MERAKI_API_TOKEN
      
      电源外壳 -
            setx MERAKI_API_TOKEN“ 1234567890987654321”
            回声%MERAKI_API_TOKEN%

#### 可选的

** MERAKI_API_URL ** 外壳脚本 默认='https://api.meraki.com/api/' 中国='https://api.meraki.cn/api/'


** MERAKI_API_VERSION **

默认版本为v1,此工具仅对v0提供有限支持,因为该版本将于2022年停用。
并非所有端点都可以在v0中工作。
 
外壳脚本
    默认='v1'

## 句法

外壳脚本 merakictl [命令] [子命令] [目标] [标志]


 
#### [命令]
 
操作|语法|描述
--- | --- | ---
| **声明** | merakictl索赔[订单/序列/许可证] [TARGET] |向仪表板索取订单,许可证,序列号。 |
| **创建** | merakictl创建[命令] [子命令] [目标] [标志] |创建(POST)新资源。 |
| **获取** | merakictl获取[命令] [子命令] [目标] [标志] |显示(GET)api资源的操作。 |
| **更新** | merakictl更新[命令] [子命令] [目标] [标志] |更新(PUT)目标资源。 |
| **删除** | merakictl删除[命令] [子命令] [目标] [标志] |破坏性(DELETE)API调用,用于从仪表板上删除资源。 |
| **版本** | merakictl版本|显示Merakictl的版本和相关发行信息。 |

#### [SUBCOMMAND]

子命令反映了Meraki仪表板层次结构:

对象描述
--- | --- |
|组织机构网络集合|
|网络|设备集合|
|设备| Meraki产品|


语法示例:
 外壳脚本
     merakictl获取组织列表
     merakictl获取组织网络
     merakictl获取网络警报设置
     merakictl获取MX L3防火墙规则
     merakictl获取ms端口
     merakictl得到ssid先生

为了调用这些命令,您将必须利用标志来指定目标org / network / device / switchport / ssid / etc ...

[标志]

标记类型 描述
全球 -导出 -e 全局标志,用于通过get命令从Meraki API中提取配置。
全球 -输入 使用yaml文件将配置传递到仪表板API的全局标志
全球 **-diff ** 与仪表板配置差异配置文件的全局标志
全球 -详细 -v 全局标志,用于显示http请求和响应以进行故障排除。
全球 -组织 -o 组织ID的全局标志。
全球 -网络 -n 网络ID的全局标志。
全球 -主机名 设备主机名的全局标志。

###数据模型 请参阅示例目录以获取完整的参考指南。 我强烈建议您在运行create之前从仪表板导出当前配置, 更新或删除命令。

在大多数情况下,API命令会执行覆盖操作,** yaml文件中未捕获的任何仪表板配置都有被替换的危险。**

####示例Cmd 外壳脚本 merakictl更新vpn-输入vpnconf.yaml --org 12345678


#### vpnconf.yaml
``yaml
---
同行:
 -姓名:我的同龄人1
   publicIp:123.123.123.1
   私有子网:
     -192.168.1.0/24
     -192.168.128.0/24
   秘密:asdf1234
   ipsecPolicies:
     ikeCipherAlgo:
       -三倍
     ikeAuthAlgo:
       -sha1
     ikeDiffieHellmanGroup:
       -第2组
     寿命:28800
     childCipherAlgo:
       -aes128
     childAuthAlgo:
       -sha1
     childPfsGroup:
       -禁用
     儿童寿命:28800
   networkTags:
     -全部
 -姓名:我的同龄人2
   publicIp:123.123.123.2
   remoteId:miles@meraki.com
   私有子网:
     -192.168.2.0/24
     -192.168.129.0/24
   秘密:asdf56785678567856785678
   networkTags:
     - 没有
   ipsecPoliciesPreset:默认

###免责声明

Merakictl是一个非常强大的工具。使用仪表板速率限制,您具有以下理论上的潜力:

API调用数 5 300 180,000 1,400,000
完成时间 ** 1秒** ** 1分钟** ** 1小时** ** 8小时**

进行生产更改时请小心。如果不确定该工具,请查看代码。

切勿运行您不理解的程序。在接触生产之前,请在测试环境中练习使用此工具。

创建生产变更计划。在测试环境中实施计划的各个方面,以确保对更改有最高的信心。

####出色的生产变更计划的要素包括: -同行审查要求其他人审查您的测试计划,请他们在您的测试环境中运行它。 -预先检查捕获更改前的网络状态。 -事后检查捕获更改后的网络状态。 -备份配置复制配置,以便在发生回滚时可以重新应用它。 -回滚过程请勿轻易采取此步骤,否则会出错。 最糟糕的情况是更改失败并且没有经过测试的可靠回滚计划。 -指数变更时间表不要一次做所有事情。从单个网络开始, 监视它,给它时间正常运行,然后,如果没有错误,则调度下5个网络,然后是10、25、50、100等。 -故障阈值一批网络可接受的故障更改百分比 在取消所有计划的更改之前?通常,根据您的规模,可接受1-5%的费用。 一切都需要根本原因分析和计划修改。