IBM Cloud 雲監控 - Linux雲主機自動化部署Sysdig Agent

提到Sysdig你們會想到市面比較主流的監控軟件Grafana(跨平臺的可視化日誌分析和監控工具)、Kibana(ELK堆棧的一部分,用於數據分析和日誌監視)、Prometheus(容器部署整個技術棧,開源的自主託管監控方案),基於不一樣的監控對象和應用規模,它們都有各自不一樣的特色和優點。python

今天咱們要介紹的是IBM Cloud的雲監控解決方案Sysdig,雲上的IaaS資源除了傳統的虛擬機實例,一樣也包括容器集羣,雲函數,雲數據庫等PaaS服務。 根據業務和服務具體需求,算力資源可能在全球多個區域部署,那麼對監控平臺的數據採集,日誌彙總、分析和可視化儀表都會有很高的要求。 IBM Cloud選擇Sysdig應該是想借助一套徹底託管的企業級監視服務(客戶無需維護服務系統,上手簡潔方便),統一地管控雲上多樣化資源,並提供面向服務的視圖、全面的指標和強大的預警功能,讓雲監控變得更加高效。
在這裏插入圖片描述
Sysdig常見的監控對象包括雲主機和容器, 在IBM Cloud上雲主機實例包括(經典架構)裸機和虛擬機,VPC虛擬機。 今天小實驗的對象是經典架構下虛擬機的自動化agent部署和監控。
在這裏插入圖片描述
1.建立sysdig託管服務實例
在這裏插入圖片描述
選擇Free tier - Lite 配置,服務建立在哪裏?最好的選擇是離監控資源就近的區域,若是有須要也可嘗試啓用「IBM Platform Metrics」,sysdig服務會自動發現帳戶下的平臺資源和並進行日誌收集(默認是Disable的),最後點擊建立服務
在這裏插入圖片描述
在這裏插入圖片描述
不到兩分鐘,sysdig服務已經上線了
在這裏插入圖片描述
點擊「編輯資源」 ,能夠看到自定義監控資源類型包括k8s、openshift、Linux和Docker, 這裏先看看Linux。
在這裏插入圖片描述
Linux部署sysdig agent很簡單,只需在主機端運行一下命令便可一鍵安裝,雲主機數量很少還好,若是量大,就需藉助運維工具批量執行了。












linux

Sysdig內網服務端點ios

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"

外網服務端點web

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 Playbookshell

這裏我會用本地筆記本里的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測試。ubuntu

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模塊,因此安裝以前有必要判斷操做系統版本,安裝相應模塊,否則很容易失手…
在這裏插入圖片描述
固然,一個簡單的playbook就能夠輕鬆搞定。

centos

---
- 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 !
在這裏插入圖片描述
3. 登錄sysdig web控制檯,檢查監控主機信息

安全

點擊view sysdig登錄web控制面板(SSO)

兩個雲主機都已自動發現 !
在這裏插入圖片描述
定製報警驗證監控是否生效?建立一個metric alert (CPU使用量峯值超過80%)
在這裏插入圖片描述
在這裏插入圖片描述





bash

在其中一臺主機上循環計算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事件欄有警報觸發,說明預警策略徹底啓用!
在這裏插入圖片描述 下一篇咱們繼續分享Sysdig Agent on IBM Cloud k8s的玩法 。

相關文章
相關標籤/搜索