• 关于

    curl获取json

    的搜索结果

问题

如何将JSON字符串转换为数组

我想做的是以下几点: 将JSON作为php中文本区域的输入 使用此输入并将其转换为JSON并将其传递给php curl以发送请求。 这是从api的获取处获取的php这个json字符串,我想传递给json...
保持可爱mmm 2020-02-07 23:06:09 1 浏览量 回答数 1

问题

关于获取钉钉Accesstoken问题

<?php require_once(_DIR_ ."/./env.php"); header("Content-type: application/json"); $ch = curl_...
彭发红 2019-12-01 21:34:29 6298 浏览量 回答数 0

回答

有用过curl的同学快快现身 ###### 你的问题的重点不在怎么使用curl上,而是怎么从curl获取的内容中筛选你要的数据。 如果是json,直接json_decode;如果是html/text,最直接的方法就是正则匹配。 ###### $str = array ( 'Auth'=>'admin', 'CustomerNumber'=>$customerNumber, 'Addtime'=>$addtime , 'City'=>$city, 'Suppliers'=>$suppliers, 'Domain'=>$domain ); $url = "http://www.xxx.com/xxx.php"; $ch = curl_init (); curl_setopt ( $ch, CURLOPT_URL, $url ); curl_setopt ( $ch, CURLOPT_POST, 1 ); curl_setopt ( $ch, CURLOPT_HEADER, 0 ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt ( $ch, CURLOPT_POSTFIELDS, $str ); $return = curl_exec ( $ch ); curl_close ( $ch ); 那边用$_POST接一下,大体就是这样哈
爱吃鱼的程序员 2020-05-29 19:58:10 0 浏览量 回答数 0

回答

有用过curl的同学快快现身 ###### 你的问题的重点不在怎么使用curl上,而是怎么从curl获取的内容中筛选你要的数据。 如果是json,直接json_decode;如果是html/text,最直接的方法就是正则匹配。 ###### $str = array ( 'Auth'=>'admin', 'CustomerNumber'=>$customerNumber, 'Addtime'=>$addtime , 'City'=>$city, 'Suppliers'=>$suppliers, 'Domain'=>$domain ); $url = "http://www.xxx.com/xxx.php"; $ch = curl_init (); curl_setopt ( $ch, CURLOPT_URL, $url ); curl_setopt ( $ch, CURLOPT_POST, 1 ); curl_setopt ( $ch, CURLOPT_HEADER, 0 ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt ( $ch, CURLOPT_POSTFIELDS, $str ); $return = curl_exec ( $ch ); curl_close ( $ch ); 那边用$_POST接一下,大体就是这样哈
优选2 2020-06-05 16:45:13 0 浏览量 回答数 0

问题

钉钉获取持久码为空

扫码登录获取用户授权的持久授权码时获取为空,打印的结果如下: url:oapi域名/sns/get_persistent_code?access_token=608f12dcecc335daa1e948731b3147...
易联老王 2019-12-01 22:02:17 1498 浏览量 回答数 1

问题

使用Helidon 2.0.0-M2在POST方法上获取原始JSON

我在下面有一个POST端点。我想访问在处理程序方法内发送的原始JSON。理想情况下,可以是String形式,也可以转换为Map形式。JSON中的数据可能会有所不同,我不想像Pokemon示例中那样将...
montos 2020-05-27 21:28:18 2 浏览量 回答数 1

回答

Re钉钉获取持久码为空 修改函数http_post_data如下还是不行 function http_post_data($url, $jsonStr) {     $ch = curl_init();     curl_setopt($ch, CURLOPT_POST, 1);     curl_setopt($ch, CURLOPT_URL, $url);     curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonStr);     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);     curl_setopt($ch, CURLOPT_HTTPHEADER, array(             'Content-Type: application/json; charset=utf-8',             'Content-Length: ' . strlen($jsonStr)         )     );     $response = curl_exec($ch);     $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);     curl_close($ch);     return array($httpCode, $response); }
易联老王 2019-12-02 01:08:48 0 浏览量 回答数 0

回答

配置Logtail采集日志数据,如果Logtail机器组心跳状态不正常,可使用Logtail自动诊断工具或人工诊断的方式排查问题。 背景信息 如果使用Logtail采集日志,在服务器上安装Logtail之后,Logtail会定时向服务端发送心跳包。如果机器组状态页面显示机器无心跳,说明客户端和服务端连接失败。日志服务提供Logtail自动诊断工具和人工诊断两种方式,您可以根据需求选择排查方式。 自动诊断 日志服务提供针对Linux服务器的Logtail自动诊断工具,排查步骤请参见Logtail自动诊断工具。 人工诊断 Logtail自动诊断工具未检查出问题,或服务器为Windows,请参见本文档逐步排查。 Logtail机器无心跳排查流程如下图所示。 图 1. 排查流程 步骤1:检查是否已安装Logtail 请执行如下命令查看Logtail状态。 Linux服务器 sudo /etc/init.d/ilogtaild status 如果显示ilogtail is running,表示已安装Logtail,例如: [root@****************~]# sudo /etc/init.d/ilogtaild status ilogtail is running Windows服务器 在控制面板中单击管理工具,并单击服务。 查看LogtailDaemon、LogtailWorker两个Windows Service的运行状态。如果正在运行,表示已安装Logtail。 如未安装Logtail客户端,请参见安装Logtail(Linux系统)或安装Logtail(Windows系统)进行安装,安装时请务必按照您日志服务Project所属Region以及网络类型进行安装。如果Logtail正在运行,请执行下一步检查。 步骤2:检查Logtail安装参数是否正确 安装Logtail时,需要为客户端指定正确的服务端访问入口,即根据日志服务Project所在地域选择表 1,并根据网络类型选择不同的安装方式。如果安装参数或安装脚本错误,可能会导致Logtail机器无心跳。关于不同地域的服务入口请参见服务入口。 Logtail配置文件ilogtail_config.json中记录了Logtail安装参数及所选的安装方式,该文件的路径为: Linux服务器:/usr/local/ilogtail/ilogtail_config.json Windows x64服务器:C:\Program Files (x86)\Alibaba\Logtail\ilogtail_config.json Windows x86服务器:C:\Program Files\Alibaba\Logtail\ilogtail_config.json 检查安装参数。 检查文件ilogtail_config.json中客户端连接的网络入口所属Region是否与您Project所在Region一致。 例如以下回显信息表明Logtail安装在华东一(杭州)地域的ECS中。 图 2. 检查安装参数 Project所属Region如下图所示。 图 3. Project所属Region 检查安装方式。 测试ilogtail_config.json中配置的域名,检查是否根据服务器所属网络环境选择了正确的安装方式。 例如ilogtail_config.json中记录Logtail配置的域名为cn-hangzhou-intranet,则可以通过执行如下命令检查连通性。 Linux服务器 执行命令curl logtail.cn-hangzhou-intranet.log.aliyuncs.com,如下表示安装OK。 [root@*********** ~]# curl logtail.cn-hangzhou-intranet.log.aliyuncs.com {"Error":{"Code":"OLSInvalidMethod","Message":"The script name is invalid : /","RequestId":"5DD39230BE9910FC6CF17609"}} Windows服务器 执行命令telnet logtail.cn-hangzhou-intranet.log.aliyuncs.com 80,如下表示安装OK。 [root@*********** ~]# telnet logtail.cn-hangzhou-intranet.log.aliyuncs.com 80 Trying 10007*5... Connected to logtail.cn-hangzhou-intranet.log.aliyuncs.com. Escape character is '^]'. 如果检查失败,说明安装时选择了错误的参数,所以会显示执行了错误的安装命令。请参见安装Logtail(Linux系统)或安装Logtail(Windows系统)选择正确的安装参数。 如果Logtail已正确安装,请执行下一步检查。 步骤3:检查机器组配置的IP地址是否正确 机器组中配置的IP地址必须和Logtail获取到的服务器地址一致,否则机器组无心跳、或无法采集到日志数据。Logtail获取机器IP的方式如下: 如果没有设置主机名绑定,会取服务器的第一块网卡IP。 如果在文件/etc/hosts中设置了主机名绑定,则会取绑定主机名对应的IP。 说明 可以通过hostname查看主机名。 排查步骤: 查看Logtail获取的IP地址。 文件app_info.json的ip字段中记录了Logtail获取的IP地址,该文件的路径为: Linux服务器:/usr/local/ilogtail/app_info.json Windows x64服务器:C:\Program Files (x86)\Alibaba\Logtail\app_info.json Windows x86服务器:C:\Program Files\Alibaba\Logtail\app_info.json 说明 如果app_info.json文件中ip字段为空,Logtail无法工作。此时需为服务器设置IP地址并重启Logtail。 文件app_info.json仅做记录,修改该文件并不会改变Logtail获取的IP地址。 图 4. 查看Logtail获取的IP地址 查看机器组中配置的地址。 在日志服务控制台单击Project名称,然后在左侧导航选择机器组,单击目标机器组名称后在机器组配置页面查看状态。 图 5. 查看机器组 如果服务端机器组内填写的IP与客户端获取的IP不一致,则需要修改。 若服务端机器组填写了错误IP,请修改机器组内IP地址并保存,等待1分钟再查看心跳状态。 若修改了机器上的网络配置(如修改/etc/hosts),请重新启动Logtail以获取新的IP,并根据app_info.json文件中的ip字段修改机器组内设置的IP地址。 重启Logtail的方式: Linux服务器: sudo /etc/init.d/ilogtaild stop sudo /etc/init.d/ilogtaild start Windows服务器:在控制面板中单击管理工具 > 服务,找到并重启LogtailWorker。 如果机器组配置的IP地址为Logtail获取的IP地址,请执行下一步检查。 步骤4:检查非本账号下ECS是否已配置阿里云主账号ID 如果您的ECS服务器和日志服务Project不在同一账号下,或服务器为其他云厂商服务器、自建IDC,则需要在服务器上配置阿里云主账号ID,为安装Logtail的机器授权。 检查/etc/ilogtail/users目录下是否有与阿里云主账号ID同名的文件。 如果没有,请参见配置阿里云主账号ID进行操作。 说明 必须是主账号的ID。 账号ID请在阿里云控制台个人信息中查看。 如果您的问题仍未解决,请提工单到日志服务。工单中请提供您的Project、Logstore、机器组、app_info.json、ilogtail_config.json以及自助诊断工具的输出内容。
保持可爱mmm 2020-03-26 22:59:53 0 浏览量 回答数 0

问题

发送企业回话信息,无法获取返回值

想通过内部系统发消息给钉钉用户,看了帮助写了下面的代码,运行后,用户接收不到消息,并且不管对错,都没有返回提示,怎么回事?? ...
windofwinter 2019-12-01 21:09:33 3868 浏览量 回答数 1

问题

聚石塔服务器上模拟请求失败

使用聚石塔服务器,做模拟请求,返回false,在浏览器访问可以获取到信息,现在获取 [font='Microsoft Yahei', 微软雅黑, Arial]h...
wenjian111 2019-12-01 20:59:51 1829 浏览量 回答数 0

回答

你没说是什么程序,要干嘛用啊。 如果你只是在shell里玩玩的话,搜索一下netcat 或者socat 用法,监听一下8080端口。 c:\>nc -l -v -p 8080 listening on [any] 8080 ... connect to [127.0.0.1] from smal.r.arpg2.com [127.0.0.1] 60326 curl -XPOST -d '{"id":"123"}' "http://localhost:8080/student" ######我后台用java接收参数,例如一个servlet。这个请求没有请求参数名,我怎么才能获取的json数据呢?######这个post会作为请求主体被接受。你的程序只要能处理都可以######我后台用java接收参数。这个请求没有请求参数名,我怎么才能获取的json数据呢?######你后台什么语言?######回复 @范邪 : request.getReader(); 或者 request.getInputStream(); 剩下的就是IO读取了######java。
爱吃鱼的程序员 2020-06-03 16:51:25 0 浏览量 回答数 0

问题

wttr.in 一个 Python 实现的命令行查看天气工具

wttr.in是面向控制台的天气预报服务,它支持各种信息表示方法,例如用于控制台HTTP客户端(curl,httpie或wget)的面向终端的ANSI序列,...
huc_逆天 2020-05-21 19:12:17 19 浏览量 回答数 1

回答

尝试删除 Kubernetes 命名空间后,长时间停留在终止状态。 本文介绍如何解决命名空间处于终止状态的问题。 问题现象 尝试删除 Kubernetes 命名空间后,长时间停留在终止状态。 $ kubectl delete ns Error from server (Conflict): Operation cannot be fulfilled on namespaces " ": The system is ensuring all content is removed from this namespace. Upon completion, this namespace will automatically be purged by the system. $ kubectl describe ns Name: Labels: Annotations: kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"v1","kind":"Namespace","metadata":{"annotations":{},"name":" ","namespace":""}} Status: Terminating 可能原因 通常是因为从集群中删除的这些命名空间下存在资源。 解决方案 选项 1:识别并手动删除无法自动删除的资源。 此选项不太直接,但在大多数情况下可能是更好的解决方案。因为删除命名空间后,它不会将该命名空间下的资源保留在集群中。 检查没有自动删除的命名空间资源。 尝试删除命名空间后,某些资源可能尚未删除。如果可以识别并手动删除所有剩余资源,则命名空间将终止。 kubectl api-resources --verbs=list --namespaced -o name | xargs -n 1 kubectl get -n 检查所有不可用且不提供资源的 API Service。 kubectl get apiservice | grep False 选项 2:删除命名空间的 finalizers。 该选项将会快速清除处于终止状态的命名空间,但可能会导致属于该命名空间的资源留在集群中,因为无法自动删除它们。在 finalizers 数组为空并且状态为终止之后,Kubernetes 将删除命名空间。 打开 shell 终端,为您的 Kubernetes 集群创建一个反向代理。 kubectl proxy 输出示例如下: Starting to serve on 127.0.0.1:8001 打开一个新的 shell 终端,通过定义环境变量来连接到 Kubernetes 集群,使用 cURL 测试连接性和授权。 export TOKEN=$(kubectl describe secret $(kubectl get secrets | grep default | cut -f1 -d ' ') | grep -E '^token' | cut -f2 -d':' | tr -d '\t') curl http://localhost:8001/api/v1/namespaces --header "Authorization: Bearer $TOKEN" --insecure 获取命名空间定义的内容。 kubectl get namespace -o json > .json 将 finalizers 数组置为空,并重新保存文件。 "spec": { "finalizers": [ ] }, 执行以下命令去除 finalizers。 curl -X PUT --data-binary @ .json http://localhost:8001/api/v1/namespaces/logging/finalize
1934890530796658 2020-03-20 20:25:50 0 浏览量 回答数 0

回答

我用C#写的,已经成功了。 我说说我在此过程中遇到的问题,也许会对楼主有帮助: 首先,我在网上找的MD5(32位)加密方式有点小bug,就是比如应该是110230xxxx的给我弄成了11230xxxx,也就是奇数位的0会没有,请楼主你先在网上找个在线加密把你的密码加密一下,然后和你的密码比对一下看对不对,并且注意在发送的时候有没有空格(以防万一); 然后,一般客户端模拟登录的话ErrCode会返回-6,所以最好是先去获取一下验证码,怎么获取不用我教吧?但是注意它在输出图片的同时还在头里发了一个set-cookie(每获取一次,发给你的cookie不一样),你要把cookie保存下来,然后在登录的时候给它发回去,不然会每次都是-6; 最后,祝你早日成功。 ######回复 @CcCcCcCcd : 不管什么语言,腾讯的服务器验证的都是你发过去的消息,你确定你用户名密码正确的情况下,想想,它为什么不通过你的登录?一定是你漏发了消息。具体的可以看到第一次也是唯一一次写的博客,http://my.oschina.net/duoing/blog/147015######回复 @天体图 : 如果是用PHP写的怎么处理呢######回复 @CX-Oice : 哥们。。。已经有人问过同样的问题了,你仔细看下,我回答sorthman的。######你好,不知道怎么获取验证码.能帮忙下吗?急需,谢谢。QQ747051050######回复 @sorthman : 我获取验证码是手动识别的啊。去获取那个图片(地址你应该知道的),然后不是会有一个HttpWebResponse对象么?从这里开始,Stream reader = _HttpWebResponse.GetResponseStream(); Image img = new Bitmap(reader);然后随你怎么用了,你想保存或是用pictureBox显示在窗体上都可以######class SendMessage{ public function init($user,$password){//初始化,登陆微信平台 $url = "http://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN"; $ch=curl_init($url); $post["username"] = $user; $post["pwd"] = md5($password); $post["f"] = "json"; curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0'); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); $html = curl_exec($ch); curl_close($ch); } public function Send($content,$fromfakeid){//发送消息给指定人 $url = "http://mp.weixin.qq.com/cgi-bin/singlesend?t=ajax-response"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt '); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0'); $post['tofakeid'] = $fromfakeid; $post['type'] = 1; $post['content'] = $content; $post['ajax'] = 1; curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); $html = curl_exec($ch); curl_close($ch); }############复制了你这个class 登录还是出现 -2######Java写的登录,使用MD5加密了,也设置了head,返回值不对,你知道原因么?######看一下微信的說明,返回這個消息是什麼意思######我也想问。######不知道什么原因,你解决了么######"-1":"系统错误。 "-2":"帐号或密码错误 "-3":"密码错误。" "-4":"不存在该帐户。" "-5":"访问受限。" "-6":"需要输入验证码" "-7":"此帐号已绑定私人微信号,不可用于公众平台登录。" "-8":"邮箱已存在。" "-32":"验证码输入错误" "-200":n="因频繁提交虚假资料,该帐号被拒绝登录。" "-94":"请使用邮箱登陆。" "10":"该公众会议号已经过期,无法再登录使用。" "65201":"65202":"成功登陆,正在跳转..." "0":n="成功登陆,正在跳转..." default:"未知的返回。" 这是微信平台的返回码对应错误信息。 ######回复 @MaxCrazy : 用PHP写的怎么处理呢######回复 @廖凯 : 我也是抓取不完整,看不到最末端的用户信息,怎么解决啊?######回复 @廖凯 : java环境下可以模拟登录微信公众平台,可以获取token信息,但通过http请求用户管理界面获取用户信息无法获取,原因是 httpclient 返回的html数据不完整,可能是页面字符串太多了,用抓包工具看了一下,用户信息数据正好是在body的最末端,且无法获取用户信息,有好办法么?######回复 @MaxCrazy : 这个我已经知道了,######回复 @廖凯 : 登陆的时候添加这句: post.setRequestHeader(REFERER_H, "https://mp.weixin.qq.com/"); 登陆可以解决,返回值是0,REFERER_H代表Referer字段,但是登陆后粉丝来源的页面源码发生改变,现在获取不到了。######兄弟,做出来了吗,我这里也想做一个,PHP的,验证码这里不知道怎么做,能帮帮忙吗######兄弟 我想问问你登陆那块怎么做的 为什么我这里总是返回 - 2 呢 求分享######回复 @廖凯 : 我的QQ 137978759######回复 @廖凯 :您QQ多少,我给您看一下,我写的代码,一下午了都没做出来,麻烦你帮哦我看看好吗,谢谢啦~~######验证码不用搞,重复登录几下就好了###### {"ret":"-1", "msg":"need post"} 返回这个信息 我用asp 写的,已经连 token 一起提交了 ######有哪位帅哥,用asp.net试过,有木有代码,发给我研究下咯,感激!!######http://www.oschina.net/code/snippet_146430_21868######我模拟登录的时候,老是报密码错误,请问微信的密码采用什么加密方式,有大小写之分吗
kun坤 2020-06-04 18:07:20 0 浏览量 回答数 0

问题

实例标识

实例标识作为 实例元数据 的一部分,可以帮助您快速辨识并区分 ECS 实例,为应用程序权限控制和软件激活等提供重要的信任基础。 实例标识的所有信息均实时生成,随取即用,并跟随实例信息...
chenchuan 2019-12-01 21:34:14 490 浏览量 回答数 0

问题

Thinkphp集成paypal在线支付源码?报错

paypal作为国际在线支付的一种比较常用的收款工具,在现在的国际电子商务中使用的非常多,这里将就paypal支付接口与企业自己的网上电子商务系统之间沟通作一详细描述。 常见的电子商务系统实现的流程如下...
爱吃鱼的程序员 2020-06-08 20:02:20 0 浏览量 回答数 1

问题

如何有效地找到给定位置附近的最近位置?mysql

我正在编写一个脚本,其中将业务量以纬度和经度加载到mySQL数据库中。然后,我向该脚本提供一个(最终用户的)经度纬度,并且该脚本必须计算从提供的经度/经度到它从数据库中获...
保持可爱mmm 2020-05-17 18:50:45 1 浏览量 回答数 1

问题

词表管理API是什么?

关键词管理接口文档 1、 创建关键词词表 1.1 地址 协议URL方法HTTPShttps://nlsapi.aliyun.com/asr/custom/keyword_listsPOST 1.2 请求 ...
nicenelly 2019-12-01 21:28:06 1599 浏览量 回答数 0

问题

ISV 未上线应用获取日志数据

企业: 杭州心书网络科技有限公司 请求时间: 2017-12-22 09:52:00 开发环境: 阿里云, django框架 调用 API: dingtalk.corp.report.list(获取日志数据) 配置: 已审核通过"...
unusebamboo 2019-12-01 22:05:20 1498 浏览量 回答数 0

回答

在本地开发环境测试PHP应用,需准备好相关的开发环境。本文将介绍PHP开发环境的设置步骤,并提供相关工具的安装页面链接。 安装PHP 请根据以下操作安装PHP和一些常用扩展。如果您没有特别的要求,请获取最新版本。 Linux 在PHP官网下载安装包,例如php-7.3.8.tar.bz2 (sig)。 进入安装包所在目录。 执行以下命令安装包: $ sudo yum install php macOS 在PHP官网下载安装包,例如php-7.3.8.tar.bz2 (sig)。 执行以下命令安装包: $ brew install php Windows 在PHP For Windows下载Windows系统安装包,例如PHP 7.3 (7.3.8)。 进入PHP安装包所在目录,运行下载的文件即可安装,无需其他配置。 安装Composer Composer 是用于PHP的依赖项管理器。您可以使用它来安装库、跟踪应用程序的依赖项并为热门PHP框架生成项目。 使用来自getcomposer.org的PHP脚本安装Composer。 $ curl -s https://getcomposer.org/installer | php 安装程序将在当前目录中生成PHAR文件。将此文件移动到环境PATH中的位置以便将此文件用作可执行文件。 $ mv composer.phar ~/.local/bin/composer 使用require命令安装库。 $ composer require twig/twig Composer 会将您在本地安装的库添加到您的项目composer.json文件。在部署项目代码时,Web+将使用Composer在您的环境中的应用实例上安装此文件中列出的库。如果您在安装Composer时遇到问题,请访问Composer官网。 安装IDE 集成开发环境(IDE,Integrated Development Environment )是用于提供应用开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具,可以显著提高开发效率。以下是PHP开发中常用的IDE。 Eclipse PhpStorm
1934890530796658 2020-03-23 14:24:16 0 浏览量 回答数 0

回答

E-HPC 混合云集群 您可以通过E-HPC创建HPC混合云集群,利用本地的HPC集群向阿里云扩容计算资源,统一调度公共云上资源和用户本地计算节点。 集群的调度结点(头节点),域账号管理节点都在本地,您可以通过以下方式进行本地和云上的节点通信: 云企业网:请参见 什么是云企业网。 物理专线:请参见 申请专线接入。 VPN网关:请参见 什么是VPN网关。 如何搭建VPN网关和建立连接,请参见 配置站点到站点连接。本地网关如果使用strongswan,请参见 strongSwan配置。 注意:本地网关需要允许 UDP 端口 500 和 4500 连入, strongswan 对外监听端口是 500 和 4500。本地网关需要允许域账号系统以及 HPC 集群头结点相关服务监听的端口连入。 环境要求 本地HPC集群管理节点的环境要求如下: 操作系统: Linux CentOS 6.8、6.9 或者 7.2、7.3、7.4 调度集群类型:PBSPro 18.1.1、Slurm 17.2.4 账号管理类型:nis 2.31、ldap 2.4 创建混合云集群 准备工作 搭建好网络连接、VPN、云企业网或者物理专线。 提供本地HPC集群调度节点信息:hostname、ip。 提供本地域账号节点信息: hostname、ip、账号域名 (domain name)。 E-HPC支持如下两种方式创建混合云集群 本地集群已经存在,那么本地集群节点不需要做额外的配置 本地集群还不存在,E-HPC会自动安装配置本地集群调度节点和域账号节点 API调用创建混合云集群 OpenAPI:CreateHybridCluster, 这里假设选择的地域是杭州(regionId:cn-hangzhou)。有关 API 文档,请参见 混合云管理API。 部分参数说明: VpcId:指定以上搭建网络连接相关的VPC。 Nodes:json格式的字符串,内容包含本地集群的调度节点以及账号节点的信息,可以参照以下的例子。 [ {"Role":"AccountManager", "HostName":"account", "IpAddress":"...", "AccountType":"nis"}, {"Role":"ResourceManager", "HostName":"scheduler","IpAddress":"...","SchedulerType":"pbs"} ] 注意: 如果本地调度节点和账号节点为同一个节点,以上 AccountManager 和 ResourceManager 下只需配置 HostName 和 IpAddress 的其中一个。 集群创建成功之后,通过E-HPC控制台可以查看集群基本信息,集群状态处于“安装中”。 本地集群配置 获取集群配置 在混合云集群创建成功之后,通过 API 获取集群配置信息。OpenAPI GetHybridClusterConfig,有关文档请参见 混合云管理API。 配置本地集群节点 登录本地集群调度节点和域账号管理节点,执行如下命令: echo -e "集群配置信息" > /root/ehpc.conf 账号节点和调度节点为两个节点 登录本地域账号管理节点运行如下命令安装配置 E-HPC agent: curl -O http://e-hpc-hangzhou.oss-cn-hangzhou.aliyuncs.com/packages/deploy_ehpc_agent.sh chmod +x deploy_ehpc_agent.sh ./deploy_ehpc_agent.sh -r AccountManager -i -r: # 指定节点角色 -i: # 如果本地集群是已经存在的,指定这个选项就会跳过安装配置域账号服务 登录本地集群调度节点运行如下命令安装配置E-HPC agent: 下载或者从以上域账号节点拷贝部署脚本 curl -O http://e-hpc-hangzhou.oss-cn-hangzhou.aliyuncs.com/packages/deploy_ehpc_agent.sh chmod +x deploy_ehpc_agent.sh ./deploy_ehpc_agent.sh -r ResourceManager -i -r: # 指定节点角色 -i: # 如果本地集群是已经存在的,指定这个选项就会跳过安装配置HPC集群调度服务 账号节点和调度节点为同一个节点 登录本地集群节点运行如下命令安装配置E-HPC agent curl -O http://e-hpc-hangzhou.oss-cn-hangzhou.aliyuncs.com/packages/deploy_ehpc_agent.sh chmod +x deploy_ehpc_agent.sh ./deploy_ehpc_agent.sh -r AccountManager,ResourceManager -i -r: #指定节点角色 -i: #如果本地集群是已经存在的,指定这个选项就会跳过安装配置HPC集群调度服务 本地管理节点部署之后,通过E-HPC控制台可以查看集群基本信息,集群状态会转变为“运行中”。 增加节点 调用 E-HPC OpenAPI AddNodes,请参见 节点管理API。 管理本地节点 E-HPC支持管理部署本地计算节点,将本地计算节点加入到混合云集群,也可以加入到云上的集群,最终统一调度管理。目前支持API方式接入: 增加本地计算节点到E-HPC集群 调用 E-HPC OpenAPI AddLocalNodes,请参见 混合云管理API。 获取新增加的节点配置 调用 E-HPC OpenAPI GetHybridClusterConfig获取该节点配置信息,注意请求参数’Node’必须设置为本地节点的hostname,请参见 混合云管理API。 登录本地计算节点运行如下命令安装配置E-HPC agent: 设置节点配置 echo -e "节点配置信息" > /root/ehpc.conf 下载或者从以上域账号节点拷贝部署脚本 curl -O http://e-hpc-hangzhou.oss-cn-hangzhou.aliyuncs.com/packages/deploy_ehpc_agent.sh chmod +x deploy_ehpc_agent.sh ./deploy_ehpc_agent.sh -r ComputeNode -i -r: # 指定节点角色 -i: # 如果本地计算节点已经安装配置好,指定这个选项就会跳过安装配置HPC集群调度相关服务
1934890530796658 2020-03-23 17:49:08 0 浏览量 回答数 0

回答

可信电子证照采用许可链作为区块链技术底层。许可链分为联盟链和私有链两种,为简单起见,本节将以私有链为例,讨论如何搭建并部署一条属于自己的以太坊私有链。 考虑到便捷性,我们提供私有链底层平台的部署脚本,基于该脚本可实现私有链的自动化快速部署。在环境准备方面,私有链平台部署在政府内网,区块链节点运行于若干PC Server,在IP层保证区块链节点间的互联互通。 □测试环境 :3台全节点服务器(虚拟机)。 □服务器系统:centos 6.8。 □服务器性能:4核,8GB内存。 □以太坊客户端:geth 搭建及部署以太坊私有链的具体步骤如下。 第一步:部署主节点,在该节点上生成创世区块。 首先,通过制定的参数配置,在控制台启动geth服务 过参数console启动一个带命令行的geth服务。接着,通过带有命令行的geth服务,注册一个新用户。 □personal.newAccount("test1234”):注册新用户的web3接口。 □0xfc3147e7d648b3513f3fbad853ddc242e7f003ba:注册成功后为新用户生成的地址address,对于以太坊来说也是公钥,记住这个地址,在配置创世节点的时候需要。 新用户创建成功后,输入命令 “exit” 退出服务,如果不退出,geth服务会自动同步公链区块,搭建私有链则不需要同步以太坊公链。 然后,通过创世节点配置配置文件(genesis.json),初始化创世节点。初始化配置文件内容如下: { "alloc": { }, "nonce": "0x0000000000000042”, //随机数,用于挖矿 "difficulty": "0x020000”, //设置区块挖矿复杂度,设置太高,产出区块的速度会比较慢,设置太低,产出垃圾区块(分叉)的概率会比较高 "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000”, // 与nonce一起配合用于挖矿,详细信息可以参考以太坊黄皮书 "coinbase": "0x0000000000000000000000000000000000000000”, // coninbase地址 "timestamp": "0x00”, //时间戳 "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000”, //创世区块父区块的地址,由于是创世区块,没有父区块,所以为0 "extraData": "0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa”, //备注信息 "gasLimit": “0x4c4b40” // 设置gas的消耗总量限制,用于限制区块能包含交易的信息综合,这里我们用于私链测试开发,所以填最大值 } 获取创世节点配置文件的参数以后,通过命令来初始化创世节点: geth --datadir data init genesis.json 至此,创世节点的初始化就完成了,现在我们来启动创世节点: geth --datadir data --mine --etherbase 0 --minerthreads 2 --port 30303 --rpc --rpcapi "db,eth,net,web3,personal" --rpcaddr 10..129. --rpccorsdomain “*” console 运行上述命令后会看到图1-16所示的界面。 后面需要在从节点添加监听地址来同步主节点的区块。 我们的创世区块的主节点已经启动了。可以查看创世节点的一些信息 指令含义分析如下所示。 eth.accounts :查看当前geth服务下的账户列表; eth.getBalacne(“0xfc3147e7d648b3513f3fbad853ddc242e7f003ba”) :查询指定账户的余额信息,单位为wei。 至此,我们的创世节点已经成功启动了。 第二步:部署从节点,并且同步主节点的区块信息。 首先,把主节点服务上的genesis.json复制到从节点服务器,并初始化节点: geth --datadir data init genesis.json 然后,启动从节点geth服务: geth --datadir data console 从服务启动成功,服务启动后的显示信息与主服务的类似。 接着,在从服务器上创建账户,与主服务创建账户相同: personal.newAccount(?234test?; “0xabc147e7d648b3513f3fbad853ddc242e7f00gjs” 为了从服务添加对主服务的监听,在从服务的geth服务控制台输入如下命令: admin.addPeer(“enode://707124b6dba10fad0ad776539038310aace4f73f7c906885e9064c943ab8e92e819cce40805919f6bc314492ef220ee2eb40b9c60e5b16361bc4a32e843dcd3b@10.37.129.2:30303”); 此时主从服务就可以互相同步区块了。 添加创世节点的监听端口有如下3种方式。 (1)在geth服务控制台使用如下命令: admin.addPeer(“enode://707124b6dba10fad0ad776539038310aace4f73f7c906885e9064c943ab8e92e819cce40805919f6bc314492ef220ee2eb40b9c60e5b16361bc4a32e843dcd3b@10.37.129.2:30303”); (2)在geth启动参数设置,使用参数--bootbodes: “enode://707124b6dba10fad0ad776539038310aace4f73f7c906885e9064c943ab8e92e819cce40805919f6bc314492ef220ee2eb40b9c60e5b16361bc4a32e843dcd3b@10.37.129.2:30303” (3)使用配置文件,添加文件/static-nodes.json : [ "enode://707124b6dba10fad0ad776539038310aace4f73f7c906885e9064c943ab8e92e819cce40805919f6bc314492ef220ee2eb40b9c60e5b16361bc4a32e843dcd3b@10.37.129.2:30303", ] 最后我们要让主从服务的矿工工作了,目前该私有链的以太币只能依靠矿工挖矿来产出。分别在主从节点的geth控制台输入以下命令: personal.unlockAccount(“0xabc147e7d648b3513f3fbad853ddc242e7f00gjs”); 分别在对应的服务器上填入对应的矿工用户地址,即刚注册的用户的地址。这时,控制台需要我们输入注册时地址对应的用户名(也就是注册新用户时设定的test1234)。 然后,使用miner.start(2) 命令开始挖矿,这里需要设置cpu使用的个数。之后可以使用miner.stop()命令来停止挖矿。 至此,我们已经搭建好两个全节点的区块链服务了。可以使用脚本来启动geth服务,而不需要在geth控制台中启动相关服务。 创建geth.sh脚本: geth --datadir /data/Ethereum/data --port 30303 --bootnodes "enode://b70d74575119486999877d08f07aa2e9cb4aa908 f78d3e58d91e19eb790a3723f8aedc25fd9823aa0e7cc2c4ca54c431ab785211cb111aa9c28461ca72adb67f@10.51.110.19:30303" --mine --minerthreads 2 --nat "extip:10.51.110.21" --rpc --rpcapi "db,eth,net,web3,personal" --rpcaddr 10.51.110.21 --rpc corsdomain “*” console 脚本启用服务以后,可以通过curl命令来调用geth服务的json-rpc接口(rpc服务的地址就是启动命令--rpcaddr设定的地址,服务端口默认为8545),例如: curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBalance","params": [“0xabc147e7d648b3513f3fbad853ddc242e7f00gjs", "latest"],"id":1}’ 10.51.110.21:8545
问问小秘 2019-12-02 03:10:06 0 浏览量 回答数 0

问题

关于触发异步处理{"error":"bad token"}的问题

//代码是这样的,我要异步处理图片持久化 function makeUrl($url,$bucket,$savekey,$ak="KUN6xYZlOAtid2MjHm90-6VFY2M7HC90ijDH4uOR",$sk="D-K57TE5...
落地花开啦 2019-12-01 20:02:18 1515 浏览量 回答数 1

问题

PHP 收发消息如何实现?

运行环境准备 用 HTTP 协议发送或者接收消息,请完成以下准备工作。 Windows 从 IntelliJ 官网下载并安装 phpStorm 试用版:http://www.jetbrains.com/phpst...
猫饭先生 2019-12-01 21:15:06 1332 浏览量 回答数 0

问题

Hadoop Restful问题。 400 请求出错 

第一部分:什么是<span style=""font-size:12px;"">REST 与<span style=""font-size:12...
kun坤 2020-05-25 20:34:51 12 浏览量 回答数 1

回答

在Logstore列表页面单击诊断可以查看当前Logstore的所有日志采集报错,本文档介绍具体报错类型及对应的处理方式。 若您遇到其他问题,请提交工单处理。 错误类型 错误说明 处理方式 LOGFILE_PERMINSSION_ALARM Logtail无权限读取指定文件。 检查服务器Logtail的启动账户,建议以root方式启动。 SPLIT_LOG_FAIL_ALARM 行首正则与日志行首匹配失败,无法对日志做分行。 检查行首正则正确性,如果是单行日志可以配置为.*。 MULTI_CONFIG_MATCH_ALARM 同一个文件,只能被一个Logtail的配置收集,不支持同时被多个Logtail配置收集。 说明 Docker标准输出可以被多个Logtail配置采集。 检查一个文件是否在多个配置中被收集,并删除多余的配置。 REGEX_MATCH_ALARM 正则表达式解析模式下,日志内容和正则表达式不匹配。 复制错误内容中的日志样例重新尝试匹配,并生成新的解析正则式。 PARSE_LOG_FAIL_ALARM JSON、分隔符等解析模式下,由于日志格式不符合定义而解析失败。 请单击错误信息,查看匹配失败的详细报错。 CATEGORY_CONFIG_ALARM Logtail采集配置不合法。 常见的错误为正则表达式提取文件路径作为Topic失败,其它错误请提工单解决。 LOGTAIL_CRASH_ALARM Logtail因超过服务器资源使用上限而崩溃。 请参考配置启动参数修改CPU、内存使用上限,如有疑问请提工单。 REGISTER_INOTIFY_FAIL_ALARM Linux下注册日志监听失败,可能由于没有文件夹权限或文件夹被删除。 检查Logtail是否有权限访问该文件夹或该文件夹是否被删除。 DISCARD_DATA_ALARM 配置Logtail使用的CPU资源不够或网络发送流控。 请参考配置启动参数修改CPU使用上限或网络发送并发限制,如有疑问请提工单解决。 SEND_DATA_FAIL_ALARM 主账号未创建任何AccessKey。 Logtail客户端机器与日志服务的服务器端无法连通或者网络链路质量较差。 服务器端写入配额不足。 主账号创建AK。 检查本地配置文件/usr/local/ilogtail/ilogtail_config.json,执行curl <服务器地址>,查看是否有内容返回。 为Logstore增加Shard数目,以支持更大数据量的写入。 REGISTER_INOTIFY_FAIL_ALARM Logtail为日志目录注册的inotify watcher失败。 请检查目录是否存在以及目录权限设置。 SEND_QUOTA_EXCEED_ALARM 日志写入流量超出限制。 在控制台扩容分区。 READ_LOG_DELAY_ALARM 日志采集进度落后于日志产生进度,一般是由于配置Logtail使用的CPU资源不够或是网络发送流控导致。 请参考Logtail配置启动参数修改CPU使用上限或网络发送并发限制,如有疑问请提工单。 DROP_LOG_ALARM 日志采集进度落后于日志产生进度,且未处理的日志轮转超过20个,一般是由于配置Logtail使用的CPU资源不够或是网络发送流控导致。 请参考Logtail配置启动参数修改CPU使用上限或网络发送并发限制,如有疑问请提工单。 LOGDIR_PERMINSSION_ALARM 没有日志监控目录读取权限。 请检查日志监控目录是否存在,若存在请检查目录权限设置。 ENCODING_CONVERT_ALARM 编码转换失败。 请检查日志编码格式配置是否与日志编码格式一致。 OUTDATED_LOG_ALARM 过期的日志,日志时间落后超过12小时。可能原因: 日志解析进度落后超过12小时。 用户自定义时间字段配置错误。 日志记录程序时间输出异常。 查看是否存在READ_LOG_DELAY_ALARM。如存在按照READ_LOG_DELAY_ALARM处理方式解决,若不存在请检查时间字段配置。 检查时间字段配置。若时间字段配置正确,请检查日志记录程序时间输出是否正常。 如有疑问请提工单。 STAT_LIMIT_ALARM 日志采集配置目录中的文件数超限。 检查采集配置目录是否有较多的文件和子目录,合理设置监控的根目录和目录最大监控深度。 DROP_DATA_ALARM 进程退出时日志落盘到本地超时,此时会丢弃未落盘完毕的日志。 该报错通常为采集严重阻塞导致,请参考Logtail配置启动参数修改CPU使用上限或网络发送并发限制,如有疑问请提工单。 INPUT_COLLECT_ALARM 输入源采集异常。 请参考错误提示处理。 HTTP_LOAD_ADDRESS_ALARM http输入的address不合法。 请检查address合法性。 HTTP_COLLECT_ALARM http采集异常。 请根据错误提示排查,一般由于超时导致。 FILTER_INIT_ALARM 过滤器初始化异常。 一般由于过滤器的正则表达式非法导致,请根据提示修复。 INPUT_CANAL_ALARM MySQL binlog运行异常。 请根据错误提示排查。在配置更新时canal服务可能重启,服务重启的错误可以忽略。 CANAL_INVALID_ALARM MySQL binlog内部状态异常。 此错误一般由于运行时表的schema信息变更导致meta不一致,请确认报错期间是否在修改表的schema。其他情况请提工单。 MYSQL_INIT_ALARM MySQL初始化异常。 请参考错误提示处理。 MYSQL_CHECKPOING_ALARM MySQL checkpoint格式异常。 请确认是否修改该配置中的checkpoint相关配置,其他情况请提工单。 MYSQL_TIMEOUT_ALARM MySQL查询超时。 请确认MySQL服务器和网络是否异常。 MYSQL_PARSE_ALARM MySQL查询结果解析失败。 请确认MySQL配置的checkpoint格式是否匹配对应字段的格式。 AGGREGATOR_ADD_ALARM 向队列中添加数据失败。 这种情况是由于数据发送过快,若真实数据量很大,则无需关心。 ANCHOR_FIND_ALARM anchor插件错误、配置错误或存在不符合配置的日志。 请单击错误查看详细报错,报错根据内容分为以下几类,请根据详细报错中的信息,检查相应的配置是否存在问题。 anchor cannot find key:配置中指定了SourceKey但日志中不存在对应的字段。 anchor no start:无法从SourceKey的值中找到Start对应的内容。 anchor no stop:无法从 SourceKey 的值中找到Stop对应的内容。 ANCHOR_JSON_ALARM anchor插件错误,对已配置的Start和Stop所确定的内容执行JSON展开时发生错误。 请单击错误查看详细报错,检查所处理的内容以及相关的配置,确定是否有配置错误或不合法日志。 CANAL_RUNTIME_ALARM binlog插件运行时错误。 请单击错误查看详细报错,根据错误信息进行进一步地排查,错误一般与所连接的MySQL master相关。 CHECKPOINT_INVALID_ALARM 插件内Checkpoint解析失败。 请单击错误查看详细报错,根据其中的检查点键、检查点内容(前 1024 个字节)以及具体的错误信息进行进一步排查。 DIR_EXCEED_LIMIT_ALARM Logtail同时监听的目录数超出限制。 检查当前Logstore的采集配置以及该Logtail上应用的其他配置是否会包含较多的目录数,合理设置监控的根目录和目录最大监控深度。 DOCKER_FILE_MAPPING_ALARM 执行Logtail命令添加Docker文件映射失败。 请单击错误查看详细报错,根据其中的命令以及具体的错误信息进行进一步排查。 DOCKER_FILE_MATCH_ALARM 无法在Docker容器中查找到指定文件。 请单击错误查看详细报错,根据其中的容器信息以及查找的文件路径进行进一步排查。 DOCKER_REGEX_COMPILE_ALARM docker stdout插件错误,根据配置中的BeginLineRegex构建正则表达式失败。 请单击错误查看详细报错,检查其中的正则表达式是否正确。 DOCKER_STDOUT_INIT_ALARM docker stdout采集初始化失败。 请单击错误查看详细报错,报错根据内容分为以下几类: host...version...error:请检查配置中指定的Docker engine是否可访问。 load checkpoint error:加载检查点失败,如无影响可忽略此错误。 container...:指定容器存在非法label值,目前仅允许配置stdout和stderr。请结合详细错误进行检查。 DOCKER_STDOUT_START_ALARM Docker stdout初始化采集时,stdout文件大小超过限制。 一般由于首次采集时stdout文件已存在,可忽略。 DOCKER_STDOUT_STAT_ALARM Docker stdout无法检查到stdout文件。 一般由于容器退出时无法访问到文件,可忽略。 FILE_READER_EXCEED_ALARM Logtail同时打开的文件对象数量超过限制。 一般由于当前处于采集状态的文件数过多,请检查采集配置是否合理。 GEOIP_ALARM geoip插件错误。 请单击错误查看详细报错,报错根据内容分为以下几类: invalid ip...:获取IP地址失败,请检查配置中的 SourceKey 是否正确或是否存在不合法日志。 parse ip...:根据IP地址解析城市失败,请查看详细错误信息进行排查。 cannot find key...:无法从日志中查看到指定的SourceKey,请检查配置是否正确或是否存在不合法日志。 HTTP_INIT_ALARM http插件错误,配置中指定的ResponseStringMatch正则表达式编译错误。 请单击错误查看详细报错,检查其中的正则表达式是否正确。 HTTP_PARSE_ALARM http插件错误,获取HTTP响应失败。 请单击错误查看详细报错,根据其中的具体错误信息对配置内容或所请求的HTTP服务器进行检查。 INIT_CHECKPOINT_ALARM binlog插件错误,加载检查点失败,插件将忽略检查点并从头开始处理。 请单击错误查看详细报错,根据其中的具体错误信息来确定是否可忽略此错误。 LOAD_LOCAL_EVENT_ALARM Logtail执行了本地事件处理。 此警告一般不会出现,如果非人为操作引起此警告,才需要进行错误排查。请单击错误查看详细报错,根据其中的文件名、配置名、project、logstore等信息进行进一步地排查。 LOG_REGEX_FIND_ALARM processor_split_log_regex以及 processor_split_log_string插件错误,无法从日志中获取到配置中指定的 SplitKey。 请单击错误查看详细报错,检查是否存在配置错误的情况。 LUMBER_CONNECTION_ALARM service_lumberjack插件错误,停止插件时关闭服务器错误。 请单击错误查看详细报错,根据其中的具体错误信息进行进一步排查,此错误一般可忽略。 LUMBER_LISTEN_ALARM service_lumberjack插件错误,初始化进行监听时发生错误。 请单击错误查看详细报错,报错根据内容分为以下几类: init tls error...:请结合具体的错误信息检查 TLS 相关的配置是否正确 listen init error...:请结合具体的错误信息检查地址相关的配置是否正确。 LZ4_COMPRESS_FAIL_ALARM Logtail执行LZ4压缩发生错误。 请单击错误查看详细报错,根据其中的log lines、project、category、region等值来进行进一步排查。 MYSQL_CHECKPOINT_ALARM MySQL插件错误,检查点相关错误。 请单击错误查看详细报错,报错根据内容分为以下几类: init checkpoint error...:初始化检查点失败,请根据错误信息检查配置指定的检查点列以及所获取的值是否正确。 not matched checkpoint...:检查点信息不匹配,请根据错误信息检查是否是由于配置更新等人为原因导致的错误,如果是则可忽略。 NGINX_STATUS_COLLECT_ALARM nginx_status插件错误,获取状态发生错误。 请单击错误查看详细报错,根据其中的URL以及具体的错误信息来进行进一步排查。 NGINX_STATUS_INIT_ALARM nginx_status插件错误,初始化解析配置中指定的URL失败。 请单击错误查看详细报错,根据其中的URL检查地址是否正确配置。 OPEN_FILE_LIMIT_ALARM Logtail已打开文件数量超过限制,无法打开新的文件。 请单击错误查看详细报错,根据其中的日志文件路径、Project、Logstore等信息进行进一步排查。 OPEN_LOGFILE_FAIL_ALARM Logtail打开文件出错。 请单击错误查看详细报错,根据其中的日志文件路径、Project、Logstore等信息进行进一步排查。 PARSE_DOCKER_LINE_ALARM service_docker_stdout插件错误,解析日志失败。 请单击错误查看详细报错,报错根据内容分为以下几类: parse docker line error: empty line:日志为空。 parse json docker line error...:以JSON格式解析日志失败,请根据错误信息以及日志的前512个字节进行排查。 parse cri docker line error...:以CRI格式解析日志失败,请根据错误信息以及日志的前512个字节进行排查。 PLUGIN_ALARM 插件初始化及相关调用发生错误。 请单击错误查看详细报错,报错根据内容分为以下几类,请根据具体的错误信息进行进一步排查。 init plugin error...:初始化插件失败。 hold on error...:暂停插件运行失败。 resume error...:恢复插件运行失败。 start service error...:启动 service input类型的插件失败。 stop service error...:停止 service input类型的插件失败。 PROCESSOR_INIT_ALARM regex插件错误,编译配置中指定的Regex正则表达式失败。 请单击错误查看详细报错,检查其中的正则表达式是否正确。 PROCESS_TOO_SLOW_ALARM Logtail日志解析速度过慢。 单击错误查看详细报错,根据其中的日志数量、缓冲区大小、解析时间来确定是否正常。 如果不正常,检查Logtail所在节点是否有其他进程占用了过多的CPU资源或是存在效率较低的正则表达式等不合理的解析配置。 REDIS_PARSE_ADDRESS_ALARM redis插件错误,配置中提供的ServerUrls存在解析失败的情况。 请单击错误查看详细报错,对其中报错的URL进行检查。 REGEX_FIND_ALARM regex 插件错误,无法从日志中找到配置中SourceKey指定的字段。 请单击错误查看详细报错,检查是否存在SourceKey配置错误或日志不合法的情况。 REGEX_UNMATCHED_ALARM regex插件错误,匹配失败。 请单击错误查看详细报错,报错根据内容分为以下几类,请根据具体的错误信息进行进一步地排查,例如检查配置是否正确。 unmatch this log content...:日志无法匹配配置中的正则表达式 match result count less...:匹配的结果数量少于配置中指定的 Keys 数量。 SAME_CONFIG_ALARM 同一个Logstore下存在同名的配置,后发现的配置会被抛弃。 请单击错误查看详细报错,根据其中的配置路径等信息排查是否存在配置错误的情况。 SPLIT_FIND_ALARM split_char以及split_string插件错误,无法从日志中找到配置中SourceKey指定的字段。 请单击错误查看详细报错,检查是否存在SourceKey配置错误或日志不合法的情况。 SPLIT_LOG_ALARM processor_split_char以及processor_split_string插件错误,解析得到的字段数量与SplitKeys中指定的不相同。 请单击错误查看详细报错,检查是否存在SourceKey配置错误或日志不合法的情况。 STAT_FILE_ALARM 插件内通过LogFileReader对象进行文件采集时发生错误。 请单击错误查看详细报错,根据其中的文件路径、错误信息进行进一步排查。 SERVICE_SYSLOG_INIT_ALARM service_syslog插件错误,初始化失败。 请单击错误查看详细报错,检查配置中的Address是否正确。 SERVICE_SYSLOG_STREAM_ALARM service_syslog插件错误,通过TCP采集时发生错误。 请单击错误查看详细报错,报错根据内容分为以下几类,请根据详细报错中的具体错误信息进行排查。 accept error...:执行Accept时发生错误,插件将等待一段时间后重试。 setKeepAlive error...:设置 Keep Alive失败,插件将跳过此错误并继续运行。 connection i/o timeout...:通过TCP读取时超时,插件将重设超时并继续读取。 scan error...:TCP 读取错误,插件将等待一段时间后重试。 SERVICE_SYSLOG_PACKET_ALARM service_syslog插件错误,通过UDP采集时发生错误。 请单击错误查看详细报错,报错根据内容分为以下几类,请根据详细报错中的具体错误信息进行排查。 connection i/o timeout...:通过UDP读取时超时,插件将重设超时并继续读取。 read from error...:UDP读取错误,插件将等待一段时间后重试。
保持可爱mmm 2020-03-26 23:02:18 0 浏览量 回答数 0

问题

iredis 一款python语言撰写支持自动补全、语法高亮、命令提示等的 Redis 命令行客户端

IRedis是具有自动完成功能和语法突出显示功能的redis终端客户端。 IRedis使您可以流畅地键入Redis命令,并以用户友好的格式显示结果。 IRedis是redis-cli的替代方案。在大多数情况下,I...
huc_逆天 2020-05-21 17:19:52 23 浏览量 回答数 1

回答

示例一:参数拼接法 示例二:编程语言法 对于每一次 HTTP 或者 HTTPS 协议请求,我们会根据访问中的签名信息验证访问请求者身份。具体使用 AccessKey 的 AccessKeyId 和 AccessKeySecret 对称加密验证实现。 您的用户名/密码是用于登录消息队列 Kafka 版控制台的身份凭据,与此类似,AccessKey 是用于调用 API 的身份凭据。AccessKey 中的 AccessKeyId 是访问者身份,AccessKeySecret 是加密签名字符串和服务器端验证签名字符串的密钥,必须严格保密谨防泄露。 说明 消息队列 Kafka 版提供了多种编程语言的 SDK,可以免去您签名的烦恼。更多详情,请下载 SDK。 步骤一:构造规范化请求字符串 排序参数。排序规则以首字母顺序排序,排序参数包括公共请求参数和接口自定义参数,不包括公共请求参数中的 Signature 参数。 编码参数。使用 UTF-8 字符集按照 RFC3986 规则编码请求参数和参数取值,编码规则如下: 字符 A~Z、a~z、0~9 以及字符 ”-“、“_”、“.”、“~” 不编码。 其它字符编码成 %XY 的格式,其中 XY 是字符对应 ASCII 码的 16 进制。示例:半角双引号(")对应 %22。 扩展的 UTF-8 字符,编码成 %XY%ZA… 的格式。 空格( )编码成 %20,而不是加号(+)。 该编码方式与 application/x-www-form-urlencoded MIME 格式编码算法相似,但又有所不同。 如果您使用的是 Java 标准库中的 java.net.URLEncoder,可以先用标准库中 percentEncode 编码,随后将编码后的字符中加号(+)替换为 %20、星号(*)替换为 %2A、%7E 替换为波浪号(~),即可得到上述规则描述的编码字符串。示例如下: private static final String ENCODING = "UTF-8"; private static String percentEncode(String value) throws UnsupportedEncodingException { return value != null ? URLEncoder.encode(value, ENCODING).replace("+", "%20").replace("*", "%2A").replace("%7E", "~") : null; } 使用等号(=)连接编码后的请求参数和参数取值。 使用与号(&)连接编码后的请求参数,注意参数排序与步骤 1 一致。 现在,您得到了规范化请求字符串(CanonicalizedQueryString),其结构遵循请求结构。 步骤二:构造签名字符串 构造待签名字符串 StringToSign。您可以同样使用 percentEncode 处理上一步构造的规范化请求字符串,规则如下: StringToSign= HTTPMethod + "&" + //HTTPMethod:发送请求的 HTTP 方法,例如 POST。 percentEncode("/") + "&" + //percentEncode("/"):字符(/)UTF-8 编码得到的值,即 %2F。 percentEncode(CanonicalizedQueryString) //您的规范化请求字符串。 按照 RFC2104 的定义,计算待签名字符串 StringToSign 的 HMAC-SHA1 值。示例使用的是 Java Base64 编码方法。 Signature = Base64( HMAC-SHA1( AccessSecret, UTF-8-Encoding-Of(StringToSign) ) ) 说明 计算签名时,RFC2104 规定的 Key 值是您的 AccessKeySecret 并加上与号(&),其 ASCII 值为 38。 添加根据 RFC3986 规则编码后的参数 Signature 到规范化请求字符串URL中。 示例一:参数拼接法 以调用 GetInstanceList 获取实例列表为例。假设您获得了 AccessKeyID=testid 以及 AccessKeySecret=testsecret,签名流程如下所示: 构造规范化请求字符串。 http://alikafka.%s.aliyuncs.com/?Timestamp=2016-02-23T12:46:24Z&Format=XML&AccessKeyId=testid&Action=GetInstanceList&SignatureMethod=HMAC-SHA1&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf&Version=2014-05-26&SignatureVersion=1.0 构造待签名字符串 StringToSign。 POST&%2F&AccessKeyId%3Dtestid&Action%3DGetInstanceList&Format%3DXML&SignatureMethod%3DHMAC-SHA1&SignatureNonce%3D3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf&SignatureVersion%3D1.0&Timestamp%3D2016-02-23T12%253A46%253A24Z&Version%3D2014-05-26 计算签名值。因为 AccessKeySecret=testsecret,用于计算的 Key 为 testsecret&,计算得到的签名值为 OLeaidS1JvxuMvnyHOwuJ+uX5qY=。示例使用的是 Java Base64 编码方法。 Signature = Base64( HMAC-SHA1( AccessSecret, UTF-8-Encoding-Of(StringToSign) ) ) 添加 RFC3986 规则编码后的 Signature=OLeaidS1JvxuMvnyHOwuJ%2BuX5qY%3D 到步骤 1 的 URL 中。 http://alikafka.%s.aliyuncs.com/?SignatureVersion=1.0&Action=GetInstanceList&Format=JSON&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf&Version=2014-05-26&AccessKeyId=testid&Signature=OLeaidS1JvxuMvnyHOwuJ%2BuX5qY%3D&SignatureMethod=HMAC-SHA1&Timestamp=2016-02-23T12%253A46%253A24Z 通过以上 URL,您可以使用浏览器、curl 或者 wget 等工具发起 HTTP 请求调用 GetInstanceList,查询指定地域的实例信息。 示例二:编程语言法 依然以调用 GetInstanceList 获取实例列表为例。假设您获得了 AccessKeyID=testid 以及 AccessKeySecret=testsecret,并且假定所有请求参数放在一个 Java Map<String, String> 对象里。 预定义编码方法。 private static final String ENCODING = "UTF-8"; private static String percentEncode(String value) throws UnsupportedEncodingException { return value != null ? URLEncoder.encode(value, ENCODING).replace("+", "%20").replace("*", "%2A").replace("%7E", "~") : null; } 预定义编码时间格式 Timestamp。参数 Timestamp 必须符合 ISO8601 规范,并需要使用 UTC 时间,时区为 +0。 private static final String ISO8601_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'"; private static String formatIso8601Date(Date date) { SimpleDateFormat df = new SimpleDateFormat(ISO8601_DATE_FORMAT); df.setTimeZone(new SimpleTimeZone(0, "GMT")); return df.format(date); } 构造请求字符串。 final String HTTP_METHOD = "POST"; Map parameters = new HashMap(); // 输入请求参数 parameters.put("Action", "GetInstanceList"); parameters.put("Version", "2014-05-26"); parameters.put("AccessKeyId", "testid"); parameters.put("Timestamp", formatIso8601Date(new Date())); parameters.put("SignatureMethod", "HMAC-SHA1"); parameters.put("SignatureVersion", "1.0"); parameters.put("SignatureNonce", UUID.randomUUID().toString()); parameters.put("Format", "JSON"); // 排序请求参数 String[] sortedKeys = parameters.keySet().toArray(new String[]{}); Arrays.sort(sortedKeys); final String SEPARATOR = "&"; // 构造 stringToSign 字符串 StringBuilder stringToSign = new StringBuilder(); stringToSign.append(HTTP_METHOD).append(SEPARATOR); stringToSign.append(percentEncode("/")).append(SEPARATOR); StringBuilder canonicalizedQueryString = new StringBuilder(); for(String key : sortedKeys) { // 这里注意编码 key 和 value canonicalizedQueryString.append("&") .append(percentEncode(key)).append("=") .append(percentEncode(parameters.get(key))); } // 这里注意编码 canonicalizedQueryString stringToSign.append(percentEncode( canonicalizedQueryString.toString().substring(1))); 签名。因为 AccessKeySecret=testsecret,所以用于计算 HMAC 的 Key 为 testsecret&,计算得到的签名值为 OLeaidS1JvxuMvnyHOwuJ%2BuX5qY%3D。 // 以下是一段计算签名的示例代码 final String ALGORITHM = "HmacSHA1"; final String ENCODING = "UTF-8"; key = "testsecret&"; Mac mac = Mac.getInstance(ALGORITHM); mac.init(new SecretKeySpec(key.getBytes(ENCODING), ALGORITHM)); byte[] signData = mac.doFinal(stringToSign.getBytes(ENCODING)); String signature = new String(Base64.encodeBase64(signData));
保持可爱mmm 2020-03-28 17:57:59 0 浏览量 回答数 0

问题

词表管理API是什么?

关键词管理接口文档 1、 创建关键词词表 1.1 地址 协议URL方法HTTPShttps://nlsapi.aliyun.com/asr/custom/keyword_listsPOST 1.2 请求 bo...
nicenelly 2019-12-01 21:01:37 1102 浏览量 回答数 0

问题

Docker 容器健康检查机制

在分布式系统中,经常需要利用健康检查机制来检查服务的可用性,防止其他服务调用时出现异常。自 1.12 版本之后,Docker 引入了原生的健康检查实现。本文将介绍 Docker 容器健康检查机制&#...
反向一觉 2019-12-01 21:23:16 1877 浏览量 回答数 0

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT