logentries命令行界面

logentries-lecli的Python项目详细描述


**logentries命令行界面**
===
本文档提供了安装和使用logentries命令行界面的概述。
cli是在logentries rest api的基础上构建的,并提供了一个在ui之外与logentries服务直接交互的工具。它是beta版的,目前支持日志事件查询和帐户用户管理。将不断添加新功能。

**安装**
----


`pip install logentries lecli`



`pip install git+https://github.com/rapid7/lecli`


`pip install<;项目目录路径>;`

**注意**



首次使用后,您应该使用API密钥和其他配置编辑shell上提供的路径中的文件。

lecli配置可以位于以下路径中,具体取决于您的操作系统:

be:

/users/<;username>;/库/应用程序支持/lecli/config.ini

/.config/lecli/config.ini

我们使用"appdirs"库进行此操作,您可以始终参考其用户配置目录属性来定位配置文件。

**支持的平台**

*Linux-在"Debian 8"上测试
*OSX-在"el"上测试capitan `

**配置文件**
----
要使用cli,必须首先使用api密钥设置配置文件。
您的帐户API密钥可以在logentries.com上找到。在"帐户管理"部分下,选择"API密钥"选项卡。有关详细信息:[https://docs.logentries.com/docs/api keys](https://docs.logentries.com/docs/api keys)
在这里您可以访问您的帐户资源ID,并能够生成您的所有者、读/写和只读API密钥。请注意,只有帐户所有者才允许生成所有者api密钥。

要通过cli进行用户和帐户管理,需要所有者api密钥和帐户资源id。可以使用读/写API密钥来查询事件和日志。

=12345678-aaaa-bbbb-1234-1234cb12345b
所有者api密钥=12345678-aaaa-bbbbb-1234-1234cb12345c
rw api密钥=12345678-aaaa-bbbbb-1234-1234cb12345d
````

您还需要设置日志管理url。默认值为:

https://rest.logentries.com/management

/管理

**查询和事件**
----
cli的事件和查询功能支持多种查询事件和统计信息的方法。


已发送到日志项的事件。
可以通过几种方式指定要从中检索事件的日志。日志id可以作为日志id的空间分隔列表直接传递,也可以利用日志集和cli收藏夹。日志ID可以从LogEntries UI(https://logentries.com)中日志的设置页或日志集页获取。cli favorites可以使用"--favorites"-c"参数传递,logset id可以使用"--logset"-g"参数传递。有关设置cli收藏夹和使用日志集的更多信息,请参见下面的"cli收藏夹和日志集"部分。
默认情况下,使用"get recentevents"逗号nd将返回过去20分钟的事件。该命令还接受一个可选的时间参数,该参数允许您指定希望从中获取事件的时间间隔;这是使用"--last"或"-l"参数传递的。
还可以提供"-r"(-relative range)以使用logentries rest api的相对时间范围功能。检查[支持的模式](支持的相对时间模式)。

200
lecli get recentevents——日志集12345678-aaaa-bbbbbb-1234-1234cb123457-l 200
lecli get recentevents-g 12345678-aaaa-bbbbb-1234-1234cb123457-r"上一周"
````

与"get recentEvents"一样,日志可以作为日志ID的空间分隔列表传递给"get events"命令,也可以利用日志集和cli收藏夹。
"get events"命令接受ISO-8601人类可读时间格式(yyyy-mm-dd hh:mm:ss)中的时间范围;此格式的时间范围可以使用"--datefrom"和"--dateto"参数传递。注意,所有时间值都在UTC时区内。
该命令还接受具有第二粒度的纪元时间。epoch格式的时间参数可以使用'-timefrom'-f'和'-timeto'-t'参数传递。
还可以提供'-r'(-相对范围)以使用logentries rest api的相对时间范围功能。检查[支持的模式](支持的相对时间模式)。

11:09:59'
Lecli获取事件12345678-aaaa-bbbbbb-1234-1234cb123456-r"昨天"
Lecli获取事件--日志集12345678-aaaa-bbbbb-1234-1234cb123457--日期从"2016-05-18 11:04:00"-日期到"2016-05-18 11:09:59"
Lecli获取事件--收藏夹MyLogalias--日期从"2016-05-18 11:04:00"-日期到"2016-05-18 11:09:59"
lecli get events--favorites mylogalias-r"过去3周"
````

日志可以使用日志ID、日志集或cli收藏夹的空格分隔列表传递给"query"命令。
与"events"命令一样,"query"接受ISO-8601可读时间格式(yyy-mm-dd hh:mm:ss)的时间范围;此格式的时间范围可以使用"--datefrom"和"--dateto"参数传递。
它还接受具有第二粒度的纪元时间。epoch格式的时间参数可以使用'-timefrom'-f'和'-time to'-t'参数传递。
还可以提供'-r'(-relative range)以使用logentries rest api的相对时间范围功能。选中[支持的模式](支持的相对时间模式)。

logentries ui中高级模式下可以使用的任何leql查询类型也可以与"query"命令一起使用。leql查询使用"-leql''-l"参数作为字符串传递。有关使用leql的详细信息,请参见https://logentries.com/doc/search/
查询可以返回三种类型的结果。对于仅使用where()且不使用任何calculate或groupby函数的搜索,cli将打印匹配日志事件的列表。其他查询将返回统计或时间序列数据,cli将很好地打印这两种查询。

示例用法:
````
lecli query--logset 12345678-aaaa-bbbb-1234-1234cb123457--leql‘其中(方法=get)calculate(count)’--datefrom‘2016-05-18 11:04:00’--dateto‘2016-05-18 11:09:59’
lecli query--favorites mylogalias--leql'where(method=get)calculate(count)'--datefrom'2016-05-18 11:04:00'"--日期到"2016-05-18 11:09:59"
```

所有相对时间都不区分大小写,支持的模式如下:

-`Today`
-`Beday`
-`Last N TimeUnits`其中TimeUnits可以是:
-min、mins、minutes、minutes
-hr、hrs、hour、hours
-day、days
-week、weeks
-month,月
-年,年


Lecli将此与"tail events"命令结合使用。虽然log keys(以空格分隔的日志键)是此命令的必需参数,但此命令支持`--leql`、`--favorites`和`--logset`选项。
另一个选项是`--poll interval`或`-i`,这是对live tail api的请求间隔。默认为1.0秒。因为这可能会影响api密钥限制,应该小心使用。


示例用法:

lecli tail events 12345678-aaaa-bbbbb-1234-1234cb123456-i 5.0--leql"where(event=login)"
lecli tail events 12345678-aaaa-bbbbb-1234-1234cb123456--logset12345678-aaaa-bbbb-1234-1234cb123457
lecli tail events 12345678-aaaa-bbbb-1234-1234cb123456——收藏夹mylogalias


events、recent events、query和live tail命令支持直接从lecli运行保存的查询。如果保存的查询包含日志和时间范围信息,则无需向命令提供其他信息。如果这些信息不是保存的查询的一部分,则也必须在命令中提供。
如果提供了冗余参数(日志键、时间范围或开始和结束时间)。rest将返回一个错误响应,消息指示冗余参数,lecli将在终端上显示此信息。

示例用法:
首先使用"get savedquerys"命令获取要运行的已保存查询id,然后以以下命令格式使用此id:

lecli tailevents—保存的查询12345678-aaaa-bbbb-1234-1234cb123456
lecli tail events—保存的查询12345678-aaaa-bbbb-1234-1234cb123456-r‘最后10分钟’//如果保存的查询中没有时间范围信息
lecli tail events—保存的查询12345678-aaaa-bbb-1234-1234cb123456-f1481558514334-t 1481562814000//--saved query saved_query_uid//如果saved query中没有日志信息
"tail events"命令可以替换为"query"、"get events","获取RecentEvents",因为它们都支持以相同选项格式保存的查询。




**cli favorites和log set**
---------------------------
cli支持命令行favorites(cli favorites)用于查询命令以及来自日志条目帐户。这使得搜索知名或大型日志列表变得更加简单,因为您不需要传入日志ID列表。


\cli favorites
cli favorites允许配置单个日志的别名或日志ID列表,这是在配置文件的"cli_favorites"部分中完成的。
````
[cli-favlog=12345678-aaaa-aaaa-bbbbbbb-1234-1234cb1234cb123434343b123456
favlist=12345678-aaaa-bbbbbbbbbbbbb-1234-1234cb1234343434343456

``````````



``````````````````````````````````````````````````````````````>
favlog log>favloglog=123456-favlist要使用的日志ID列表从现有日志集(有关日志集管理的详细信息,请参阅下文)。如果使用了日志集id,则会在服务器上请求获取该日志集中存在的任何日志id的列表。然后在命令中使用日志ID列表。日志集上没有信息保留在配置文件中。
```
lecli query--logset 12345678-aaaa-bbbb-1234-1234cb123457--leql'calculate(count)'-r'last 3 days'
lecli query-g 12345678-aaaa-bbbb-1234-1234cb123457--leql'calculate(count)'-r'last 3 days'
```

**用户和帐户管理**
--------
cli的用户和帐户管理功能只能与有效的所有者api密钥一起使用。配置文件必须包含auth部分中的account_resource_id、owner_api_key_id和owner_api_key。这些都可以从https://logentries.com上的account management and api keys部分获得。
值得注意的是,如果您的帐户没有设置特定的所有者,则某些用户管理功能可能会失败,并出现500个错误;若要检查所有者是否设置了下面的"getowner"命令可以使用。如果未设置所有者,则必须重新生成所有者API密钥,此时将要求您设置帐户所有者。


该命令将返回用户的名字和姓氏、电子邮件地址、用户密钥和上次登录的时间。"get users"命令不接受任何参数。

示例用法:
````
lecli get users
````

根据用户是新用户还是现有用户,有两种添加用户的方法。
新用户是没有logentries帐户的用户。

若要添加新用户,必须提供他们的姓名和电子邮件地址。如果添加成功,cli将打印用户帐户信息,包括他们新生成的用户密钥。然后,通过cli添加的用户必须转到https://logentries.com/user/password-reset/并输入其电子邮件地址。然后,将向他们发送一个链接,他们可以使用该链接为新帐户设置密码。

可以使用以下命令添加新用户
```
lecli create user-f john-l smith-e john.smith@email.com
```

logentries帐户,即使与您的帐户没有关联,您也必须首先获取它们的用户密钥。用户可以从https://logentries.com上的logentries应用程序的帐户管理页获取其用户密钥

可以使用以下命令将现有用户添加到您的帐户中
```
lecli create user-u12345678-aaaa-bbbb-1234-1234cb123456
````


\被删除,用户帐户被删除。
但是,如果用户与任何其他帐户关联,则将删除对您帐户的访问,但用户日志条目帐户和与其他帐户的任何关联将保留。

若要删除用户,请使用以下命令
```
lecli delete user-u12345678-aaaa-bbbb-1234-1234cb123456
````

\这是使用以下命令完成的
```
lecli get owner
```

**团队管理**
----
团队管理需要配置文件中的有效读写API密钥。配置文件必须在"身份验证"部分中包含有效的帐户资源ID和RW API密钥。


lecli get team<;team id>;





35 35 35 35 35 35 35 35 35 35 35 将用户添加到team
将新用户分别添加到具有给定uuid和用户uuid的团队中。

lecli update team add_user<;team id>;<;user key>;




**帐户使用**
----
可以使用lecli"get usage"命令以及要查询的"start"和"end"日期范围来检索帐户使用情况。
此操作需要配置文件中的有效读写API密钥。
*注意:*"开始"和"结束"日期应采用ISO-8601格式:"yyyy-mm-dd",例如:"2016-01-01"



**已保存的查询管理**
lecli支持通过命令行创建(post)、列出(get all)、检索(get)、删除(delete)和更新(patch)保存的查询。
此操作要求读写API密钥位于LECLI配置文件中。

位置参数:
-要检索的已保存查询的uuid。

示例:


毫秒
-'-t':to timestamp-epoch in millishes
-'-r':相对时间范围(不能用from和/或to字段定义)
-'-l':保存查询的日志。可以为多个日志提供一个冒号(:)分隔的日志字符串。

示例:


lecli create saved query'new_saved_query''where(event)'
lecli create savedquery'new_saved_query''where(event)'-l'1234567890123456789012345678901234567890123456789012345678901234567890123456789078901234567890128901234567890123890128901234589012"新建保存的查询"where(event)'-r"最后5分钟"-l"1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123457"
lecli create saved query"新建保存的查询"where(event)'-f 1481558514334-t 1481562814000-l"123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123457"

已保存查询的
-'-s':已保存查询的leql语句
-'-f':from timestamp-epoch in millishes
-'-t':to timestamp-epoch in millishes
-'-r':相对时间范围(不能用from和/或to字段定义)
-'-l':已保存查询的日志。要提供多个日志,可以使用冒号(:)分隔的日志。

-t 1481562814000
lecli update saved query-n‘查询的新名称’-l'123456789012345678901234567890123456789012345678901234567890123456'


elete saved query<;保存的查询的uuid;



**日志管理**
——


cli允许您检索和管理日志。您可以检索特定或所有日志,以及创建、删除、替换和重命名日志。
检索日志需要配置文件中的有效只读API密钥。
其余操作还需要有效的读写API密钥。


log
检索具有给定ID的日志。




如果希望提供其他信息,可以提供json文件的(相对或完整)路径。


请注意,此时只支持创建单个日志对象。


示例json:

{
"name":"log name",
"logsets\u info":[
{
"id":"日志集id",
"name":"日志集name"
}
]
}


示例:

lecli create log-n<;name>;
lecli create log-f<;path\u json文件>;












替换日志
将日志替换为提供的日志。

强制位置参数:
-要替换的日志的uuid
-包含有效日志对象的json文件的完整或相对路径

示例:

lecli replace log<;log_id>;<;path_to_json_file>;




**日志集管理**
——


cli允许您检索和管理日志集。您可以检索所有或单个日志集,也可以创建、删除和重命名日志集。您还可以向日志集添加或删除日志。这些操作需要配置文件中的有效读写和只读API密钥。




id.

强制位置参数:
-uuid要检索的日志集。





如果希望提供其他信息,则可以提供json文件的(相对或完整)路径。


示例json:

{
"name":"logset name",
"logs\u info":[
{
"id":"log id",
"name":"log名称"
}
]
}


示例:

lecli create logset-f<;path\u to jso




35 35 35 35 35 35 35 35 35 35 35 35 35 \35 35 35



-要重命名的日志集的uuid




-要重命名的日志集的uuid
-要重命名的日志集的新名称







更新日志集
向给定的日志集添加或删除日志信息。


lecli update logset delete_log<;logset_id>;






日志集id>;<;path_to_json_file>;



**API密钥管理**
lecli支持通过命令行创建(post)、列出(get all)、检索(get)、删除(delete)和更新(patch)api密钥。

--




获取API密钥
获取特定的API密钥
使用"rw"API密钥。



















lecli get api key<;uuid of the apikey>;






创建新的api具有来自所提供JSON文件的给定参数的键。
使用"owner"API键。


示例JSON:

{
"API键":[
{
"ACL类型":"只读",
"活动":true,
}
]
}


注意:如果已经存在acl_类型的api密钥,则无法再次创建它。首先需要"删除"它才能创建。

给定的api键
-'--disable':禁用给定的api键

示例:

lecli update apikey<;api键的uuid>;--禁用

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring数据JPA+Hibernate在不首先找到父实体的情况下保存子实体   php Java:如何从CLI接收命令   spring为java中的导出数据创建访问文件   java在Windows 8.1上安装Play Framework   java Spring启动白标签错误页面(类型=未找到,状态=404)   java如何在单击时从数组中绘制?   java fn:substringAfter()上次出现   java在IFR语句中使用方法返回   java onPause()或onStop()的名称   对关联对象的关联对象具有条件的java HQL查询   java只打印一次总值,无需迭代   java如何使用抽象Uri buildOn()方法?   如何在Java中执行sudo命令并获得错误输出?   java反射:避免对getConstructor(类<?>…)的未经检查的警告调用作为原始类型类的成员   Java:如何从类中创建的对象调用类方法?   java如何在电子邮件中嵌入图像?   java如何在Android上启用详细GC?   java什么是串行版本id?