Nautobot Panorama ChatOps插件
项目描述
Nautobot Panorama ChatOps
此存储库中的代码已迁移到Nautobot ChatOps仓库作为集成 - 在ChatOps文档中了解更多信息!截至2023年7月,此仓库已冻结 - 所有关于此集成的开发/问题/讨论都将在Nautobot ChatOps仓库中进行。
这是一个扩展ChatOps支持到Palo Alto Panorama系统的Nautobot插件。该插件将一些有用的命令添加到您的ChatOps环境中,增强了管理员和最终用户对Panorama的日常使用。此框架允许快速扩展新的ChatOps命令用于Panorama。
注意:虽然此插件需要Nautobot和基本的Nautobot ChatOps插件,但它不需要Panorama或Palo Alto库存存在于Nautobot中。它实际上是Nautobot独立的,除了将其用作运行聊天机器人的后端。
使用方法
支持的命令如下。我们欢迎通过提交问题或PR来提出任何新的命令或功能请求。
/panorama 命令 | 描述 |
---|---|
get-devices | 从Panorama获取有关连接设备的详细信息。 |
get-devicegroups | 从Panorama获取有关设备组和它们的设备的详细信息。 |
验证规则存在 | 通过 Panorama 验证特定 ACL 规则是否存在于设备中。 |
获取版本 | 获取 Panorama 的软件版本信息。 |
上传软件 | 将软件上传到指定的 Palo Alto 设备。 |
安装软件 | 将软件安装到指定的 Palo Alto 设备。 |
获取设备规则 | 返回给定设备上所有防火墙规则及其详细信息列表。 |
导出设备规则 | 以 CSV 格式生成包含详细信息的防火墙规则可下载列表。 |
捕获流量 | 在 PANOS 设备上对指定 IP 流量运行数据包捕获。 |
先决条件
此插件在使用前需要安装和配置 Nautobot ChatOps 插件。您可以在 此处 找到详细的设置和配置说明。
安装
该插件作为 Python 包在 PyPI 上可用,可以使用 pip 安装。
pip install nautobot-plugin-chatops-panorama
该插件与 Nautobot 1.1.0 及更高版本兼容。
为确保 Nautobot Panorama ChatOps 在未来的升级中自动重新安装,请在 Nautobot 根目录下创建一个名为 local_requirements.txt
的文件(如果尚不存在),与 requirements.txt
位于同一位置)并列出 nautobot-plugin-chatops-panorama
包。
# echo nautobot-plugin-chatops-panorama >> local_requirements.txt
安装后,需要在您的 nautobot_config.py
中启用插件。
# In your configuration.py
PLUGINS = ["nautobot_chatops", "nautobot_plugin_chatops_panorama"]
此外,将以下 PLUGINS_CONFIG
部分添加/更新到 nautobot_config.py
中。
您只需添加以下片段中的部分,以适应您将要使用的聊天平台(Slack、Webex 等)。
# Also in nautobot_config.py
PLUGINS_CONFIG = {
"nautobot_chatops": {
# Slack
"enable_slack": os.environ.get("ENABLE_SLACK", False),
"slack_api_token": os.environ.get("SLACK_API_TOKEN"),
"slack_signing_secret": os.environ.get("SLACK_SIGNING_SECRET"),
"slack_slash_command_prefix": os.environ.get("SLACK_SLASH_COMMAND_PREFIX", "/"),
# Webex
"enable_webex": os.environ.get("ENABLE_WEBEX", False),
"webex_token": os.environ.get("WEBEX_TOKEN"),
"webex_signing_secret": os.environ.get("WEBEX_SIGNING_SECRET"),
# Mattermost
"enable_mattermost": os.environ.get("ENABLE_MATTERMOST", False),
"mattermost_api_token": os.environ.get("MATTERMOST_API_TOKEN"),
"mattermost_url": os.environ.get("MATTERMOST_URL"),
# MS Teams
"enable_ms_teams": os.environ.get("ENABLE_MS_TEAMS", False),
"microsoft_app_id": os.environ.get("MICROSOFT_APP_ID"),
"microsoft_app_password": os.environ.get("MICROSOFT_APP_PASSWORD"),
},
"nautobot_plugin_chatops_panorama": {
"panorama_host": os.environ.get("PANORAMA_HOST"),
"panorama_user": os.environ.get("PANORAMA_USER"),
"panorama_password": os.environ.get("PANORAMA_PASSWORD"),
},
}
环境变量
您需要为您的 Nautobot 实例设置以下环境变量,然后重启服务以便它们生效。
- PANORAMA_HOST - 这是用于访问您的 Panorama 实例的管理 DNS/IP 地址。
- PANORAMA_USER - 一个具有对 Panorama API 访问权限的用户帐户。
- PANORAMA_PASSWORD - 与上述用户帐户相对应的密码。
export PANORAMA_HOST="{{ Panorama DNS/URL }}"
export PANORAMA_USER="{{ Panorama account username }}"
export PANORAMA_PASSWORD="{{ Panorama account password }}"
如果基本 Nautobot Chatops 插件尚未安装,则以下环境变量对于使用的聊天平台是必需的。有关如何从环境变量中检索每个聊天平台所需的令牌和密钥的说明,请参阅 平台特定设置 文档。
您只需为将要使用的聊天平台创建以下环境变量。要使环境变量持久化,请将它们添加到运行 Nautobot 的用户的 ~/.bash_profile。
# Slack
export ENABLE_SLACK="true"
export SLACK_API_TOKEN="foobar"
export SLACK_SIGNING_SECRET="foobar"
# Webex
export ENABLE_WEBEX="true"
export WEBEX_TOKEN="foobar"
export WEBEX_SIGNING_SECRET="foobar"
# Mattermost
export ENABLE_MATTERMOST="false"
export MATTERMOST_API_TOKEN="foobar"
export MATTERMOST_URL="foobar"
# Microsoft Teams
export ENABLE_MS_TEAMS="false"
export MICROSOFT_APP_ID="foobar"
export MICROSOFT_APP_PASSWORD="foobar"
当以 Docker 容器部署时,所有上述环境变量都应在
development/creds.env
文件中定义。在development
文件夹中提供了一个示例凭据文件creds.env.example
。
访问控制
与基本 Nautobot ChatOps 插件的常规 /nautobot
命令一样,/panorama
命令支持通过 Nautobot 中的访问权限菜单进行访问控制。有关设置说明,请参阅基本 Nautobot ChatOps 插件的安装指南中的 授予 Chatbot 访问权限 部分。
问题
对于任何问题或评论,请首先查看 常见问题解答,并且随时可以访问 Network to Code Slack 通道(通道 #networktocode)。在此处注册 这里。
屏幕截图
项目详情
nautobot_plugin_chatops_panorama-1.2.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ee7190e06e05c342d3baf81ed2416b44e05bf808c68fea0c1ac6122064543271 |
|
MD5 | 97513fd63f6fc0b5a89f5ad1782fcd7c |
|
BLAKE2b-256 | 0322fac25c300317d7d1480971c5e0b5e04b4f145b2d6edda359301183be6cb0 |
nautobot_plugin_chatops_panorama-1.2.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7bc4cd81f0d9eac552f7ec2852ed72dd5da1c82969bc593ee6853e887da88401 |
|
MD5 | 7589d8ca455dc4be354f129060b0b21d |
|
BLAKE2b-256 | 107770e414aa220cd264081e590ae44ef595d5d8993318c0c2927854e0c427c3 |