热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

IBMCloud云监控Linux云主机自动化部署SysdigAgent

提到Sysdig大家会想到市面比较主流的监控软件Grafana(


提到Sysdig大家会想到市面比较主流的监控软件Grafana(跨平台的可视化日志分析和监控工具)、Kibana(ELK堆栈的一部分,用于数据分析和日志监视)、Prometheus(容器部署整个技术栈,开源的自主托管监控方案),基于不同的监控对象和应用规模,它们都有各自不同的特点和优势。

今天我们要介绍的是IBM Cloud的云监控解决方案Sysdig,云上的IaaS资源除了传统的虚拟机实例,同样也包括容器集群,云函数,云数据库等PaaS服务。 根据业务和服务具体需求,算力资源可能在全球多个区域部署,那么对监控平台的数据采集,日志汇总、分析和可视化仪表都会有很高的要求。 IBM Cloud选择Sysdig应该是想借助一套完全托管的企业级监视服务(客户无需维护服务系统,上手简洁方便),统一地管控云上多样化资源,并提供面向服务的视图、全面的指标和强大的预警功能,让云监控变得更加高效。

IBM Cloud 云监控 - Linux云主机自动化部署Sysdig Agent - 文章图片

Sysdig常见的监控对象包括云主机和容器, 在IBM Cloud上云主机实例包括(经典架构)裸机和虚拟机,VPC虚拟机。 今天小实验的对象是经典架构下虚拟机的自动化agent部署和监控。

IBM Cloud 云监控 - Linux云主机自动化部署Sysdig Agent - 文章图片

1.创建sysdig托管服务实例

IBM Cloud 云监控 - Linux云主机自动化部署Sysdig Agent - 文章图片

选择Free tier - Lite 配置,服务创建在哪里?最好的选择是离监控资源就近的区域,如果有需要也可尝试启用“IBM Platform Metrics”,sysdig服务会自动发现账户下的平台资源和并进行日志收集(默认是Disable的),最后点击创建服务

IBM Cloud 云监控 - Linux云主机自动化部署Sysdig Agent - 文章图片

IBM Cloud 云监控 - Linux云主机自动化部署Sysdig Agent - 文章图片

不到两分钟,sysdig服务已经上线了

IBM Cloud 云监控 - Linux云主机自动化部署Sysdig Agent - 文章图片

点击“编辑资源” ,可以看到自定义监控资源类型包括k8s、openshift、Linux和Docker, 这里先看看Linux。

IBM Cloud 云监控 - Linux云主机自动化部署Sysdig Agent - 文章图片

Linux部署sysdig agent很简单,只需在主机端运行一下命令即可一键安装,云主机数量不多还好,如果量大,就需借助运维工具批量执行了。

Sysdig内网服务端点

curl -sL https://ibm.biz/install-sysdig-agent | sudo bash -s -- -a bf5167d3-642a-442f-a07c-f87831c0c71e -c ingest.private.jp-tok.monitoring.cloud.ibm.com --collector_port 6443 --secure true -ac "sysdig_capture_enabled: false"

外网服务端点

curl -sL https://ibm.biz/install-sysdig-agent | sudo bash -s -- -a bf5167d3-642a-442f-a07c-f87831c0c71e -c ingest.jp-tok.monitoring.cloud.ibm.com --collector_port 6443 --secure true -ac "sysdig_capture_enabled: false"

2.准备监控云主机和Ansible Playbook

这里我会用本地笔记本里的ansible,通过虚拟机外网远程连接执行安装。如果是真实业务场景,选择云上一台运维机器或者堡垒机,透过内网安装最为安全。

danws-MacBook-Pro:playbook danw$ ibmcloud sl vs list -g danw
id hostname domain cpu memory public_ip private_ip datacenter action
104846402 demo-centos6-vsi danwcloud.com 1 2048 128.168.94.228 10.192.58.68 tok04
104841756 demo-ubuntu-vsi danwcloud.com 1 2048 165.192.97.52 10.193.113.182 tok05

编辑ansible hosts,添加目标主机,并执行ping测试。

danws-MacBook-Pro:~ danw$ cat /etc/ansible/hosts
[targets]
128.168.94.228 ansible_cOnnection=ssh ansible_user=root
165.192.97.52 ansible_cOnnection=ssh ansible_user=root
danws-MacBook-Pro:~ danw$ ansible all -m ping
128.168.94.228 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
165.192.97.52 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}

因为sysdig agent(draios)依赖kernel header模块,所以安装之前有必要判断操作系统版本,安装相应模块,不然很容易失手…

IBM Cloud 云监控 - Linux云主机自动化部署Sysdig Agent - 文章图片

当然,一个简单的playbook就可以轻松搞定。

---
- hosts: targets
become: false
user: root
connection: ssh
tasks:
- name: "install kernel header on debian or ubuntu"
shell: apt-get -y install linux-headers-$(uname -r)
when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'
- name: "install kernel header on centos or RHEL"
shell: yum -y install kernel-devel-$(uname -r)
when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux'
- name: "install sysdig agent"
shell: 'curl -sL https://ibm.biz/install-sysdig-agent | sudo bash -s -- -a bf5167d3-642a-442f-a07c-f87831c0c71e -c ingest.private.jp-tok.monitoring.cloud.ibm.com --collector_port 6443 --secure true -ac "sysdig_capture_enabled: false"'

安装pass !

IBM Cloud 云监控 - Linux云主机自动化部署Sysdig Agent - 文章图片

3. 登陆sysdig web控制台,检查监控主机信息

点击view sysdig登陆web控制面板(SSO)

IBM Cloud 云监控 - Linux云主机自动化部署Sysdig Agent - 文章图片

两个云主机都已自动发现 !

IBM Cloud 云监控 - Linux云主机自动化部署Sysdig Agent - 文章图片

定制报警验证监控是否生效?创建一个metric alert (CPU使用量峰值超过80%)

IBM Cloud 云监控 - Linux云主机自动化部署Sysdig Agent - 文章图片

IBM Cloud 云监控 - Linux云主机自动化部署Sysdig Agent - 文章图片

在其中一台主机上循环计算pi,对cpu进行加压

[root@demo-centos6-vsi ~]# for i in `seq 1 1000`; do (time echo "scale=5000; 4*a(1)" | bc -l -q |grep 'real') 2>> pi.log; done

两分钟后sysdig事件栏有警报触发,说明预警策略完全启用!

IBM Cloud 云监控 - Linux云主机自动化部署Sysdig Agent - 文章图片

下一篇我们继续分享Sysdig Agent on IBM Cloud k8s的玩法 。



推荐阅读
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • RTThread线程间通信
    线程中通信在裸机编程中,经常会使用全局变量进行功能间的通信,如某些功能可能由于一些操作而改变全局变量的值,另一个功能对此全局变量进行读取& ... [详细]
  • 面试题总结_2019年全网最热门的123个Java并发面试题总结
    面试题总结_2019年全网最热门的123个Java并发面试题总结 ... [详细]
  • MySQL 8.0 MGR 自动化部署与配置:DBA 和开源工具的高效解决方案
    MySQL 8.0 MGR 自动化部署与配置:DBA 和开源工具的高效解决方案 ... [详细]
  • 这篇文章 | 夕阳下的防火墙命令全解 ... [详细]
  • Envoy 流量分配策略优化
    在本研究中,我们对Envoy的流量分配策略进行了优化,旨在提高系统的稳定性和性能。实验环境包括一个前端代理服务(Envoy,IP地址为172.31.57.10)和五个后端服务。通过调整Envoy的配置,实现了更高效的流量分发和负载均衡,显著提升了整体系统的响应速度和可靠性。 ... [详细]
  • 函子(Functor)是函数式编程中的一个重要概念,它不仅是一个特殊的容器,还提供了一种优雅的方式来处理值和函数。本文将详细介绍函子的基本概念及其在函数式编程中的应用,包括如何通过函子控制副作用、处理异常以及进行异步操作。 ... [详细]
  • 本文详细介绍如何在华为鲲鹏平台上构建和使用适配ARM架构的Redis Docker镜像,解决常见错误并提供优化建议。 ... [详细]
  • 深入理解Java多线程与并发机制
    本文探讨了Java多线程和并发机制的核心概念,包括多线程类的分类、执行器框架、并发容器及控制工具。通过详细解析这些组件,帮助开发者更好地理解和应用多线程技术。 ... [详细]
  • 微服务优雅上下线的最佳实践
    本文介绍了微服务上下线的正确姿势,避免使用 kill -9 等粗暴手段,确保服务的稳定性和可靠性。 ... [详细]
  • 本文探讨了利用Python编程语言开发自动化脚本来实现文件的全量和增量备份方法。通过详细分析不同备份策略的特点,文章介绍了如何使用Python标准库中的os和shutil模块来高效地管理和执行备份任务。此外,还提供了示例代码和最佳实践,帮助读者快速掌握自动化备份技术,确保数据的安全性和完整性。 ... [详细]
  • 从用户转型为开发者:一场思维升级的旅程 | 专访 StarRocks Committer 周威
    从用户转变为开发者,不仅是一次角色的转换,更是一场深刻的思维升级之旅。本次专访中,StarRocks Committer 周威分享了他如何在这一过程中逐步提升技术能力与思维方式,为开源社区贡献自己的力量。 ... [详细]
  • 如何安全有效地强制移除Kubernetes Pod
    在Kubernetes集群管理中,有时需要安全且高效地强制移除Pod以解决故障或进行维护。本文介绍了在遇到难以终止的Pod时,如何通过正确的方法进行强制删除,同时确保不影响集群的稳定性和其他服务的正常运行。通过具体的操作步骤和最佳实践,帮助读者掌握处理此类问题的有效方法。 ... [详细]
  • 前言: 网上搭建k8s的文章很多,但很多都无法按其说明在阿里云ecs服务器成功搭建,所以我就花了些时间基于自己成功搭建k8s的步骤写了个操作手册,希望对想搭建k8s环境的盆友有所帮 ... [详细]
  • Kubernetes_如何在GO语言中使用Kubernetes API?
    本文由编程笔记#小编为大家整理,主要介绍了如何在GO语言中使用KubernetesAPI?相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
海豚青春_407
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有