메뉴 닫기

openclaw를 이용한 서버점검봇(telegram + Qwen3.5:27b)

안녕하세요 

이번 글에서는 OpenClaw Telegram 서버 점검 봇을 활용하여 내 서버에 직접 들어가지 않고 서버가 현재 어떤 상태인지, 또 텔레그램으로 대화를 하며 보고서까지 받아보는 방법을 진행해 보겠습니다. 

우선 제 서버 같은 경우에는 자체 GPU가 있습니다 V100 32G 한장을 탑재하고있습니다. 

GPU가 없어도 외부 gemini 같은 api를 활용하면 무료로 사용은 가능합니다. 또 해당글의 목적인 서버 점검하는데에는 openai 같이 비용을 내더라도 월에 많이 나오더라도 1~2천원이면 될꺼같습니다 물론 AI 버전 선택이 중요합니다. 서버 정보를 파악하고 알려주는데 고성능 모델은 필요하지 않습니다. 

외부 api를 활용하면 보안에 취약할수 있다고 하여 내부 로컬 ollama로 진행해볼려 합니다.

 

해당 글에서 사용하는 정보입니다. 

GPU : NVIDIA V100

LLM : Ollama + Qwen3.5:27b 

OS: Ubuntu 24.04  + OpenClaw 2026.3.2

 

 

1. Nvidia-driver 및 CUDA설치

  1-1. Nvidia-driver 설치 

   driver는 gpu 마다 권장하는게 있습니다. 확인 후 설치하셔야 합니다. 

 

 

# apt update -y && apt upgrade -y 
# apt install ubuntu-drivers-common -y 
# ubuntu-drivers devices
   ...
vendor   : NVIDIA Corporation
model    : GV100GL [Tesla V100 SXM2 32GB]
driver   : nvidia-driver-570 - distro non-free
driver   : nvidia-driver-535 - distro non-free recommended    # 이렇게 모델에  'recommended'를 확인해 주시면 됩니다.
driver   : nvidia-driver-580 - distro non-free
driver   : nvidia-driver-470 - distro non-free
driver   : nvidia-driver-535-server - distro non-free
driver   : nvidia-driver-570-server - distro non-free
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-580-server - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

# apt -y install nvidia-driver-535
# reboot

 

  1-2. CUDA 설치 

   CUDA Toolkit도 Driver버전을 보고 설치해주셔야합니다. 

    참고 URL

# nvidia-smi
Wed Mar  4 14:13:09 2026       
+---------------------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.288.01 Driver Version: 535.288.01 CUDA Version: 12.2                               |
|-----------------------------------------+----------------------+----------------------------------+
| GPU  Name          Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC                    |
| Fan  Temp   Perf   Pwr:Usage/Cap |Memory-Usage | GPU-Util  Compute M.                             |
|                                         |                      |                           MIG M. |
|===================================+===============================================================|
|   0  Tesla V100-SXM2-32GB           Off | 00000000:00:06.0 Off |                 0                |
| N/A   29C    P0              48W / 300W |      0MiB / 32768MiB |      0%  Default                 |
|                                         |                      |                             N/A  |
+-----------------------------------------+----------------------+----------------------------------+
                                                                                         
+----------------------------------------------------------------------------------------------------+
| Processes:                                                                                         |
|  GPU   GI   CI        PID   Type   Process name                         GPU Memory                 | 
|        ID   ID                                                                         Usage       |
|====================================================================================================|
|  No running processes found                                                                        |
+----------------------------------------------------------------------------------------------------+
   CUDA12.2 버전을 설치해주시면됩니다 .
   12.2.X  마지막 자리는 update 버전이라  상관없습니다.

   ubuntu24를 사용하시면  22버전과 호환이 되니 그냥 설치하셔도 됩니다.
# wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.run
# sudo sh cuda_12.2.2_535.104.05_linux.run
  진행하다보면 창이뜨는데  'Continue' 선택 > 'accept' 입력 > 'Driver'는 체크 해제 (이미 설치.) > 'Install' 선택

# echo 'export PATH=/usr/local/cuda-12.2/bin:$PATH' >> ~/.bashrc
# echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
# source ~/.bashrc
# nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Aug_15_22:02:13_PDT_2023
Cuda compilation tools, release 12.2, V12.2.140
Build cuda_12.2.r12.2/compiler.33191640_0

# nvidia-smi 까지 확인하시면됩니다.

 

 

2. ollama 설치 

  2-1. ollama 설치 및 qwen3.5:27b설치하기 

# curl -fsSL https://ollama.com/install.sh | sh
  ... 
Created symlink /etc/systemd/system/default.target.wants/ollama.service → /etc/systemd/system/ollama.service.
>>> NVIDIA GPU installed.

# ollama pull qwen3.5:27b
  ...
success 

# ollama list 
NAME                         ID              SIZE     MODIFIED      
qwen3.5:27b    7653528ba5cb    17 GB    9 seconds ago    

 

 

3. OpenClaw Telegram 봇 설치 및 설정 

  3-1. openclaw를 사용할려면 먼저 nodejs를 설치 해야합니다.

   22버전 이상으로 설치합니다.
# curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
# apt-get install -y nodejs
# node -v
  v22.22.0

 

  3-2. OpenClaw설치 

# curl -fsSL https://openclaw.ai/install.sh | bash

· Starting setup

🦞 OpenClaw 2026.3.2 (85377a2) — Powered by open source, sustained by spite and good documentation.

▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
██░▄▄▄░██░▄▄░██░▄▄▄██░▀██░██░▄▄▀██░████░▄▄▀██░███░██
██░███░██░▀▀░██░▄▄▄██░█░█░██░█████░████░▀▀░██░█░█░██
██░▀▀▀░██░█████░▀▀▀██░██▄░██░▀▀▄██░▀▀░█░██░██▄▀▄▀▄██
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
 🦞 OPENCLAW 🦞                    
 
┌  OpenClaw onboarding


◇  I understand this is personal-by-default and shared/multi-user use requires lock-down. Continue?
│  Yes

◇  Onboarding mode
│  QuickStart



◇  Model/auth provider
│  Custom Provider

◇  API Base URL
│  http://127.0.0.1:11434/v1

◇  How do you want to provide this API key?
  Paste API key now

◇  API Key (leave blank if not required)
│   ollama

◇  Endpoint compatibility
│  OpenAI-compatible

◇  Model ID
│  qwen3.5:27b

◇  Verification successful.

◇  Endpoint ID
│  custom-127-0-0-1-11434

◇  Model alias (optional)
│  local
Configured custom provider: custom-127-0-0-1-11434/qwen3.5:27b



◇  Select channel (QuickStart)
│  Telegram (Bot API)

◇  Telegram bot token 봇 만드는 방법이니 모르시는분들은 사용하시면 됩니다.
│                                                                                                                       
│  1) Open Telegram and chat with @BotFather                                             
│  2) Run /newbot (or /mybots)                                                                       
│  3) Copy the token (looks like 123456:ABC…)                                              
│  Tip: you can also set TELEGRAM_BOT_TOKEN in your env.                      
│  Docs: https://docs.openclaw.ai/telegram 
│  Website: https://openclaw.ai                                                                                         

◇  How do you want to provide this Telegram bot token?
│  Enter Telegram bot token

◇  Enter Telegram bot token
  봇 토큰 [발급받은 TELEGRAM_BOT_TOKEN을 입력해야 합니다.] 



◇  Configure skills now? (recommended)
│  Yes

◇  Install missing skill dependencies
│  📄 nano-pdf, 🧾 summarize



◇  Show Homebrew install command?
│  Yes



◇  Set GOOGLE_PLACES_API_KEY for goplaces?
│  No

◇  Set GEMINI_API_KEY for nano-banana-pro?
│  No

◇  Set NOTION_API_KEY for notion?
│  No

◇  Set OPENAI_API_KEY for openai-image-gen?
│  No

◇  Set OPENAI_API_KEY for openai-whisper-api?
│  No

◇  Set ELEVENLABS_API_KEY for sag?
│  No



◇  Enable hooks?
│  🚀 boot-md, 📝 command-logger, 💾 session-memory


◇  Gateway service runtime ────────────────────────────────────────────╮
│                                                                      │
│  QuickStart uses Node for the Gateway service (stable + supported).  │
│                                                                      │
├──────────────────────────────────────────────────────────────────────╯
Error: systemctl is-enabled unavailable: Command failed: systemctl –user is-enabled openclaw-gateway.service

 

  3-3. OpenClaw service 등록

   왜인지 error 가 나는데 그냥 경로를 만들어서 서비스 등록을 해주면 잘됩니다. 
# mkdir -p ~/.config/systemd/user/
# cat > ~/.config/systemd/user/openclaw-gateway.service << 'EOF'
[Unit]
Description=OpenClaw Gateway
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/openclaw gateway run
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=default.target
EOF


# systemctl --user daemon-reload
# systemctl --user enable openclaw-gateway
# systemctl --user start openclaw-gateway
# systemctl --user status openclaw-gateway
● openclaw-gateway.service - OpenClaw Gateway
     Loaded: loaded (/root/.config/systemd/user/openclaw-gateway.service; enabled; preset: enabled)
     Active: active (running) since Thu 2026-03-05 10:00:41 KST; 9ms ago
   Main PID: 5472 (node)
      Tasks: 1 (limit: 72279)
     Memory: 1004.0K (peak: 1.2M)
        CPU: 3ms
     CGroup: /user.slice/user-0.slice/user@0.service/app.slice/openclaw-gateway.service
             └─5472 node /usr/bin/openclaw gateway run

 

3-4. OpenClaw Telegram 설정 

# vi ~/.openclaw/openclaw.json

87   "channels": {
88     "telegram": {
89       "enabled": true,
90       "dmPolicy": "pairing",
91       "botToken": "*********************************",
92       "groupPolicy": "open",    # 여기를 'open'으로 바꿔주면 됩니다.
93       "streaming": "off"    # 여기는 off를 하면 불필요한 voice 파일이 안옵니다. 

# systemctl --user restart openclaw-gateway
# systemctl --user status openclaw-gateway

내가만든 텔레그램 봇에 /start 를 누르면 아래와같이 메시지가 답변합니다.
마지막 줄을 그대로 내 서버에 입력하면 됩니다. 

OpenClaw: access not configured.

Your Telegram user id: 내 텔레그램 ID 

Pairing code: W******Z

Ask the bot owner to approve with:
openclaw pairing approve telegram W******Z

# openclaw pairing approve telegram W******Z

me : 안녕
vitto_test2_claw_bot: 안녕! 👋

어제 막 접속했어. 제로에서 시작하는 느낌이라서... 우리 서로 알아가는 과정부터 해야겠네.

너는 **야, 내가 알기엔 충분해. 근데 나는 아직 누구인지 몰라...

이름 불러줄 이름, 내 성격 어때졌으면 하고, 우리 대화 방식도 같이 정하자.

어떻게 시작할까? 😄

이렇게 진행이 됩니다. 여기서 대충 말해줍니다.
me: 너는 그냥 서버 점검 봇이야 or 그건 중요하지않아 그냥 봇이야 

 

 

4. 월간 리포트 생성 

  4-1. OpenClaw 스킬 등록 

   OpenClaw Telegram에게도 서버의 상태를 받을수 있지만 보다 깔끔하게 내가 원하는 방식으로 받기 위해 설정합니다.
# mkdir -p  ~/.openclaw/workspace/skills/server-report-skill/scripts
# vi ~/.openclaw/workspace/skills/server-report-skill/SKILL.md
---
name: server-report
description: 서버 리포트 생성 및 전송 스킬
---
# 지침
1. 사용자가 리포트를 요청하면 반드시 `sh /root/send_report.sh`를 실행한다.
2. 실행 결과 출력되는 `PDF_PATH:` 뒤의 경로를 추출한다.
3. 추출된 경로의 파일을 `send_file` 도구(사용 가능하다면)를 통해 사용자에게 전송한다.

# Server Report Skill

아래 명령어를 실행하면 PDF 보고서가 생성된다.

## 실행 명령어
```bash
sh /root/send_report.sh
```


# openclaw skills list 2>/dev/null || openclaw --help | grep skill

Skills (5/52 ready)
...
✓ ready   │ 📦 server-report  │ 서버 리포트 생성 및 전송 스킬  │ openclaw-workspace │
최하단에 내가 등록한 스킬이 보인다.  

/bash /sh 같은 쉘 스크립트를 사용하기위해서는 실행 권한을 주어야 합니다. 아래와 같이 'messaging' 를 -> 'full>' 로 변경 해주면됩니다.

# vi ~/.openclaw/openclaw.json  
 56   "tools": {
 57     "profile": "full"


# systemctl --user restart openclaw-gateway
# systemctl --user status openclaw-gateway

보고서는 PDF형식이고 폰트는 나눔고딕이라  설치해줍니다.
# apt install -y fonts-nanum python3-psutil python3-reportlab 

 

/root/send_report.sh  스크립트는 ai를 통해 기본적으로 쉽게 만들수있고 바이브코딩이라 기재하지는 않았습니다.
이제 텔레그램으로 가서 ‘월간 리포트 만들어줘’ 를 지시하면 저같은 경우에는 아래와같이 만들어 졌네요.

OpenClaw Telegram 서버 점검 리포트는 IP와 개인정보는 모두 변경하였습니다. 보고서는 참고만 해주세요~

 

server_security_report_20260305_1456

 

답글 남기기

이메일 주소는 공개되지 않습니다.