آموزش مانیتور سیستم رزبری پای با InfluxDB Telegraf

این راهنما نشان میدهد چگونه سیستم Raspberry Pi خود را با استفاده از InfluxDB Telegraf مانیتور کنید. شما میتوانید متریکهای مختلفی از برد Raspberry Pi جمعآوری کنید (مانند CPU usage، memory usage، disk usage، system load، دمای CPU و GPU و سایر دادههای مفید) و سیستم را از طریق InfluxDB Telegraf پایش نمایید. Telegraf عامل جمعآوری داده متعلق به InfluxData است که برای جمعآوری و گزارش متریکها استفاده میشود.
قبل از ادامه، باید InfluxDB را روی Raspberry Pi خود نصب کرده باشید. آموزش زیر را دنبال کنید:
قالب مانیتورینگ رزبری پای
یک قالب (Template) در InfluxDB وجود دارد که میتوان از آن برای مانیتورینگ سیستم لینوکس Raspberry Pi استفاده کرد. قالب InfluxDB مجموعهای از تنظیمات از پیش پیکربندیشده است که شامل داشبوردها، تنظیمات Telegraf، اعلانها و هشدارها میشود.
Templates زمان راهاندازی را کاهش میدهند زیرا منابع از قبل متناسب با سناریوی شما پیکربندی شدهاند. در این مورد، مجموعهای از تنظیمات آماده برای مانیتورینگ Raspberry Pi در اختیار خواهید داشت. برای آشنایی بیشتر با قالبهای InfluxDB میتوانید به لینک زیر مراجعه کنید:
https://docs.influxdata.com/influxdb/v2.3/influxdb-templates/
در این راهنما از قالب Raspberry Pi Monitoring استفاده میکنیم که شامل موارد زیر است:
- one bucket: rasp-pi (7d retention)
- labels: raspberry-pi + Telegraf plugin labels
- Diskio input plugin
- Mem input plugin
- Net input plugin
- Processes input plugin
- Swap input plugin
- System input plugin
- one Telegraf configuration
- one dashboard: Raspberry Pi System
- two variables: bucket and linux_host
برای نصب قالب Raspberry Pi Monitoring دستورالعملهای زیر را دنبال کنید.
دریافت توکن InfluxDB
برای نصب قالب Raspberry Pi Monitoring با استفاده از Influx CLI (رابط خط فرمان)، باید یک InfluxDB token دریافت کنید.
به رابط کاربری InfluxDB خود مراجعه کنید:
http://Your_RPi_IP_address:8086
پس از ورود به InfluxDB، در نوار کناری سمت چپ روی Data/Load Data کلیک کنید و سپس تب API Tokens را انتخاب نمایید. روی + Generate API Token کلیک کنید تا یک API Token جدید ایجاد شود. در اینجا یک All Access API Token ایجاد میکنیم.

برای API Token یک توضیح وارد کنید (برای مثال Raspberry-Pi).

پس از آن، API Token را در مکانی امن ذخیره کنید. زیرا دیگر امکان مشاهده مجدد آن وجود نخواهد داشت.

API Token جدید باید در لیست توکنهای API نمایش داده شود.

نصب Influx CLI
Influx CLI رابط خط فرمان InfluxDB است که شامل دستوراتی برای مدیریت بخشهای مختلف InfluxDB از جمله bucketها، سازمانها، کاربران، وظایف و موارد دیگر میباشد. این ابزار معمولاً هنگام نصب InfluxDB بهصورت خودکار نصب میشود.
برای جلوگیری از وارد کردن مکرر host، API token و organization در هر دستور، میتوانید آنها را در یک پیکربندی influx CLI (config) ذخیره کنید. برای این کار باید از دستور influx config create استفاده کرده و اطلاعات خود را وارد نمایید.
ابتدا دستور زیر را با اطلاعات خود ویرایش کنید:
influx config create --config-name influx-config \ --host-url http://YOUR_RASPBERRY_PI_IP_ADDRESS:8086 \ --org <your-org> \ --token <your-auth-token> \ --active
- مقدار YOUR_RASPBERRY_PI_IP_ADDRESS را با آدرس IP Raspberry Pi خود جایگزین کنید.
- مقدار را با نام سازمان InfluxDB خود جایگزین کنید.
- مقدار را با API token که در مرحله قبل دریافت کردید جایگزین نمایید.
برای مثال، در سیستم من دستور به شکل زیر است:
influx config create --config-name influx-config \ --host-url http://192.168.1.106:8086 \ --org RNT \ --token v_od_mG--9_srf_OnaaODihPDX34suToP7XEH47v6x77CMxakZaoYHzF7Ec9mLT-CuXXXXXXXXXXXXXXXXXvQCSSw== \ --active
اعمال قالب
اکنون دستور زیر را اجرا کنید تا قالب Raspberry Pi اعمال شود.
influx apply -u https://raw.githubusercontent.com/influxdata/community-templates/master/raspberry-pi/raspberry-pi-system.yml
نصب Telegraf
برای نصب Telegraf، دستورات زیر را به ترتیب اجرا کنید:
wget -q https://repos.influxdata.com/influxdata-archive_compat.key
echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key' | sha256sum -c && cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list
sudo apt-get update && sudo apt-get install telegraf
دستورات کار نمیکنند؟
اگر دستورات فوق اجرا نشدند، احتمالاً به دلیل بهروزرسانی در فرآیند نصب است. در این صورت توصیه میشود به لینک زیر مراجعه کرده و دستورالعمل رسمی را دنبال کنید:
https://portal.influxdata.com/downloads
به بخش Telegraf اسکرول کنید. پلتفرم Ubuntu & Debian را انتخاب نمایید و سپس دستورات ارائهشده را کپی کنید.

اکنون باید متغیرهای محیطی زیر را به محیط Telegraf خود اضافه کنید:
- INFLUX_HOST: آدرس InfluxDB به صورت http://YOUR_RASPBERRY_PI_IP_ADDRESS:8086
- INFLUX_TOKEN: توکن API مربوط به InfluxDB Cloud
- INFLUX_ORG: نام سازمان InfluxDB Cloud شما
برای این کار، دستور زیر را با اطلاعات خود ویرایش کنید:
export INFLUX_HOST=http://YOUR_RASPBERRY_PI_IP_ADDRESS:8086 export INFLUX_TOKEN=YOUR_API_TOKEN export INFLUX_ORG=YOUR_ORG_NAME
برای مثال، در سیستم من دستور به شکل زیر است:
export INFLUX_HOST=http://192.168.1.106:8086 export INFLUX_TOKEN=v_od_mG--9_srf_OnaaODihPDX34suToXXXXXXXXXXP7XEH47v6x export INFLUX_ORG=RNT
سپس این دستورات را روی Raspberry Pi خود اجرا کنید.
اجرای Telegraf
Telegraf را بهصورت یک سرویس اجرا کنید. برای مشاهده دستور دقیق، وارد رابط کاربری InfluxDB شوید و مسیر Data/Load Data > Telegraf را دنبال کنید. روی rpi Setup Instructions کلیک نمایید و دستور مربوط به راهاندازی Telegraf را کپی کنید.

آن دستور را اجرا کنید تا Telegraf شروع به کار کند. باید در پنجره Terminal خروجی مشابهی مشاهده نمایید.

در این مرحله، Telegraf باید در حال جمعآوری دادهها از Raspberry Pi بوده و آنها را به bucket مربوطه در InfluxDB ارسال کند.
داشبرد سیستم مانیتورینگ رزبری پای
اکنون میتوانید سیستم Raspberry Pi خود را از طریق یک Dashboard در InfluxDB مانیتور کنید. در رابط کاربری InfluxDB به مسیر Boards/Dashboards (در نوار کناری سمت چپ) بروید و روی Raspberry Pi System با توضیح “A collection of useful visualizations for monitoring your system stats” کلیک کنید.

با این کار به Raspberry Pi System Dashboard دسترسی خواهید داشت. میتوانید اطلاعات مهمی مانند دمای CPU و GPU، حافظه کل، میزان استفاده از حافظه و سایر متریکهای کاربردی را مشاهده کنید.
اگر هیچ دادهای در داشبورد مشاهده نمیکنید، اطمینان حاصل کنید که bucket صحیح یعنی rasp-pi انتخاب شده باشد و مقدار linux_host برابر raspberrypi باشد.
تبریک میگوییم! شما با موفقیت InfluxDB Telegraf را برای مانیتورینگ سیستم Raspberry Pi خود راهاندازی کردید.
در این راهنمای کوتاه، نحوه استفاده از InfluxDB Telegraf برای جمعآوری دادههای کاربردی از Raspberry Pi و نمایش آنها در یک داشبورد را بررسی کردیم. شما میتوانید CPU usage، memory usage، disk usage، system load، دمای CPU و GPU و سایر دادههای مهم سیستم را بهصورت دقیق پایش نمایید.







