从命令行使用景观

从命令行使用景观

有没有关于使用命令行管理景观的文档?例如,如何从客户端机器测试 ping?

答案1

我相信您想知道的是如何通过 CLI 管理 Landscape 服务器。因此,我想向您推荐此处的用户指南https://landscape.canonical.com/static/doc/user-guide/ 这将是一个良好的开始。

关于 CLI 工具,您需要选择您觉得最舒服/最喜欢哪一个: https://landscape.canonical.com/static/doc/api/

为了帮助您入门,有 3 种方法可以使用此 API:

命令行客户端:易于使用,shell脚本友好

Python 模块:功能更强大,如果你想通过 Python 驱动 API,推荐使用

低级 HTTP 请求:如果你想知道发生了什么,或者为其他语言编写一个客户端

我个人最喜欢的是命令行客户端。安装 Landscape-API 并获取密钥后(您可以从 Landscape 服务器 GUI 中找到、生成和刷新密钥,只需在登录时单击您的姓名即可),如下所示https://landscape.canonical.com/static/doc/api/api-client-package.html 您可以从 Landscape 服务器和所连接的机器获取所有信息:

例子:

$ landscape-api get-computers | grep host
  u'hostname': u'xxx.eu-west-2.compute.amazonaws.com',
  u'hostname': u'xxx.eu-west-2.compute.internal',
  u'hostname': u'laptop',

$ landscape-api get-computers | grep ping
  u'last_ping_time': u'2018-12-05T16:45:39Z',
  u'last_ping_time': u'2018-12-05T16:45:39Z',
  u'last_ping_time': u'2018-12-05T15:24:20Z',

我在这里使用 grep 只是为了向你展示示例,因为即使 3 台机器的完整输出也相当大,特别是如果你使用附加开关运行它时:

$ landscape-api get-computers --with-hardware

或者

$ landscape-api get-computers --with-hardware --json

然后,您还可以使用 jq 进行额外的文本操作

希望这会有所帮助。

相关内容