Steampipe的安装部署及简单使用(附带AWS CLI的安装与使用)

介绍

Steampipe 将 API 和服务公开为高性能关系数据库,使您能够编写基于 SQL 的查询来探索动态数据。Mods 通过使用简单 HCL 构建的仪表板、报告和控件扩展了 Steampipe 的功能。
官网:https://steampipe.io/

steampipe的安装

下载脚本并执行

sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/turbot/steampipe/main/install.sh)"

版本检查

steampipe -v
steampipe version 0.14.3

安装第一个插件

steampipe plugin install steampipeInstalled plugin: steampipe

测试运行您的第一个查询

steampipe query "select name from steampipe_registry_plugin;"+------------------+
|       name       |
+------------------+
| turbot/aws       |
| turbot/steampipe |
| turbot/azure     |
| ...              |
+------------------+
  1. 上面这些步骤是Steampipe 的一步安装程序下载steampipe 二进制文件,将其安装到/usr/local/bin.,然后.steampipe在您的主目录中创建一个目录,其中包含所有支持库和启动所需的配置(包括 PostgreSQL)。
  2. 如需更新只需重新运行第一步上面的 curl 脚本即可安装最新发布的 Steampipe 版本。
  3. Steampipe 也可以作为二进制可执行文件使用(或者您可以从源代码构建)。要手动安装 Steampipe,请解压缩可执行文件并将其移动到系统的. PATH 可以从Steampipe Github
    存储库的发布部分访问源代码、压缩的可执行文件和二进制校验和。

steampipe的使用

因为我有一台aws的服务器我们本次举例aws的插件
首先需要在服务器在设置 AWS 环境(CLI)

配置 AWS 命令行界面 (CLI)

简介

AWS 命令行界面 (CLI) 是用于管理 AWS 产品的统一工具。只需要下载和配置一个工具,您就可以使用命令行控制多个 AWS 产品并利用脚本来自动执行这些服务。要使用 CLI 与 AWS 交互,需要配置凭证以供其在进行 API 调用时使用。

安装 AWS CLI

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"unzip awscliv2.zip./aws/install

安装后查看是否安装成功

aws --version
aws-cli/2.2.17 Python/3.9.6 Darwin/20.5.0 source/x86_64 prompt/off

AWS CLI 现已正确安装,我们需要配置凭证。可以尝试运行诸如 aws ec2 describe-vpcs 之类的命令来查看是否一切运转正常。由于缺少凭证,您可能会看到以下错误消息:

aws ec2 describe-vpcs# You may not see this error if you have already configured the CLI previously.
Unable to locate credentials. You can configure credentials by running ‘aws configure’.

配置 AWS CLI 凭证

要配置凭证,请使用命令 aws configure 。系统将要求您提供 AWS 访问密钥 ID、AWS 秘密访问密钥、原定设置区域和原定设置输出格式。

最后,格式类型是原定设置显示输出的方式,包括但不限于:json、yaml、text。完成后,您应该在终端中看到以下内容 (如果您选择 us-east-1 作为原定设置区域):
aws configure

AWS Access Key ID [None]: ANOTREALACCESSKEYID
AWS Secret Access Key [None]: ANOTREALSECRETACCESSKEY
Default region name [None]: us-east-1
Default output format [None]: json

(查找方法会在下面介绍)

现在我们可以运行之前的命令并查看结果,因为每个新的 AWS 账户都配置了原定设置 VPC:

aws ec2 describe-vpcs# Output
{"Vpcs": [{"CidrBlock": "10.0.0.0/16","DhcpOptionsId": "dopt-d12345","State": "available","VpcId": "vpc-0123456789abcdef","OwnerId": "123456789012",....

这就确认了 AWS CLI 现在已正确设置。它在 ~/.aws 中创建了两个文件:config 和 credentials。credentials 文件包含您指定的凭证:

[default]
aws_access_key_id = AKNOTREALACCESSKEYID
aws_secret_access_key ==AyNOTREALSECRETACCESSKEY

配置文件的任何其他配置都存储在 config 文件中。使用 aws configure 时,它将包含以下内容 (可能具有不同的区域):

[default]
region = us-east-1
output = json

AWS access ID 和 Secret的查找方法

在IAM的控制台上的右边找到我的安全凭证
在这里插入图片描述
选择访问密钥(访问密钥ID和秘密访问密钥)后即可查看
在这里插入图片描述

选择插件

选择插件的时候我们可以在官方网站上选择可用的插件
在这里插入图片描述
选择aws service插件
在这里插入图片描述

steampipe为了减少风险不支持在root用户上运行所以需要在普通用户下操作。

steampipe plugin install aws #这边已经下好了

在这里插入图片描述
填写相关的配置

vim .steampipe/config/aws.spcconnection "aws" {plugin = "aws"access_key = "***************"secret_key = "***************"# You may connect to one or more regions. If `regions` is not specified,# Steampipe will use a single default region using the same resolution# order as the AWS CLI:#  1. The `AWS_DEFAULT_REGION` or `AWS_REGION` environment variable#  2. The region specified in the active profile (`AWS_PROFILE` or default)#regions = ["us-east-1", "us-west-2"]regions=["**-****-*"]# If no credentials are specified, the plugin will use the AWS credentials# resolver to get the current credentials in the same manner as the CLI.# Alternatively, you may set static credentials with the `access_key`,# `secret_key`, and `session_token` arguments, or select a named profile# from an AWS credential file with the `profile` argument:profile = "******" #把credentials的标头写上就好# The maximum number of attempts (including the initial call) Steampipe will# make for failing API calls. Can also be set with the AWS_MAX_ATTEMPTS environment variable.# Defaults to 9 and must be greater than or equal to 1.#max_error_retry_attempts = 9# The minimum retry delay in milliseconds after which retries will be performed.# This delay is also used as a base value when calculating the exponential backoff retry times.# Defaults to 25ms and must be greater than or equal to 1ms.#min_error_retry_delay = 25

保存退出后测试

[lcf@server4 ~]$ steampipe query
Welcome to Steampipe v0.14.1
For more information, type .help
> select * from aws_vpc
+-----------------------+--------------------------------------------------------------+---------------+-----------+------------+-----------------------
| vpc_id                | arn                                                          | cidr_block    | state     | is_default | dhcp_options_id       
+-----------------------+--------------------------------------------------------------+---------------+-----------+------------+-----------------------
| vpc-************* | arn:aws:ec2:********:**********:vpc/vpc-*************** | ***.**.0.0/16 | available | true       | ********************
+-----------------------+--------------------------------------------------------------+---------------+-----------+------------+-----------------------
> 

成功!
更多功能请查看官方文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/210812.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】cat 命令使用

cat 命令 cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。 可以使用cat连接多个文件、创建新文件、将内容附加到现有文件、查看文件内容以及重定向终端或文件中的输出。 cat可用于在不同选项的帮助下格式化文件的输出…

LV.13 D1 嵌入式系统移植导学 学习笔记

一、嵌入式系统分层 操作系统:向下管理硬件、向上提供接口 操作系统为我们提供了: 1.进程管理 2.内存管理 3.网络接口 4.文件系统 5.设备管理 那系统移植是干什么呢? 就是将Linux操作系统移植到基于ARM处理器的开发板中。 那为什么要移植系…

【calcitonin ; 降钙素 ;降钙素原】

Parathyroid_Hormone -甲状旁腺激素 PTH ; 特立帕肽;

【SQL开发实战技巧】系列(四十八):Oracle12C常用新特性☞多分区操作和管理

系列文章目录 【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事 【SQL开发实战技巧】系列(二):简单单表查询 【SQL开发实战技巧】系列(三):SQL排序的那些事 【SQL开发实战技巧…

K8s构建的mysql无法远程连接

最近在写一个老师布置的大作业,都是老师写好的yaml文件,都是没问题的,但是构建的mysql无法远程连接。 尝试了网上的很多方法,都失败了,我的构建过程应该是没什么错误的,所以网上的方法并不奏效&#xff0c…

【小白专用】Sql Server 连接Mysql 更新23.12.09

目标 已知mysql连接参数(地址和用户),期望通过Microsoft Sql Server Management Studio (以下简称MSSSMS)连接Mysql,在MSSSMS中直接查询或修改Mysql中的数据。 一般是选最新的版本下载。 选64位还是32位&a…

C++ 对象的初始化和清理:构造函数和析构函数

目录 构造函数和析构函数 构造函数 析构函数 构造函数的分类及调用 括号法 显示法 隐式转换法 拷贝构造函数的调用时机 使用一个已经创建完毕的对象来初始化一个新对象 值传递的方式给函数参数传值 以值方式返回局部对象 构造函数调用规则 初始化列表 类对象作…

【Java 基础】27 XML 解析

文章目录 1.SAX 解析器1)什么是 SAX2)SAX 工作流程初始化实现事件处理类解析 3)示例代码 2.DOM 解析器1)什么是 DOM2)DOM 工作流程初始化解析 XML 文档操作 DOM 树 3)示例代码 总结 在项目开发中&#xff0…

Jupyter notebook修改背景主题

打开Anaconda Prompt,输入以下内容 1. pip install --upgrade jupyterthemes 下载对应背景主题包 出现Successfully installed jupyterthemes-0.20.0 lesscpy-0.15.1时,说明已经下载安装完成 2. jt -l 查看背景主题列表 3. jt -t 主题名称(…

mysql的BIT数值类型

MySQL :: MySQL 8.2 Reference Manual :: 11.1.5 Bit-Value Type - BIT MySQL :: MySQL 8.2 Reference Manual :: 9.1.5 Bit-Value Literals BIT类型用来存放bit值,每一位是0或者1,允许1-64位。 例如,下面表定义了new这列的类型为8位的BIT…

NestJS的微服务实现

1.1 基本概念 微服务基本概念:微服务就是将一个项目拆分成多个服务。举个简单的例子:将网站的登录功能可以拆分出来做成一个服务。 微服务分为提供者和消费者,如上“登录服务”就是一个服务提供者,“网站服务器”就是一个服务消…

Python如何实现数据驱动的接口自动化测试

大家在接口测试的过程中,很多时候会用到对CSV的读取操作,本文主要说明Python3对CSV的写入和读取。下面话不多说了,来一起看看详细的介绍吧。 1、需求 某API,GET方法,token,mobile,email三个参数 token为必填项mobil…

探索人工智能领域——每日20个名词详解【day13】

目录 前言 正文 总结 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Filotimo__✍️原创,首发于CSDN📚。 📣如需转载,请事先与我联系以…

Axure网页端高交互组件库, 下拉菜单文件上传穿梭框日期城市选择器

作品说明 组件数量:共 11 套 兼容软件:Axure RP 9/10,不支持低版本 应用领域:web端原型设计、桌面端原型设计 作品特色 本作品为「web端组件库」,高保真高交互 (带仿真功能效果);运用了动态面板、中继…

UniGui使用CSSUniTreeMenu滚动条

有些人反应UniTreeMenu当菜单项目比较多的时候会超出但是没有出滚动条,只需要添加如下CSS 老规矩,unitreemeu的layout的componentcls里添加bbtreemenu,然后在css里添加 .bbtreemenu .x-box-item{ overflow-y: auto; } 然后当内容超出后就会…

【数据结构第 6 章 ②】- 用 C 语言实现邻接矩阵

目录 一、邻接矩阵表示法 二、AMGraph.h 三、AMGraph.c 四、Test.c 【数据结构第 6 章 ① 】- 图的定义和基本术语-CSDN博客 由于图的结构比较复杂,任意两个顶点之间都可能存在联系,因此无法以数据元素在存储区中的物理位置来表示元素之间的关系&…

SpringCloud网关介绍

一、Gateway简介 1、官网 上一代zuul 1.X:https://github.com/Netflix/zuul/wiki 当前gateway:https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/html/ 2、是什么 SpringCloud Gateway是SpringCloud的一个全…

.NET Core 依赖注入 Microsoft.Extensions.DependencyInjection

文章目录 前言什么是依赖注入C# 使用依赖注入框架介绍 Microsoft.Extensions.DependencyInjectionNuget安装简单单例使用打印结果 自动装配举例自动装配测试用例打印结果自动装配执行顺序测试用例有歧义构造函数渐进式构造函数循环依赖 自动装配结论 手动装配手动注入别名注入 …

调用win32 api获取电脑名字和系统目录

学习一下几个函数的功能,和调用方式; void CBasenameView::OnDraw(CDC* pDC) {CBasenameDoc* pDoc GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereCString str1;TCHAR myname1[50], myname2[50], mydirname1[50], myd…

常见的Linux系统版本

在介绍常见的Linux系统版本之前,首先需要区分Linux系统内核与Linux发行套件系统的不同。Linux系统内核指的是一个由Linus Torvalds负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。而Linux发行套件系统是我们常说的Linux操作系…