Go 语言项目开发实战
孔令飞
腾讯云专家工程师,前 Red Hat、联想云工程师
41031 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 61 讲
Go 语言项目开发实战
15
15
1.0x
00:00/00:00
登录|注册

特别放送 | IAM排障指南

添加Debug日志
使用Go调试工具Delve
查看日志
日志报错
功能异常
检查服务状态
问题九:报iam-apiserver.service/opt/iam/bin/iam-apiserver/etc/iam/iam-apiserver.yaml文件不存在
问题八:报No such file or directorycommand not foundpermission denied错误
问题七:创建用户时报错
问题六:执行iamctl user list报错
问题五:访问iam-authz-server的/v1/authz接口报错
问题四:VimIDE使用过程中报错
问题三:遇到xxx: permission denied错误
问题二:安装protoc-gen-go失败
问题一:安装neovim报错
添加Debug日志定位问题
使用Go调试工具Delve
查看日志定位问题
解决问题
定位问题
发现问题
课后练习
总结
IAM常见故障及解决办法
具体排障方法
如何排障?
IAM排障方法
部署和使用IAM中的异常
孔令飞
IAM排障指南
IAM排障指南

该思维导图由 AI 生成,仅供参考

你好,我是孔令飞。
今天我们更新一期特别放送作为加餐。在部署和使用 IAM 的过程中,难免会出现一些异常 (也称为故障、问题)。这时候,就需要我们能够定位故障,并修复故障。这里,我总结了一些 IAM 的排障方法,以及一些常见故障的解决方法,供你参考。

如何排障?

首先,我们需要发现问题,然后定位问题。我们可能需要经过多轮分析排查才能定位到问题的根因,最后去解决问题。排障流程如下图所示:
如果想排查问题并解决问题,你还需要具备这两个基本能力:能够理解错误日志的内容;根据错误日志,找出解决方案。
我们举个例子来说吧。有以下错误:
[going@dev iam]$ mysql -h127.0.0.1 -uroot -p'iam59!z$'
bash: /usr/bin/mysql: 没有那个文件或目录
[going@dev iam]$
对于这个错误,我们首先来理解错误内容:mysql 命令没有找到,说明没有安装 mysql,或者安装 mysql 失败。
那么,我们的解决方案就是重新执行 03 讲 中安装 MariaDB 的步骤:
$ cd $IAM_ROOT
$ ./scripts/install/mariadb.sh iam::mariadb::install
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

IAM排障指南是一篇技术文章,重点介绍了在部署和使用IAM过程中可能出现的异常情况以及排障方法。作者强调了发现问题和定位问题的重要性,提到了需要具备理解错误日志内容和根据错误日志找出解决方案的基本能力。文章通过具体的例子和排障流程,为读者提供了一套完整的排障指南。文章的语言简洁明了,通过具体的例子和流程图,使读者能够快速了解IAM排障的基本原则和方法。对于需要处理IAM相关问题的技术人员来说,这篇文章提供了实用的排障指南,有助于他们快速定位和解决问题。 此外,文章还介绍了使用Go调试工具Delve来定位问题和添加Debug日志定位问题的方法,通过实际代码和步骤展示了如何使用这些工具来解决问题。文章还提供了9个在部署和使用IAM系统时容易遇到的问题,并提供了解决方法。这些问题基本上都是由服务器环境引起的。整篇文章以实际案例和具体步骤为主线,为读者提供了丰富的排障经验和解决问题的思路,对于需要处理IAM相关问题的技术人员具有很高的实用价值。 总之,IAM排障指南通过清晰的语言和实用的案例,为读者提供了全面的排障指南,帮助技术人员快速定位和解决IAM相关问题,是一篇值得阅读和参考的技术文章。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Go 语言项目开发实战》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(4)

  • 最新
  • 精选
  • 随风而过
    借助前面讲过的日志工具辅助快速定位,token为空这个是最常见的错误,生成token的重要信息显示日志,为空的情况做一些处理,禁止token 值为空

    作者回复: $ token=`curl -s -XPOST -H'Content-Type: application/json' -d'{"username":"admin","password":"Admin@2021"}' http://127.0.0.1:8080/login | jq -r .token` $ echo $token 1. token为空,是因为jq -r .token这个命令输出为空,接着要判断为啥jq -r .token输出为空 2. 很可能是因为curl命令返回报错,导致标准输出输出的内容为空,从而导致jq -r .token值为空 3. 所以去掉| jq -r .token 看看curl命令到底返回什么信息。大概率是返回了错误的信息。

    2021-09-22
    2
  • helloworld
    文中提到添加已存在用户导致的500错误db error,个人认为用户已存在这种是否应该加一层校验,返回400错误,直接提示用户已存在信息

    作者回复: 是的,我记个todo,后面优化下

    2021-11-14
    1
  • 文武木子
    systemtcl和supervisor哪个好点,我们公司运维都用supervisor管理部署发布的应用进程

    作者回复: 都可以,根据需要选择即可。腾讯哪个都有用

    2021-10-19
    1
  • lesserror
    多谢老师,这些排障技巧在日常开发中也很用。

    作者回复: 感觉老哥支持!

    2021-09-18
    1
收起评论
显示
设置
留言
4
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部